/etc/dhcpcd.conf와 / etc / network / interfaces의 차이점은 무엇입니까?


63

이 구성은 / etc / network / interfaces에 있습니다 .

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 / network / interfaces 와 작동 했지만 왜 eth0이 작동하지 않습니까?

  3. 합니까 dhcpcd를이 이상 어떻게 든 우선 순위가 을 / etc / 네트워크 / 인터페이스를 ?

  4. 어떤 서비스가 우선 순위 또는 소팅인지 확인하는 방법은 무엇입니까? 어떤 서비스가 / etc / network / interface를 사용 합니까?


4
좋은 질문과 내가 묻고 싶었던 것 #raspbian. 수년간의 유닉스 관리자 인 저는이 근본적인 변화에 당혹스러운 문서가 부족하다는 사실을 알게되었습니다. 1 시간의 시행 착오를 보낸 후이 질문을 발견했습니다. 이전에 raspberrypi.stackexchange.com/questions/37920/…을 찾았 으면 좋겠습니다.
Alastair McCormack

eth0이 정확히 어떻게 실패했는지에 대한 질문에 질문을 받았어야한다고 생각합니까? ip addr출력과 systemctl status networking출력 은 무엇입니까 ? OP가 ssh를 통해 그것을 시도하고 eth0 ip를 사용하여 ssh에 넣으면 수정 된 eth0 ip가 eth0에 보조 ip로 할당되어 진행중인 ssh 세션을 중단시키지 않기 위해 eth0 ip를 OP로 변경하려고 시도했기 때문에 언급했지만 wlan0을 통해 sshing하고 작동하고 dhcp보다 우선합니다. 내 경우에는 Stretch에서 dhclient이지만 eth0을 통해 sshing하면 앞에서 언급 한 사례가 발생합니다.
Pavel Sayekat

그렇습니다 .dhcpcd도 테스트를 거쳤으며, 설정보다 우선하지는 않습니다 /etc/network/interfaces.
Pavel Sayekat

답변:


65

이 질문에 대한 모든 답변에는 좋은 점이 있지만 특정 질문을 직접 해결할 수있는 범위가 있다고 생각합니다.

  1. 어떤 파일을 언제 사용합니까?

나는 데비안 'Wheezy'대신 데비안 ' Jessie '를 도입하면서 현재 (더 넓은 Raspberry Pi 커뮤니티에서) 발생하는 일반적인 혼란으로 고통 받고 있다고 가정합니다 . 이 변경으로 최악의 구식과 혼동을 일으키는 많은 자습서가 만들어졌습니다.

이 질문에 대한 대답은 Wheezy를 사용할 때 /etc/network/interfaces네트워크 인터페이스 설정을 위해 파일을 변경하는 것이 일반적이라는 것입니다 (그림 참조). Jessie를 사용할 때는 '/etc/dhcpcd.conf'를 변경해야합니다. 그러나 무선 연결 ( wlan0)을 변경하는 /etc/wpa_supplicant/wpa_supplicant.conf경우 네트워크 ssid 및 비밀번호를 추가 할 위치도 변경해야 합니다.

  1. Wi-Fi가 / etc / network / interfaces와 작동했지만 왜 eth0이 작동하지 않습니까?

파일에 누락 된 정보가 있기 때문에 Wi-Fi 연결이 어떻게 작동했는지 잘 모르겠습니다 (적어도 ssid). janos가 지적한 바와 같이, wlan0 세부 사항 이후에 오는 etho 연결 세부 사항의 우선 순위는 파일을 읽는 프로세스에서 마지막에 볼 수 있었기 때문에 이들을 작동시킬 수 있습니다.

  1. dhcpcd가 / etc / network / interface보다 우선 순위가 있습니까?

아니요, 그것들은 다르며 Jessie의 다른 목적에 맞게 설계되었습니다. 아주 간단한 방법으로 제시 사용의 목적을 위해 당신은 거의 무시할 수 있습니다 interfaces파일과 함께 작동 dhcpcd.conf하고 wpa_supplicant.conf.

  1. 어떤 서비스가 우선 순위 또는 소팅인지 확인하는 방법은 무엇입니까? 어떤 서비스가 / etc / network / interface를 사용합니까?

다시 한 번 질문은 ' 어떤 파일을 사용해야하며 우선 순위가 높은 파일을 사용해야합니까?' ' 질문. 대답은 Wheezy에서 Jessie로 (그리고 systemd 채택으로 더 넓은 의미에서 ) 변경 될 때`dhcpcd.conf '및'wpa_supplicant.conf '의 구성이 표준이되고'인터페이스 '파일이 남게됩니다 그것은 자신의 장치입니다.

이것이 당신에게 무엇을 의미합니까?

고정 IP 주소로 하드 유선 (eth0) 및 무선 (wlan0) 연결을 설정한다고 가정하면 interfaces파일이 처음 설치 될 때 기본값 이되기를 원할 것입니다 .

# Please note that this file is written to be used with dhcpcd
# For static IP, consult /etc/dhcpcd.conf and 'man dhcpcd.conf'

# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d

auto lo
iface lo inet loopback

iface eth0 inet manual

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

당신은 당신의 원하는 것이 dhcpcd.conf아마이 같은 비트를 보일 것 두 인터페이스와 추가 항목에 대한 파일의 끝에 연결 세부 사항을 포함하는 파일을;

# Custom static IP address for eth0.
interface eth0
static ip_address=192.168.0.115/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1

# Custom static IP address for wlan0.
interface wlan0
static ip_address=192.168.0.115/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1

