· KLDP.org · KLDP.net · KLDP Wiki · KLDP BBS ·
GentooX86 Handbook_Ko_1-3

1. 네트워크 설정

1.1. 자동 네트워크 감지

1.1.1. 이게 바로 동작할까요?

만약 시스템이 DHCP서버와 함께 이더넷 네트워크로 연결되었다면, 네트워크 설정은 이미 자동으로 된거나 마찬가집니다. 만약 그렇다면 ssh나 scp, ping, irssi, wget, links 등등의 설치CD 상에 들어있는 네트워크 지향 명령을 사용함에 있어 잇점을 가질 수 있습니다.

네트워크가 이미 설정되었다면 /sbin/ifconfig 명령을 통해서 lo 위에 나타나는... eth0과 같은 일부 네트워크 인터페이스를 나열해볼 수 있습니다.

예제 1-1 : 네트워크 설정을 하기 위한 /sbin/ifconfig의 실행 화면
# /sbin/ifconfig
(...)
eth0      Link encap:Ethernet  HWaddr 00:50:BA:8F:61:7A
          inet addr:192.168.0.2  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::50:ba8f:617a/10 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1498792 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1284980 errors:0 dropped:0 overruns:0 carrier:0
          collisions:1984 txqueuelen:100
          RX bytes:485691215 (463.1 Mb)  TX bytes:123951388 (118.2 Mb)
          Interrupt:11 Base address:0xe800 

1.1.2. 선택사항 : 프록시 설정

프록시를 통해 인터넷에 접근하려면 설치과정에서 프록시 정보를 설정해야 합니다. 프록시를 설정하는것은 굉장히 쉽습니다. 단지 프록시 서버 정보가 들어있는 변수를 정의해주기만 하면 됩니다.

대부분의 경우에는, 서버 호스트네임을 사용하여 변수를 정의할 수 있습니다. 아래와 같은 경우에 우리는 proxy.gentoo.org라는 프록시 서버에 포트번호가 8080이 할당되었다고 가정하겠습니다.

예제 1-2 : 프록시 서버 정의
(If the proxy filters HTTP traffic)
# export http_proxy="http://proxy.gentoo.org:8080"
(If the proxy filters FTP traffic)
# export ftp_proxy="ftp://proxy.gentoo.org:8080"
(If the proxy filters RSYNC traffic)
# export RSYNC_PROXY="proxy.gentoo.org:8080"

만약 프록시가 사용자 이름과 암호를 요구한다면 변수를 위해 다음과 같은 형식의 값을 적용할 수 있습니다.

예제 1-3 : 프록시 변수에 사용자이름/암호 추가
http://username:password@proxy.gentoo.org:8080

1.1.3. 네트워크 시험

아마 인터넷 서비스 업체의 DNS 서버로 핑을 시도해보려 할 것이고 (DNS서버 정보는 /etc/resolv.conf 에서 찾을 수 있습니다) 선택한 웹사이트로 네트워크를 통해 패킷이 도달하는지 확인하여 DNS 네임 레졸루션이 제대로 동작하는지 등등을 볼 것입니다.

예제 1-4 : 추가적 네트워크 시험
# ping -c 3 www.gentoo.org

만약에 이 시점에서 네트워크가 사용가능하다면 이 섹션의 나머지를 건너뛰고 [http]디스크 준비 편으로 계속 진행할 수 있습니다. 그렇지 않다면 계속 읽어내려가세요.

1.2. 자동 네트워크 설정

네트워크가 바로 동작하는 것이 아니라면 어떤 설치 매체의 경우 net-setup(일반 연결이나 무선이더넷), pppoe-setup (ADSL 사용자에 한해) 또는 pptp (PPTP통신망 사용자들 - x86, amd64, alpha, ppc, ppc64 아키텍처에서 사용할 수 있습니다.)를 쓸 수 있게 합니다.

설치 수단에 아래와 같은 기능이 없다면 수동 네트워크 설정으로 계속 넘어가시기 바랍니다.

  • 일반적인 이더넷 사용자들은 net-setup을 사용하여 계속할 것입니다.
  • ADSL사용자들은 PPP를 대신 사용하여 계속할 것입니다.
  • PPTP사용자들은 PPTP를 대신 사용하여 계속할 것입니다.

1.2.1. 기본 : net-setup

