Trans:GentooX86Handbook4-3

Gentoo Korea Wiki
둘러보기로 가기 검색하러 가기

모듈러 네트워크

네트워크 모듈

이제부터 모듈러 네트워크 스크립트를 지원합니다. 이는 새로운 인터페이스 형식과 기존 요소와 호환성을 유지하는 모듈 설정의 지원을 쉽게 추가할 수 있음을 의미합니다.

패키지를 설치할 필요가 있을 때 모듈을 기본적으로 불러옵니다. 패키지를 설치하지 않은 모듈을 여기에 지정했다면 설치해야 할 패키지가 무엇인가에 대한 오류를 만나게 될 것입니다. 이상적으로 서비스를 올리기 위해 두 개 이상의 동일한 패키지를 설치했고 둘 중 하나를 우선시해야 할 경우 모듈 설정만을 사용합니다.


참고: 다른 요소를 지정하지 않는 한 모든 설정에 대해서는 /etc/conf.d/net에 언급되어 있습니다.



코드 예제 1.1: 모듈 기본 설정
# Prefer ifconfig over iproute2

modules="ifconfig"


# You can also specify other modules for an interface
# In this case we prefer pump over dhcpcd

modules_eth0="pump"

# You can also specify which modules not to use - for example you may be
# using a supplicant or linux-wlan-ng to control wireless configuration but
# you still want to configure network settings per ESSID associated with.

modules="!iwconfig"


인터페이스 핸들러

현재는 ifconfigiproute2 두 가지의 인터페이스 핸들러를 제공합니다.어떤 방식의 네트워크 설정에서든 둘 중 하나가 필요합니다.

기본적으로 ifconfig를 설치했습니다 (net-tools 패키지가 시스템 프로파일의 일부입니다). iproute2는 좀더 강력하고 유연한 패키지이지만 기본으로 들어있지는 않습니다.


코드 예제 2.1: iproute2 설치하기
# emerge sys-apps/iproute2

# To prefer ifconfig over iproute2 if both are installed as openrc prefers
# to use iproute2 then

modules="ifconfig"


ifconfigiproute2는 서로 매우 유사한 존재이므로 이들 기본 설정을 두 핸들러에서 작업할 수 있도록 할 수 있습니다. 예를 들어 다음 두 코드는 여러분이 어떤 모듈을 쓰든지 관계 없이 동작합니다.


코드 예제 2.1: ifconfig와 iproute2 예제
config_eth0="192.168.0.2/24"
config_eth0="192.168.0.2 netmask 255.255.255.0"

# We can also specify broadcast
config_eth0="192.168.0.2/24 brd 192.168.0.255"
config_eth0="192.168.0.2 netmask 255.255.255.0 broadcast 192.168.0.255"


DHCP

DHCP는 DHCP서버로부터 네트워크 정보(IP 주소, DNS 서버, 게이트웨이 등)를 얻는 서비스를 의미합니다. 이는 여러분이 사용하는 네트워크에 DHCP 서버가 동작중이라면, DHCP를 사용하도록 각각의 클라이언트에게 알리고 클라이언트 자체적으로 모든 네트워크 설정을 알아서 하게 해야 합니다. 물론, DHCP 서비스를 사용하기 전에 필요한 경우 무선, PPP망 등에 대해서도 설정해야 할 것입니다.

DHCP 서비스는 dhclient, dhcpcd, pump 로 이용할 수 있습니다. 각각의 DHCP 모듈에는 장단점이 있습니다. 잠깐동안 빠르게 훑어보십시오.

DHCP 모듈 패키지 장점 단점
dhclient net-
misc/dhcp
BIND DNS 프로그램을 만든 사람들의 모임인 ISC가 만들었습니다. 설정하기가 매우 용이합니다 설정 방식이 복잡하고 프로그램의 규모가 쓸데없이 거져있으며, DHCP로부터 NTP 서버를 가져올 수 없습니다. 그리고 기본적으로 호스트 이름을 보낼 수 없습니다.
dhclient net-
misc/dhcpcd
오랫동안 젠투 기본 클라이언트로 존재해왔으며, 다른 도구에 의존하지 않고, 젠투에서 활발하게 개발중입니다 가끔 느릴 수가 있으며, 정보 가져오기가 끝나지 않으면 데몬 동작이 안됩니다.
dhclient net-
misc/pump
다른 도구에 의존하지 않으며, 가볍습니다. 메인스트림에서 더이상 관리하지 않고, 신뢰성이 없으며, 특히 모뎀을 통해서는 DHCP로부터 NIS서버를 가져올 수 없습니다.