마지막으로 wpa_supplicant.confwifi 네트워크의 ssid와 암호가 포함되도록 파일 을 편집하려고 합니다. 아마 다음과 같이 보일 것입니다.

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
    ssid="homenetwork"
    psk="h0mepassw0rd"
}

나는 그것이 그것을 커버하기를 바랍니다. 내 가정이 잘못되었을 가능성이 매우 높지만 최근에 비슷한 학습 곡선을 겪었으므로 데이터가 유용하기를 바라고 있습니다.

나는 실제로 이것을 작성 했으며 Leanpub에서 무료 전자 책 Just Raspberry Pi 로 정보를 얻을 수 있습니다 .


1
작동하지 않습니다. 예를 들어 ifconfig eth0을 ping하여 외부와 ssh를 외부에서 작동하지 않습니다. 인터페이스 중 하나를 dhcp에 넣으면 모든 것이 작동합니다.
giuseppe

누군가가 귀하의 질문
d3noob

몇 가지 이유로 나를 위해 작동하지 않았습니다. 첫 번째는 질문이 일반적인 것이며, 답변이 제시에 대한 것이면 오래 전에 이루어졌으며 우리는 대부분 늘려 갔으며 이번 주에는 버스터가되었습니다. 내 인터페이스 파일에는 언급 한 내용이 없습니다.
브라이언 Bulkowski

6

우선 순위는 init 또는 systemd 구성과 관련이 있습니다. dhcp와 관련하여 : 정적으로 또는 수동으로 구성된 인터페이스가 있고 dhcp가 이후에 주소 요청을 시작하면 이미 가지고있는 것보다 우선합니다. 데비안에서는 dhcp가 마법 자체 만이 아니라 dhcp를 지정하는 인터페이스에 대해 시작됩니다. 예기치 않은 동작이 발생하면 NetworkManager와 같은 백그라운드에서 다른 시스템이 실행 중일 수 있습니다.

포인트 당 :

  1. dhcpcd.conf를 전혀 사용하지 마십시오.
  2. eth0 allow 핫 플러그 ​​회선이 없습니다.
  3. 네트워킹 후 dhcpcd가 시작되고 인터페이스를 인계하도록 설정 한 경우 인터페이스가 작동합니다.
  4. 해당 서비스를 시작한 순서를 확인하십시오.

4

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

eth0그것이에 표시되지 있기 때문에 인터페이스는 아마도 시스템 부팅시 제기되지 않았다 auto라인. 보낸 사람 man interfaces:

단어 "auto"로 시작하는 행은 ifup이 -a 옵션과 함께 실행될 때 나타나는 물리적 인터페이스를 식별하는 데 사용됩니다. 이 옵션은 시스템 부팅 스크립트에서 사용됩니다. 물리적 인터페이스 이름은 같은 줄에서 "auto"라는 단어 뒤에 와야합니다. 여러 개의 "자동"스탠자가있을 수 있습니다. ifup은 이름이 지정된 인터페이스를 나열된 순서대로 표시합니다.

이 줄을 바꾸십시오 :

auto lo

이에:

auto lo eth0

그런 다음 작동합니다.

다른 답변은 다른 질문을 해결했습니다. 이게 도움이 되길 바란다.


2
이것이 답입니다. OP에도 다른 문제가 있지만 정적 정보를 방금 추가 한 다른 가이드를 따르는 사람들과 같은 사람들에게 /etc/network/interfaces누락 된 부분은 auto eth0네트워킹을 다시 시작하거나 재부팅했습니다!
Adam Kaplan

2

참조 내가 네트워크 / 무선 랜 / 고정 IP를 설정하려면 어떻게 네트워킹을 설정하는 방법에 대한 자세한 내용은.

/etc/network/interfaces원하는 경우 이전 방법을 사용할 수 있습니다 . 불행히도 나열된 파일에는 많은 오류가 포함되어 있습니다. 표준 구성 중 하나를 고수해야합니다.

/etc/network/interfaces (기본값 이외의) 실제로 사용 하려면을 비활성화해야합니다 dhcpcd.

dhcpcd이 포럼에 대한 설명 은 너무 복잡하지만 링크 https://wiki.archlinux.org/index.php/dhcpcd 는 좋은 요약을 제공합니다.


2

먼저 /etc/network/interfaces파일을 원래 버전으로 되돌립니다.

# interfaces(5) file used by ifup(8) and ifdown(8)
# Please note that this file is written to be used with dhcpcd
# For static IP, consult `/etc/dhcpcd.conf` and `man dhcpcd.conf`

# Include files from `/etc/network/interfaces.d`:
source-directory /etc/network/interfaces.d

auto lo
iface lo inet loopback

iface eth0 inet manual

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

그런 다음 /etc/dhcpcd.conf파일 변경 사항을 단순하고 무선으로 유지하십시오 .

(파일 하단에 ...)

nohook lookup-hostname

interface wlan0
    static ip_address=192.168.0.53/24
    static routers=192.168.0.1
    static domain_name_servers=8.8.8.8

/etc/wpa_supplicant/wpa_supplicant.conf:

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=US

network={
    ssid="The SSID of your Router"
    psk="daPassword"
    scan_ssid=1
    key_mgmt=WPA-PSK
}

0

최신 버전의 Raspbian Jessie (2016 년 12 월 30 일)에는 인터페이스 파일의 두 번째 줄에 결함이 포함되어 있습니다. 두 번째 줄에는 줄을 주석으로 지정하기위한 선행 # 기호가 없습니다. 이 문제로 인해 시스템에서 인터페이스 파일을 읽을 수 없습니다. 이 오류를 발견하기 전에 Wi-Fi가 작동하도록 많은 시간을 보냈습니다.

문제를 해결하려면 줄의 시작 부분에 # 기호를 추가하면됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.