자동으로 설정되지 않았을 경우 네트워크를 설정하는데 가장 간단한 방법은 net-setup 스크립트를 실행하는 것입니다.

예제 2-1 : net-setup스크립트 실행
# net-setup eth0

net-setup은 네트워크 환경에 대해 몇가지 질문을 할 것입니다. 다 되었으면 네트워크 연결이 동작할 것입니다. 확신이 서기 전에는 네트워크 연결을 시험해봅니다. 시험 결과가 긍정적이라면 축하할만한 일이죠! 젠투를 설치할 준비가 된 것입니다. 이 장의 나머지 부분을 건너뛰고 [http]디스크 준비 섹션으로 넘어가셔도 됩니다.

그래도 네트워크가 여전히 동작하는것이 아니라면 [http]수동 네트워크 설정으로 넘어가시기 바랍니다.

1.2.2. 대안책 : PPP 사용하기

PPPoE를 사용한 인터넷 연결에는 설치시디 (어떤 버전이든지!) 에 들어있는 ppp를 통해 설정을 쉽게 할 수 있습니다. 제공된 pppoe-setup스크립트로 연결을 설정합니다. 사용자이름과 암호, 기본 방화벽이 필요한지 아닌지, 서비스 제공업체의 DNS서버 에 대해 adsl모뎀에 연결된 이더넷 디바이스를 위한 모종의 질문에 대해 입력힐 것입니다.

예제 2-2 : PPP 사용하기
# pppoe-setup
# pppoe-start

뭔가가 잘못되었다면 사용자 이름과 암호를 /etc/ppp/pap-secrets/etc/ppp/chap-secrets를 통해 다시 확인해보시고 올바른 이더넷 디바이스를 사용하고 있는지 살펴보기 바랍니다. 만약 이더넷 디바이스가 존재하지 않는다면, 그에 맞는 적절한 네트워크 모듈을 로드해야 할 것입니다. 이런 경우 [http]수동 네트워크 설정 으로 넘어가셔서 네트워크 모듈을 어떻게 로드하는지 우리가 설명한 부분을 보셔야 할 것입니다.

이제 모든것이 동작한다면 [http]디스크 준비 로 넘어가셔도 좋습니다.

1.2.3. 대안책 : PPTP 사용하기

만약 PPTP 지원이 필요하다면 설치 시디에서 제공하는 pptpclient를 사용할 수 있습니다. 그러나 일단 먼저 필요한 것은 설정사항이 올바른가 확인하는 것입니다. /etc/ppp/pap-secrets/etc/ppp/chap-secrets를 편집해서 사용자 이름과 암호의 조합을 적절히 수정합니다

예제 2-3 : /etc/ppp/chap-secrets 편집
# nano -w /etc/ppp/chap-secrets

필요한경우 /etc/ppp/options.pptp 의 내용을 수정합니다.

예제 2-4 : /etc/ppp/options.pptp 편집
# nano -w /etc/ppp/options.pptp

모든것이 다 되었다면, 단지 pptp를 실행하여 (options.pptp에 있는 옵션이 따라올 수는 없습니다) to connect the server: 서버로 접속해봅니다.

예제 2-5 : 다이얼-인 서버에 접속하기
# pptp <server ip>

이제 [http]디스크 준비로 넘어가셔도 좋습니다.

1.3. 수동 네트워크 설정

1.3.1. 적당한 네트워크 모듈 로드하기

설치 CD로 부팅할때, 모든 하드웨어 장치를 인식하려 할 것이고 그에 대해 지원되는 하드웨어에 대한 적당한 커널 모듈 (드라이버) 을 로드할 것입니다. 대부분의 경우에는 잘 됩니다. 그러나 어떤 경우에는 필요한 커널 모듈을 자동으로 로드하지 못할 지도 모릅니다.

net-setup이나 pppoe-setup 을 실패했을 경우, 네트워크 카드를 즉시 찾지 못했을 가능성이 있습니다. 이는 직접 이에 적당한 커널 모듈을 로드할 필요가 있다는 것을 의미합니다.

네트워크를 사용하기 위해 우리가 제공하는 커널 모듈을 찾으려면 ls 명령을 사용합니다.

예제 3-1 : 제공되는 모듈 검색
# ls /lib/modules/`uname -r`/kernel/drivers/net

