dhcpcd 및 /etc/network/interfaces

dhcpcd 및 /etc/network/interfaces

이 구성이 있습니다/etc/네트워크/인터페이스:

auto lo
iface lo inet loopback

allow-hotplug wlan0
iface wlan0 inet manual
    wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

allow-hotplug wlan1
iface wlan1 inet manual
    wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

allow-hotplug wlan0
#iface wlan0 inet dhcp
        iface wlan0 inet static
        address 192.168.0.110
        netmask 255.255.255.0
        network 192.168.0.1
        gateway 192.168.0.1
        wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
#iface default inet dhcp


iface eth0 inet static
    address 192.168.0.115
    netmask 255.255.255.0
    network 192.168.0.1
    gateway 192.168.0.1

무선 고정 IP는 작동하지만 eth0은 작동하지 않습니다.

그래서 구성을 시도했습니다./etc/dhcpcd.conf:

interface eth0
static ip_address=192.168.0.115/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1

효과가 있었습니다. 혼란스러워서 여기에 몇 가지 질문이 있습니다.

  1. 언제 어떤 파일을 사용하나요?

  2. Wi-Fi는 왜 작동하나요?/etc/네트워크/인터페이스하지만 eth0은 아닌가요?

  3. 하다DHCPCD어느 정도 우선한다. /etc/네트워크/인터페이스?

  4. 어떤 서비스가 우선순위인지 확인하는 방법은 무엇입니까? 그리고 어떤 서비스를 이용할지/etc/네트워크/인터페이스?

답변1

Wi-Fi가 /etc/network/interfaces에서는 작동하지만 eth0에서는 작동하지 않는 이유는 무엇입니까?

네트워크 인터페이스 이름으로 보면 Raspbian Jessie 또는 이전 버전에 대해 이야기하고 있다고 가정합니다. 이는 Stretch 및 최신 버전에서는 다를 수 있습니다.

auto eth0부팅 시( 사용 ) 또는 네트워크 하드웨어가 감지될 때( 사용 ) 시작하도록 지시하지 않았습니다 allow-hotplug eth0.

이러한 줄이 모두 없으면 명시적인 수동 명령이 사용될 때만 /etc/network/interfaces인터페이스가 시작됩니다 eth0.ifup eth0

dhcpcd가 /etc/network/interface보다 우선순위가 더 높습니까?

Debian 및 관련 배포판에서는 /etc/network/interfaces네트워크 인터페이스를 수동으로 구성하기 위한 기본 위치로 자주 사용됩니다. 여기에 나열되지 않은 인터페이스는 설치된 경우 제어됩니다 NetworkManager.

그러나 기본 부팅 dhcpcd5에는 작동할 수 있는 엄격한 인터페이스 목록이 포함되어 있지 않은 것으로 보이며(핫 플러깅을 허용하기 위해) /etc/network/interfaces이를 제공하여 대신 구성 할 수 있습니다 /etc/dhcpcd.conf.

Raspbian Stretch는 실제로 이것을 표준 관행으로 사용합니다.

저는 Raspbian에 대해 잘 알지 못하지만 그들의 솔루션이 합리적일 수 있다고 생각합니다. 최소한의 리소스가 있는 시스템에서는 GUI/TUI 구성 도구가 구문 분석할 수 있어야 하는 다양한 구문의 수를 최소화하려고 할 수 있습니다. 일부 다른 구성 파일에서 유사한 구문이 이미 사용된 경우 dhcpd.conf사용법을 표준화하기로 결정하면 구성 구문 분석기 구성 요소를 보다 효율적으로 재사용할 수 있습니다.

언제 어떤 파일을 사용하나요?

/etc/network/interfaces일반 데비안 시스템에서는 이 기능을 주로 사용하는 것이 좋으며 요청/수신한 DHCP 옵션을 추가하거나 조작하는 등 일반 데비안 시스템 /etc/dhcpcd.conf에서 달성할 수 없는 작업에만 사용할 것을 권장합니다 ./etc/network/interfaces

하지만 Raspbian Stretch 이상에서는 /etc/dhcpcd.conf권장되는 파일인 것 같습니다.

답변2

1) 질문에 대한 답변을 바탕으로"네트워크/WiFi/고정 IP 설정 방법":dhcpcd를 실행 중인 경우 dhcpcd.conf를 편집하십시오.저거 봐협회dhcpcd를 사용할 때 /etc/network/interfaces를 올바르게 구성하십시오.

2) /etc/network/interfaces에 대한 변경 사항이 eth0이 아닌 Wi-Fi 인터페이스에 영향을 미치는 이유가 명확하지 않습니다. 여러 하위 시스템이 관련되어 있으므로 디버깅이 어려울 수 있습니다.

3) 내가 아는 한, dhcpcd는 /etc/network/interfaces를 효과적으로 무시합니다.

4) dhcpcd 또는 /etc/network/interfaces에 우선 순위가 있다고 생각하지 않지만 오히려 충돌이 발생하여 예측할 수 없는 동작이 발생합니다. ifupdown은 /etc/network/interfaces를 사용하며 (IIRC) NetworkManager는 "수동" 및 "정적" 항목을 존중합니다. /lib/udev를 빠르게 스캔하여 udev를 표시하고 ifup 또는 systemd를 직접 호출합니다.[이메일 보호됨]그런 다음 ifup을 호출하십시오.

제 생각에는 인터페이스에서 정적 주소를 사용하는 경우 dhcpcd가 이전 ifupdown 방법에 비해 어떤 이점이 있는지 명확하지 않습니다. 명령으로 예측할 수 없는 동작을 해결했습니다. sudo apt-get remove dhcpcd5

에 대한@레이 F. 리베이로eth0 및 wlan0의 주소가 동일한 서브넷에 있는지 여부에 대해 설명합니다. Linux는 두 인터페이스가 동일한 서브넷에 있는지 상관하지 않습니다. 대부분의 홈 라우터/액세스 포인트는 유선 및 무선 LAN을 연결하므로 구성이 제대로 작동할 것입니다. Linux는 라우팅 테이블의 첫 번째 기본 경로를 사용하므로 이더넷이 연결되어 있어도 컴퓨터가 Wi-Fi 인터페이스를 사용할 수 있습니다.

관련 정보