/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/interfacessource-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.