만약 네트워크 카드에 맞는 드라이버를 찾았을때, modprobe를 사용하여 네트워크 카드에 맞는 커널 모듈을 로드합니다.

예제 3-2 : modprobe를 이용하여 커널 모듈 로드하기
(이 예제에서 우리는 pcnet32모듈을 로드합니다)
# modprobe pcnet32

네트워크 카드가 감지되었는지 확인하기 위해 ifconfig를 사용합니다. 감지된 네트워크 카드는 아마 다음과 같은 결과를 낼 것입니다.

예제 3-3 : 네트워크 카드의 사용 가능성 점검, 성공
# ifconfig eth0
eth0      Link encap:Ethernet  HWaddr FE:FD:00:00:00:00  
          BROADCAST NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

그러나 만약 다음과 같은 에러메세지를 만났다면, 네트워크 카드는 감지된 것이 아닙니다.

예제 3-4 : 네트워크 카드의 사용 가능성 점검, 실패
# ifconfig eth0
eth0: error fetching interface information: Device not found

시스템에 여러개의 네트워크 카드가 붙어있다면 eth0, eth1 등으로 이름이 붙습니다. 사용하려는 네트워크 카드가 잘 동작하는지 확인하고 이 문서를 통해 언급된 대로 올바른 이름을 사용하여야 합니다. 우리는 eth0을 사용하는 것을 가정하겠습니다.

네트워크 카드를 감지했다면, net-setup이나 pppoe-setup을 (네트워크 카드가 동작한다면) 다시 실행해볼 수 있지만, 성격이 까다로운 사람들을 위해 우리가 네트워크를 어떻게 수동으로 잡는지 설명하도록 하겠습니다.

네트워크 설정에 기반하여 다음중 하나의 섹션을 선택하기 바랍니다.

1.3.2. DHCP 사용하기

DHCP (동적 호스트 설정 프로토콜) 은 자동으로 네트워크 정보를 받을 수 있도록 합니다 (IP 주소, 넷마스크, 브로드캐스트 주소, 게이트웨이, 네임 서버 등). 연결할 네트워크상에 DHCP서버가 있는 경우에만 동작합니다 (또는 서비스제공자가 DHCP서비스를 제공하는경우에도 포함됩니다). 네트워크 인터페이스가 이들 정보를 받기 위해 dhcpcd 명령을 사용합니다.

예제 3-5 : dhcpcd 사용하기
# dhcpcd eth0
어떤 네트워크 관리자의 경우에는 DHCP서버를 통해 호스트네임과 도메인 네임을 요구하는 경우가 있습니다.
그럴 경우 다음 명령어를 사용하십시오.
# dhcpcd -HD eth0

만약 (구글과 같은 인터넷 서버에 핑을 시도해서) 이것이 동작한다면 , 모든 것이 설정된 상태고 계속할 준비가 된 것입니다. 남은 섹션을 건너뛰고 [http]디스크 준비로 계속 넘어가셔도 됩니다.

1.3.3. 무선 액세스 준비

유의사항: ifconfig명령은 오직 x86, amd64, ppc 설치CD 에서만 지원됩니다. 다른 아키텍처 플랫폼에서라면 [ftp]linux-wlan-ng 프로젝트의 방법을 따라 확장요소를 받으실 수 있습니다.

무선 카드(802.11)를 사용한다면, 무얼하기보다도 먼저 무선 설정사항에 대한 설정을 할 필요가 있을 것입니다. 현재 카드의 무선 설정사항을 보려면 iwconfig 명령을 사용할 수 있숩니다. iwconfig을 실행하면 아마 다음과 같이 보이게 될 것입니다.

예제 3-6 : 현재 무선 설정사항 보기
# iwconfig eth0
eth0      IEEE 802.11-DS  ESSID:"GentooNode"                                   
          Mode:Managed  Frequency:2.442GHz  Access Point: 00:09:5B:11:CC:F2    
          Bit Rate:11Mb/s   Tx-Power=20 dBm   Sensitivity=0/65535               
          Retry limit:16   RTS thr:off   Fragment thr:off                       
          Power Management:off                                                  
          Link Quality:25/10  Signal level:-51 dBm  Noise level:-102 dBm        
          Rx invalid nwid:5901 Rx invalid crypt:0 Rx invalid frag:0 Tx          
          excessive retries:237 Invalid misc:350282 Missed beacon:84            


