Handbook:Parts/Networking/Advanced/ko

고급 설정
The config_eth0 variable is the heart of an interface configuration. It is a high level instruction list for configuring the interface (eth0 in this case). Each command in the instruction list is performed sequentially. The interface is deemed OK if at least one command works.

Here's a list of built-in instructions:

If a command fails, specify a fallback value. The fallback has to match the config structure exactly.

It is possible to chain these values together. Here are some real world examples:

네트워크 의존성
의 초기화 스크립트는 특정 네트워크 인터페이스 또는 "net"에 의존할 수 있습니다. 젠투 init 시스템의 모든 네트워크 인터페이스를 "net"이라고 합니다.

If, in, the rc_depend_strict variable is set to , then all network interfaces that provide "net" must be active before a dependency on "net" is assumed to be met. In other words, if a system has a net.eth0 and net.eth1 and an init script depends on "net", then both must be enabled.

On the other hand, if  is set, then the "net" dependency is marked as resolved the moment at least one network interface is brought up.

그러나 net.eth0과 net.eth1에 의존하는 net.br0는 어떨까요? net.eth1은 브릿지에 추가할 수 있기 전에 설정이 필필요한 무선 네트워크 또는 PPP 장치일 수도 있습니다. net.lo로 연결하는 심볼릭 링크이기 때문에 에선 처리가 불가능합니다.

The answer is to define a rc_need_ setting in :

그러나 위의 절차를 따르는 것으로는 충분하지 않습니다. 젠투 네트워크 초기화 스크립트는 네트워크를 사용할 수 있을때 시스템에 알려주는 "net" 가상 의존성을 사용합니다. 분명하게 발하자면, 위와 같은 경우 다른 인터페이스를 띄울때가 아니라, net.br0을 띄웠을 때 네트워크를 사용할 수 있는 상태로 나타나야합니다. 따라서 에 다음과 같이 알려야합니다:

의존성에 대해 언급한 더 자세한 이야기는 젠투 핸드북의 초기화 스크립트(Initscript) 관련 절을 참고하십시오. 에 대한 더 많은 내용은 파일 자체에 적어놓은 주석에 있습니다.

변수 이름 및 값
Variable names are dynamic. They normally follow the structure of. For example, the variable dhcpcd_eth0 holds the value for dhcpcd options for eth0 and dhcpcd_essid holds the value for dhcpcd options when any interface connects to the ESSID "essid".

그러나 이름이 ethx여야 하는 인터페이스에 대한 규칙이 어렵거나 고정된것은 아닙니다. 사실 대부분의 무선 네트워크 인터페이스에는 wlanx, rax, ethx와 같은 이름이 붙으며, 브릿지 같은 사용자 지정 인터페이스에도 어떤 이름이든 붙을 수 있습니다. 좀 더 즐기는 인생을 만들려 한다면 무슨 액세스 포인트에 알파벳-숫자를 써서 이름을 붙일 수 있습니다. 사용자는 ESSID로 네트워크 매개 변수를 설정할 수 있기 때문에 이 점은 중요합니다.

이러한 모든 사실의 바탕은 젠투가 네트워크 설정에 사용하는 배시 변수입니다 - 그리고 배시는 영문자 숫자 외에는 사용할 수 없습니다. 이러한 제약을 극복하기 위해 영문자 숫자가 아닌 문자를 _ (밑줄) 문자로 바꿉니다.

Another downside of bash is the content of variables - some characters need to be escaped. This can be achieved by placing the \ (backslash) character in front of the character that needs to be escaped. The following list of characters needs to be escaped in this way:, and.

이 예제에서 좀 더 넓은 범위의 문자를 넣을 수 있는 만큼의 무선 네트워크 ESSID를 지정해보겠습니다. My "\ NET ESSID를 사용하겠습니다:

위 예제에서는 무선 네트워크 카드로 My "\ NET ESSID를 가진 AP에 연결하면 My "\ NET에 DNS 도메인을 설정합니다.

동작 방법
네트워크 인터페이스 이름은 순차적으로 부여하지 않습니다. 리눅스 커널과 장치 관리자(다른 장치 관리자도 있지만 대부분의 시스템에서는 udev를 장치 관리자로 지니고 있음)는 고정 규칙을 기반으로 인터페이스 이름을 선택합니다.

인터페이스 카드를 시스템에서 발견하면, 리눅스 커널에서는 이 카드에 대해 필요한 데이터를 가져옵니다. 가져오는 데이터에는 다음 내용이 들어있습니다:


 * The onboard (on the interface itself) registered name of the network card, which is later seen through the ID_NET_NAME_ONBOARD value.
 * The slot in which the network card is plugged in, which is later seen through the ID_NET_NAME_SLOT value.
 * The path through which the network card device can be accessed, which is later seen through the ID_NET_NAME_PATH value.
 * The (vendor-provided) MAC address of the card, which is later seen through the ID_NET_NAME_MAC value.

Based on this information, the device manager decides how to name the interface on the system. By default, it uses the first hit of the first three variables above ( ID_NET_NAME_ONBOARD, _SLOT or _PATH ). For instance, if ID_NET_NAME_ONBOARD is found and set to, then the interface will be called eno1.

Given an active interface name, the values of the provided variables can be shown using :

As the first (and actually only) hit of the top three variables is ID_NET_NAME_PATH, its value is used as the interface name. If none of the variables contain values, then the system reverts back to the kernel-provided naming (eth0, eth1, etc.)

구형 방식 커널 이름 사용
Before this change, network interface cards were named by the Linux kernel itself, depending on the order that drivers are loaded (amongst other, possibly more obscure reasons). This behavior can still be enabled by setting the  boot parameter in the boot loader.

개별 이름 사용
이름 부여 방식을 바꾸기 이전의 모든 아이디어는 햇갈릴 일이 없겠지만 이름을 바꾸는 것 자체는 쉽습니다. 시스템에 eth0과 eth1 인터페이스 두개를 달았다고 치겠습니다. 하나는 무선으로 네트워크에 연결하며, 다른 하나는 무선 네트워크 접근 방식으로 연결합니다. 이런 인터페이스 이름 부여 방식에 대해 lan0(유선)과 wifi0(무선 - eth*과 wlan*같이 충돌할 가능성이 흔히 사용하는 이름을 제안 이름 부여 방식으로 피하는게 좋음)으로 바꿀 수 있습니다.

카드에 해당하는 매개 변수를 찾아보시고 개별 자체 이름 규칙에 이 정보로 설정하십시오:

기본 규칙 이전에(철자순으로 규칙을 처리하므로 70을 80보다 먼저 처리) 처리하는 규칙이 있으므로 규칙 파일에서 제공한 이름을 기본 이름대신 사용합니다. 파일에 부여한 숫자는 76번과 79번 사이여야합니다(환경 변수는 75번부터 시작하며 대체 이름은 80번에서 끝납니다).