DHCP 클라이언트를 하나 이상 설치했다면 어떤 것을 사용할지 지정해야 합니다. 그렇지 않으면 dhcpcd가 있을 경우 기본으로 사용합니다.

DHCP 모듈에 지정 옵션을 보내려면 module_eth0="..."을 사용하십시오(dhcpcd_eth0과 같이 여러분이 사용하는 DHCP 모듈로 바꿔줍니다).

DHCP 서비스를 경우에 따라 불가능하게끔 해보겠습니다. 보통 다음을 dhcp_eth0 변수에 사용하는 명령으로 지원합니다. 기본값은 이들 중 어떤 것도 설정하지 않는 것입니다.

  • release - IP 주소를 재사용하기 위해 릴리즈하지 않습니다.
  • nodns - /etc/resolv.conf를 덮어씌우지 않습니다.
  • nontp - /etc/ntp.conf를 덮어씌우지 않습니다.
  • nonis - /etc/yp.conf를 덮어씌우지 않습니다.


코드 예제 3.1: /etc/conf.d/net의 DHCP 설정 예제
# Only needed if you have more than one DHCP module installed
modules="dhcpcd"

config_eth0="dhcp"
dhcpcd_eth0="-t 10" # Timeout after 10 seconds
dhcp_eth0="release nodns nontp nonis" # Only get an address



참고: dhcpcdpump는 기본적으로 DHCP서버에 현재 호스트 이름을 보내므로 이러한 사항을 지정할 필요가 없습니다.


PPPoE/PPPoA를 통한 ADSL

먼저 ADSL 프로그램을 설치해야 합니다.


코드 예제 4.1: ppp 패키지 설치하기
# emerge net-dialup/ppp


다음, PPP net 스크립트와 PPP로 이더넷 인터페이스를 사용할 net 스크립트를 작성합니다.


코드 예제 4.2: PPP와 이더넷 스크립트 작성
# ln -s /etc/init.d/net.lo /etc/init.d/net.ppp0
# ln -s /etc/init.d/net.lo /etc/init.d/net.eth0


/etc/rc.conf에 rc_depend_strict를 "YES"로 설정했는지 확인하십시오.

이제 /etc/conf.d/net을 설정할 차례입니다.


코드 예제 4.3: 기본 PPPoE 설정
config_eth0=null (Specify your ethernet interface)
config_ppp0="ppp"
link_ppp0="eth0" (Specify your ethernet interface)
plugins_ppp0="pppoe"
username_ppp0='user'
password_ppp0='password'
pppd_ppp0="
noauth
defaultroute
usepeerdns
holdoff 3
child-timeout 60
lcp-echo-interval 15
lcp-echo-failure 3
noaccomp noccp nobsdcomp nodeflate nopcomp novj novjccomp"

rc_need_ppp0="net.eth0"


/etc/ppp/pap-secrets에 암호를 설정할 수도 있습니다.


코드 예제 4.4: /etc/ppp/pap-secrets 예제
# The * is important
"username" * "password"


USB 모뎀을 사용하여 PPPoE 연결을 사용하려면 br2684ctl을 이머지 해야 합니다. 어떻게 설정하는지에 대한 내용을 알아보시려면 /usr/portage/net-dialup/speedtouch-usb/files/README를 읽어보십시오.


중요: /usr/share/doc/openrc-0.8.3-r1/net.example.bz2의 "ADSL and PPP"절을 주의 깊게 읽어보시기 바랍니다. 여기에는 필요할 수도 있는 까다로운 PPP 설정에 대해 자세한 설명이 있습니다.0.8.3-r1 버전 문자열은 여러분의 시스템에 설치한 OpenRC 버전으로 바꾸십시오.


APIPA (자동 개인 IP 주소지정)

본딩

브릿징 (802.1d 지원)

MAC 주소

터널링

VLAN (802.1q 지원)