유의사항: 어떤 무선 카드의 경우 eth0대신 wlan0이나 ra0으로 장치 이름을 가질 수도 있습니다. 올바른 디바이스 이름을 결정하기 위해서는 어떤 명령줄 파라미터를 붙이지 않고 단지 iwconfig만을 실행합니다.

대부분의 사용자를 위해서 변경해야 할 중요한 두가지 설정사항이 있는데 ESSID(무선 네트워크 이름으로 잘 알려짐)또는 WEP 키가 그것입니다. ESSID와 접속지점 주소가 화면에 나열됐고, 해당지점에서 WEP를 사용하지 않는다면, 무선 네트워크는 이미 동작하는 것입니다. 만약 ESSID를 변경할 필요가 있거나 WEP키를 추가해야 한다면 다음 명령을 참고할 수 있습니다.

유의사항: 무선 네트워크가 WPA나 WPA2로 설정된다면 wpa_supplicant 를 사용할 필요가 있습니다. 젠투리눅스에서 무선 네트워크 설정에 관한 자세한 정보를 위해서 젠투 핸드북 상의 [http]무선 네트워킹 챕터를 보시기 바랍니다.

예제 3-7 : ESSID변경 혹은 WEP 키 추가하기
(This sets the network name to "GentooNode")
# iwconfig eth0 essid GentooNode

(This sets a hex WEP key)
# iwconfig eth0 key 1234123412341234abcd

(This sets an ASCII key - prefix it with "s:")
# iwconfig eth0 key s:some-password

이렇게 하여 iwconfig를 사용하여 무선 네트워크 설정을 확인할 수 있습니다. 잘 동작하는 무선 연결 상태를 확보하게 되면 다음 섹션에 계속될 IP레벨 네트워크 선택사항을 설정하는 것으로 계속 진행하거나 (네트워크 용어의 이해), 이전에 이미 설명된 net-setup을 사용할 수 있습니다.


1.3.4. 네트워크 용어의 이해

유의사항: IP주소나 브로드캐스트 주소, 넷마스크, 네임 서버의 개념에 대해 안다면 이 서브섹션을 건너뛰고 [http]ifconfig 와 route 사용하기로 넘어가셔도 좋습니다.

모든 것이 실패했다면 네트워크를 직접 설정해야 할 것입니다. 이건 그리 복잡한 것이 아닙니다. 그러나 독자 자신이 만족할 만큼 네트워크 설정을 할 능력이 필요하다면 몇몇 네트워크 용어에 친숙해야 할 필요가 있습니다. 이걸 읽고 나면 게이트웨이가 무엇인지, 넷마스크는 무얼 위해 제공되는 것인지, 브로드캐스트 주소의 구성이 어떻게 되는지, 왜 네임서버가 필요한 것인지에 대해 알게 될 것입니다.

네트워크에서 호스트는 IP주소(인터넷 프로토콜 주소)에 의해 구분됩니다. 이러한 주소들은 0부터 255까지의 네개의 숫자의 조랍으로 이뤄집니다. 물론 그것이 우리가 인지할 수 있는 최소한의 방법입니다. 사실 IP주소들은 32비트(0과 1)로 결정됩니다. 다음 예제를 보도록 합시다.

예제 3-8: IP주소의 예
IP Address (numbers):   192.168.0.2
IP Address (bits):      11000000 10101000 00000000 00000010
                        -------- -------- -------- --------
                           192      168       0        2
이러한 IP주소들은 접근가능한 상호 관계적 네트워크상에서 되도록 멀리 떨어진 호스트에 대해 유일합니다 (예를 들어 모든 도달가능한 호스트들은 고유의 IP주소를 가져야만 합니다). 호스트를 네트워크 내외부로 식별하기 위해서 IP어드레스는 두 부분으로 쪼개집니다. 네트워크 파트와 호스트 파트가 그것입니다.

이러한 분리는 1들과 0들의 모임인 넷마스크로 표현할 수 있습니다. 1과 대응되는 IP의 부분은 네트워크-파트, 나머지 부분은 호스트-파트가 됩니다. 이처럼 네트워크 마스크는 IP-주소처럼 쓸 수 있습니다.

예제 3-9 : 네트워크와 호스트의 분리
IP-address:    192      168      0         2
            11000000 10101000 00000000 00000010
Netmask:    11111111 11111111 11111111 00000000
               255      255     255        0
           +--------------------------+--------+
                    Network              Host

