/etc/network/interfaces.d의 파일은 무시되었지만 / etc / network / interfaces 자체는 무시되었습니다.


19

우분투 16.04 LTS (GNU / Linux 3.10.96-113 armv7l)

다음이 있으면 정적 구성이 무시됩니다.

/ etc / network / 인터페이스

source-directory /etc/network/interfaces.d

/etc/network/interfaces.d/eth0

auto eth0
iface eth0 inet static
        address 192.168.40.112
        netmask 255.255.255.0
        gateway 192.168.40.1
        dns-nameservers 8.8.8.8

그러나 다음과 같이

/ etc / network / 인터페이스

auto eth0
iface eth0 inet static
        address 192.168.40.112
        netmask 255.255.255.0
        gateway 192.168.40.1
        dns-nameservers 8.8.8.8

source-directory /etc/network/interfaces.d

정적 구성은 부팅시 설정됩니다 (interfaces.d /에있는 것과 독립적으로).

관련이있는 경우, udev 규칙을 사용하여 eth0 인터페이스의 이름을 바꿉니다 (이전에는 "enx001e063110c0"이었습니다).


제 직감은 더 이상 지원되지 않는 커널 버전 3.10과 관련이 있습니다.
— WinEunuuchs2Unix

그것은 나에게 커널 문제처럼 들리지 않습니다. 그러나 나는 systemd로 이동 한 후 네트워킹 초기화가 어떻게 작동하는지에 대해서는 아직 단서가 없다
— Luis de Arquer

궁금한 점은 왜 최신 버전 대신 Linux 3.10을 실행하는 것입니까?
— wjandrea

커널에 대한 요점은 stystemd가 이후 버전까지 나오지 않는다고 생각했지만 여전히 전화를 사용하고 있으며 확인할 수 없습니다.
— WinEunuuchs2Unix

@LuisdeArquer 아래 커널 문제에 답했습니다.
— WinEunuuchs2Unix 1

답변:


28

내가 찾은 것 같아 로부터 매뉴얼 에 문제가있는 것으로 보인다 source-directory키워드. 16.04 이후로 더 이상 지원되지 않는 것 같습니다.

따라서 교체

source-directory /etc/network/interfaces.d

와

source /etc/network/interfaces.d/*

문제를 해결하는 것 같습니다.


당신에게 좋습니다. 끈기 +1 :) 이틀 후에 다시 와서 문제를 해결하는 것으로 답변을 표시하십시오 (답변 옆의 확인 표시를 클릭하고 녹색으로 표시)
— WinEunuuchs2Unix

@ WinEunuuchs2Unix 도와 주셔서 감사합니다! :)
— Luis de Arquer

이것은 현재 (2018 년 3 월) 버전의 라즈 비아 에서도 동일한 문제를 해결하는 것으로 보입니다 .
— iX3

1
매우 흥미로운. Odroid Ubuntu 16.04도이 문제의 영향을받습니다.
— Marcus

5

나는 거의 같은 문제가 있었다. 그것은 source-directory내 시스템에서 지원되지만 파일 이름이 문자, 숫자, 대시 및 밑줄로 구성된 파일 만 포함합니다.

그래서 내 eth0.conf에 점이 포함되어있어 읽지 못했습니다.


모든 IT의 가치를 위해 - 나는 14.04과 16.04에 여러 대의 컴퓨터가 확인 한 그 파일 w / O 확장에 /etc/network/interfaces.d잘에서 공급받을 /etc/network/interfaces와 source-directory /etc/network/interfaces.d...) 우리의 환경에서 네트워크 관리자가 서버에서 제거됩니다 또한 무가치; 너무 예측할 수 : D
— tink

2

Kernel 3.10은 systemd systemd-v230 이상을 사용 하는 IFF에 비해 너무 오래되었습니다 .

에 따르면 systemd에 GitHub의에서 커널 요구 사항 ( github.com - systemd README ) 당신이 사용하는 경우 버전> = 3.12 필요 systemd-v230이상 :

REQUIREMENTS:
        Linux kernel >= 3.12
        Linux kernel >= 4.2 for unified cgroup hierarchy support

37, 38 및 39 행이 위에 인쇄되어 있습니다.

솔직히 아는 ARM 아키텍처에서 실행 중입니다. Google 검색에 따르면 귀하 armvl7는 Raspberry Pi에서 사용되고 32 비트 커널이라고합니다.

커널을 현대로 업데이트

최신 ( 2016 년 10 월 21 일 ) "Dirty COW"보안 보호 ( "Dirty COW"버그 란 무엇이며 어떻게 시스템을 보호 할 수 있습니까? ) 를 원한다면 다른 보안 패치, 버그 수정 및 시스템 개선 사항 ( 2013 버전 이후 )은 커널 4.4.0-47에 있어야합니다.

불행히도 나는 RaspberryPi를 위해 그것을하는 방법을 모른다. 이 질문을 RaspberryPi를 사용하는 사람들과 연결하여이 답변을 비판하도록 요청했습니다.


확인하기 위해 : Pi의 ARM CPU는 실제로 32 비트입니다.
— Nathan Osman

@NathanOsman은 :) 나를 위해이 새로운 주제 영역을 확인 주셔서 감사합니다
— WinEunuuchs2Unix

이것을 지적 +1. 그러나 이것을 참조 하십시오 . Systemd는 일반적으로 2y 오래된 커널을 지원하므로 옳을 수도 있지만 이것이 근본 원인이라는 사실에 놀랄 것입니다. 실행중인 시스템 버전을 확인하겠습니다. 그러나 최신 버전 인 경우에도 사용자 공간 문제처럼 들리지 않습니까? 커널이 어떻게 한 파일을 읽을 수 있지만 다른 파일을 읽지 못하게 할 수 있습니까? 그리고 두 번째 경우에는 네트워크 구성이 문제없이 명확하게 적용됩니다. [다음 의견에 더]
— 루이스 드 Arquer

일반적으로 커널을 업그레이드하고 테스트하지만이 경우 어려울 수 있습니다. 이 시스템은 ODROID XU4에서 실행되며 보안이 문제가되지 않지만 커널을 변경하는 데 다소 시간이 걸릴 수 있으며 안정성으로 인해 장기적인 해결책이 아닙니다. 다른 해결책이 없다면 호기심을 위해 시도해 볼 수도 있습니다.)
— Luis de Arquer

@NathanOsman 실제로, CPU 자체는 Raspberry 3에서 64 비트입니다 (그러나 일반적으로 32 비트 커널과 함께 사용됨)
— Luis de Arquer
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.