"Trans:GentooX86Handbook1-3"의 두 판 사이의 차이

Gentoo Korea Wiki
둘러보기로 가기 검색하러 가기
102번째 줄: 102번째 줄:
 
==== 네트워크 용어 이해 ====
 
==== 네트워크 용어 이해 ====
 
{{Note|IP 주소와 브로드캐스트 주소, 넷마스크, 이름서버에 대해 안다면 이 하위 장을 건너뛰고 [http://wiki.gentoo.or.kr/index.php/Trans:GentooX86Handbook1-3#ifconfig.EC.99.80_route_.EC.82.AC.EC.9A.A9.ED.95.98.EA.B8.B0 ifconfig와 route 사용하기]로 계속 진행합니다.}}
 
{{Note|IP 주소와 브로드캐스트 주소, 넷마스크, 이름서버에 대해 안다면 이 하위 장을 건너뛰고 [http://wiki.gentoo.or.kr/index.php/Trans:GentooX86Handbook1-3#ifconfig.EC.99.80_route_.EC.82.AC.EC.9A.A9.ED.95.98.EA.B8.B0 ifconfig와 route 사용하기]로 계속 진행합니다.}}
 +
 +
위의 모든 경우에 대해 전부 실패했다면 여러분의 네트워크를 직접 설정해야 할 것입니다. 다 어려운 것은 아닙니다만, 여러분의 기대에 따라 네트워크를 설정할 필요가 있는 만큼 일부 네트워크 용어에 익숙할 필요가 있습니다. 이 부분을 읽고 나면 여러분은 ''게이트웨이''가 무엇인지, ''넷마스크''가 왜 있는 것인지, ''브로드캐스트'' 주소는 어떻게 구성되고 왜 ''이름 서버''가 필요한지를 알게 될 것입니다.
 +
 +
네트워크의 호스트는 ''IP'' 주소 (인터넷 프로토콜 주소)로 식별합니다. 제각각의 주소는 0부터 255까지의 네 자리 숫자의 조합으로 구성합니다. 음, 이게 최소한 우리가 알아내는 방법입니다. 실제로 각각의 IP 주소는 32비트(0과 1)로 구성되어 있습니다. 예를 보도록 합시다
 +
 +
{{Example|코드 예제 3.8: IP 주소의 예|
 +
<pre>IP Address (numbers):  192.168.0.2
 +
IP Address (bits):      11000000 10101000 00000000 00000010
 +
                        -------- -------- -------- --------
 +
                          192      168      0        2</pre>
 +
}}
 +
 +
어떤 IP 주소는 최대한 멀리 접근 가능한 모든 네트워크를 고려했을 때 유일한 존재입니다 (예를 들어 여러분이 도달할 수 있는 모든 호스트는 고유의 IP 주소를 가져야 합니다). 내 외부 네트워크의 호스트를 서로 구별하기 위해 IP 주소를 두 부분으로 쪼갭니다. ''네트워크''와 ''호스트''부분입니다.
 +
 +
이 구분은 1들 뒤에 0들이 따라오는 ''넷마스크''로 적습니다. 1들에 대응하는 IP 부분은 네트워크 부분이고, 다른 부분은 호스트 부분입니다. 보통 넷마스크는 ip주소처럼 적습니다.
 +
 +
{{Example|코드 예제 3.9: 네트워크 호스트 분리의 예|
 +
<pre>IP-address:    192      168      0        2
 +
            11000000 10101000 00000000 00000010
 +
Netmask:    11111111 11111111 11111111 00000000
 +
              255      255    255        0
 +
          +--------------------------+--------+
 +
                    Network              Host</pre>
 +
}}
 +
 +
다른 말로, 192.168.0.14는 예제 네트워크의 일부이지만, 192.168.1.2는 그렇지 않습니다.
 +
 +
''브로드캐스트'' 주소는 여러분의 네트워크와 같은 네트워크 부분을 지닌 IP 주소지만, 호스트 부분은 1로만 구성합니다. 네트워크의 모든 호스트는 이 IP 주소를 감청합니다. 진짜 의미는 브로드캐스팅 패킷에 대한 것입니다.
 +
 +
{{Example|코드 예제 3.10: 브로드캐스트 주소|
 +
<pre>IP-address:    192      168      0        2
 +
            11000000 10101000 00000000 00000010
 +
Broadcast:  11000000 10101000 00000000 11111111
 +
              192      168      0        255
 +
          +--------------------------+--------+
 +
                    Network            Host</pre>
 +
}}
 +
 +
인터넷을 탐색할 수 있으려면 인터넷 연결을 공유하는 호스트를 알아야 합니다. 이 호스트를 ''게이트웨이''라고 합니다. 일반 호스트이기 때문에 일반 IP 주소(예를 들어 192.168.0.1)를 갖습니다.
 +
 +
앞에서 모든 호스트는 자신의 IP 주소를 갖는다고 했습니다. 이 호스트에 (IP 주소 대신)이름으로 접근할 수 있으려면 이름(''dev.gentoo.org'' 같은 것)을 IP 주소(''64.5.62.82'' 같은 것)로 변환하는 서비스가 필요합니다. 이런 서비스를 이름 서비스라고 합니다. 이 서비스를 사용하려면 ''필요한 이름 서버''를 /etc/resolv.conf에 지정해야 합니다.
 +
 +
대부분의 경우 여러분의 게이트웨이는 이름 서버처럼 동작합니다. 아니면 여러분의 ISP가 제공하는 이름 서버에 진입해야 할 것입니다.
 +
 +
요약하자면, 계속하기 전에 여러분은 다음 정보가 필요할 것입니다.
 +
 +
{| cellpadding="1" cellspacing="1"
 +
|-
 +
! scope="col" bgcolor="#8866ff" |<font color="white">'''네트워크 요소'''</font>
 +
! scope="col" bgcolor="#8866ff" |<font color="white">'''예시'''</font>
 +
|-
 +
| bgcolor="#ccccff" |'''IP 주소'''
 +
| bgcolor="#ccccff" |'''192.168.0.2'''
 +
|-
 +
| bgcolor="#ccccff" |'''넷마스크'''
 +
| bgcolor="#ccccff" |'''255.255.255.0'''
 +
|-
 +
| bgcolor="#ccccff" |'''브로드캐스트'''
 +
| bgcolor="#ccccff" |'''192.168.0.255'''
 +
|-
 +
| bgcolor="#ccccff" |'''게이트웨이'''
 +
| bgcolor="#ccccff" |'''192,168.0.1'''
 +
|-
 +
| bgcolor="#ccccff" |'''이름 서버'''
 +
| bgcolor="#ccccff" |'''195.130.130.5, 195.130.130.133'''
 +
|}
  
 
==== ifconfig와 route 사용하기 ====
 
==== ifconfig와 route 사용하기 ====

2012년 7월 14일 (토) 06:55 판

네트워크 설정하기

자동 네트워크 감지

아마 바로 동작하겠죠?

시스템이 DHCP서버로 이더넷을 통해 연결했다면, 여러분을 위해 네트워크 설정이 이미 자동으로 다 된 것이나 마찬가지 입니다. 만약 그렇다면, ssh, scp, ping, irssi, wget, links 등과 같은 것 중 설치 CD에 있는 수많은 네트워크 관련 명령을 실행하기 위한 장점을 갖출 수 있을 것입니다.

네트워크가 이미 설정됐다면 /sbin/iptable 명령은 eth0과 같은 lo와 함께 있는 네트워크 장치를 나열할 것입니다.


코드 예제 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


선택요소: 프록시 설정하기

프록시를 통해 인터넷에 접근한다면 설치 과정중에 프록시 정보를 설정할 필요가 있을지도 모릅니다. 프록시를 설정하는건 매우 쉽습니다. 단지 프록시 서버 정보가 들어있는 변수를 설정하는 것만 필요합니다.

대부분의 경우 그냥 서버 호스트이름을 사용하여 변수 값을 설정할 수 있습니다. 예를 들자면 포트번호 8080proxy.gentoo.org 프록시 서버가 있다고 가정해보겠습니다.


코드 예제 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


네트워크 시험하기

그냥 네트워크에 패킷이 도달하는지, DNS 이름 해석이 제대로 동작하는지 등을 확인해보기 위해 ISP의 DNS 서버(/etc/resolv.conf에서 찾을 수 있습니다)와 여러분이 원하는 웹 사이트에 핑 신호를 보내보고 싶을 것입니다.


코드 예제 1.4: 추가 네트워크 시험
# ping -c 3 www.gentoo.org


여러분의 네트워크를 사용할 수 있다면 나머지 장을 건너뛰어 디스크 준비하기로 진행하고, 그렇지 않다면, 다음을 계속 읽어내려가도록 합니다.

자동 네트워크 설정

네트워크가 바로 동작하지 않을 경우에 일부 설치매체 에서 net-setup(보통 혹은 무선 네트워크용), pppoe-set(ADSL 사용자용), pptp(PPTP사용자용. x86, amd64, alpha, ppc, ppc64에서 사용할 수 있습니다)를 사용할 수 있습니다.

설치 매체에 이들 도구가 없거나 네트워크가 가직도 동작하지 않는다면, 수동 네트워크 설정으로 계속 진행합니다.

기본: net-setup 사용하기

자동 설정이 안 되었을 경우 가장 간단한 네트워크 설정 방법은 net-setup 스크립트를 실행하는 것입니다:


코드 예제 2.1: net-setup 스크립트 실행하기
# net-setup eth0


net-setup은 네트워크 환경에 대한 몇가지 질문을 할 것입니다. 이 과정이 모두 끝나면 네트워크 연결이 동작할 것입니다. 앞서 언급하던 대로 네트워크를 시험 해보십시오. 시험 결과가 정상이라면 축하드립니다! 이제 젠투를 설치할 준비가 되었습니다. 나머지 장을 건너뛰고 디스크 준비하기로 계속 진행합니다.

그래도 여전히 동작하지 않는다면 수동 네트워크 설정으로 계속 진행합니다.

대안: PPP 사용하기

인터넷에 연결하기 위해 PPPoE의 필요성을 고려하여, 설치 CD(아무거나)에 {{blue|ppp}를 포함하여 여러분에게 과정을 쉽게 처리해주는 수많은 것들을 넣었습니다. 제공된 pppoe-setup 스크립트를 사용하여 연결을 설정합니다. ADSL 모뎀에 연결한 이더넷 장치, 사용자이름과 암호, DNS 서버의 IP, 기본 방화벽 필요성의 유무를 물어볼 것입니다.


코드 예제 2.2: PPP 사용하기
# pppoe-setup

# pppoe-start


뭔가 잘못됐다면, /etc/ppp/pap-setrets나 /etc/ppp/chap-secrets에 사용자이름과 암호를 올바르게 입력했는지 다시 확인하고, 올바른 이더넷 장치를 사용하고 있는지 확인해보십시오. 만약 이더넷 장치가 없다면, 적당한 네트워크 모듈을 불러와야 할 것입니다. 이 경우 적당한 네트워크 모듈을 어떻게 불러오는지 설명하는 수동 네트워크 설정으로 계속 진행해야 합니다.

모든 것이 잘 동작한다면 디스크 준비하기로 계속 진행합니다.

대안: PPTP 사용하기

PPTP 지원이 필요하다면 설치 CD에서 제공하는 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


모든게 끝났다면, 서버에 연결하기 위해 그냥 pphp를 실행합니다 (여러분이 options.pptp에 설정할 수 없던 옵션을 따릅니다)


코드 예제 2.5 전화걸기 서버에 접속
# pptp <server ip>


이제 디스크 준비하기로 계속 진행합니다.

수동 네트워크 설정

적당한 네트워크 모듈 불러오기

DHCP 사용하기

무선 연결 준비하기

네트워크 용어 이해


참고: IP 주소와 브로드캐스트 주소, 넷마스크, 이름서버에 대해 안다면 이 하위 장을 건너뛰고 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는 그렇지 않습니다.

브로드캐스트 주소는 여러분의 네트워크와 같은 네트워크 부분을 지닌 IP 주소지만, 호스트 부분은 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 같은 것)을 IP 주소(64.5.62.82 같은 것)로 변환하는 서비스가 필요합니다. 이런 서비스를 이름 서비스라고 합니다. 이 서비스를 사용하려면 필요한 이름 서버를 /etc/resolv.conf에 지정해야 합니다.

대부분의 경우 여러분의 게이트웨이는 이름 서버처럼 동작합니다. 아니면 여러분의 ISP가 제공하는 이름 서버에 진입해야 할 것입니다.

요약하자면, 계속하기 전에 여러분은 다음 정보가 필요할 것입니다.

네트워크 요소 예시
IP 주소 192.168.0.2
넷마스크 255.255.255.0
브로드캐스트 192.168.0.255
게이트웨이 192,168.0.1
이름 서버 195.130.130.5, 195.130.130.133

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}


다 되었습니다. 이제 아무 인터넷 서버(구글 같은 곳)에 핑 신호를 날려서 네트워크를 시험해보세요. 동작한다면, 축하드립니다. 이제 젠투를 설치할 준비가 되었습니다. 디스크 준비하기로 계속 진행합니다.