바꿔 말하자면, 192.168.0.14 는 예제의 네트워크와 같은 네트워크에 속하지만 192.168.1.2는 아닙니다.

브로드캐스크 주소는 네트워크 파트의 주소값은 같지만 호스트 파트의 주소들은 1로 체워진 주소입니다. 모든 호스트들은 이 IP주소로 데이터를 기다립니다. 이는 제대로 말하자면 브로드캐스트 패킷을 기다린다고 해야 맞습니다.

예제 3-10 : 브로드캐스트 주소
IP-address:    192      168      0         2
            11000000 10101000 00000000 00000010
Broadcast:  11000000 10101000 00000000 11111111
               192      168      0        255
           +--------------------------+--------+
                     Network             Host
인터넷을 휘젓고 돌아다닐 수 있으려면 인터넷 연결을 공유하는 것이 무엇인지를 아라야 합니다. 그 호스트를 게이트웨이라고 합니다. 이는 일반적인 호스트이며 일반적인 IP주소를 지니고 있습니다. (192.168.0.1와 같은 주소를 지닙니다).

우리는 이에 앞서 모든 호스트가 자신의 IP주소를 가진다는 것을 확인했습니다. 이 호스트들이 (IP대신) 이름으로서 도달(접근)할 수 있으려면 dev.gentoo.org와 같은 이름을 64.5.62.82와 같은 IP주소로 변환하는 서비스가 필요합니다. 이런 서비스를 네임 서비스라고 합니다. 이런 서비스를 사용하기 위해 /etc/resolv.conf에 필요한 네임 서버를 기입해야 합니다.

어떤 경우에는 게이트웨이에서 네임서버처럼 서비스를 제공하는 경우가 있습니다. 반면에 인터넷 서비스 제공자에 의해 제공되는 네임 서버를 입력해야 하는 경우도 있습니다.

요약하자면, 계속 진행하기 위해 다음 정보들이 필요합니다.
네트워크 요소 예제
IP address 192.168.0.2
Netmask 255.255.255.0
Broadcast 192.168.0.255
Gateway 192.168.0.1
Nameserver(s) 195.130.130.5, 195.130.130.133

1.3.5. ifconfig 와 route 사용하기


네트워크 설정은 3단계로 나눌 수 있습니다. 첫번째, ifconfig를 이용하여 IP주소를 할당합니다. 그 다음 route를 이용하여 게이트웨이로의 라우팅을 설정합니다. 그 후 마지막으로 /etc/resolv.conf에 네임서버 IP를 설정함으로써 마무리 짓습니다.

IP 주소를 할당하려면 독자 소유의 IP주소, 브로드캐스트 주소, 넷마스크 주소가 필요합니다. 그러면 다음 명령을 실행하여 ${IP_ADDR}에는 IP주소를, ${BROADCAST}에는 브로드캐스트 주소를, ${NETMASK}에는 넷마스크 주소를 각각 대입합니다.

예제 3-11 : ifconfig 사용
# ifconfig eth0 ${IP_ADDR} broadcast ${BROADCAST} netmask ${NETMASK} up

이제 route를 사용하여 라우팅을 설정합니다. ${GATEWAY}에 게이트웨이 IP주소를 대입합니다.

예제 3-12 : route 사용
# route add default gw ${GATEWAY}

이제 손에 익은 에디터로 /etc/resolv.conf 를 엽니다. (예제에서 우리는 nano를 사용합니다):

예제 3-13 : /etc/resolv.conf 생성
# nano -w /etc/resolv.conf

이제 다음과 같은 양식을 이용하여 네임서버 주소를 채웁니다. 적당한 네임서버주소를 ${NAMESERVER1} 와 ${NAMESERVER2} 에 대입합니다.

예제 3-14 : /etc/resolv.conf 양식
nameserver ${NAMESERVER1}
nameserver ${NAMESERVER2}

이제 다 되었습니다. 임의의 인터넷 서버(구글?)로 핑을 날려 네트워크를 점검해봅니다. 잘 된다면 뭐... 수고하셨습니다. 이제 젠투를 설치할 준비가 되었습니다. [http]디스크 준비로 계속 넘어가세요.




sponsored by andamiro
sponsored by cdnetworks
sponsored by HP

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2009-02-22 20:49:57
Processing time 0.0123 sec