Arquivos em /etc/network/interfaces.d ignorados, mas não o / etc / network / interfaces propriamente dito

17

Para o Ubuntu 16.04 LTS (GNU / Linux 3.10.96-113 armv7l)

Quando tenho o seguinte, minha configuração estática é ignorada:

/ etc / network / interfaces

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

No entanto, com o seguinte:

/ etc / network / interfaces

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

a configuração estática é definida na inicialização (independentemente do que eu tenho em interfaces.d /).

Caso seja relevante, estou usando uma regra do udev para renomear a interface eth0 (costumava ser "enx001e063110c0" ...)

    
por Luis de Arquer 25.11.2016 / 21:14

3 respostas

22

Eu acho que encontrei. No manual , o problema parece estar na palavra-chave source-directory . Parece que, desde 16.04, não é mais suportado.

Então, substituindo

source-directory /etc/network/interfaces.d

com

source /etc/network/interfaces.d/*

parece corrigir o problema.

    
por Luis de Arquer 27.11.2016 / 16:02
3

Eu tive aproximadamente o mesmo problema. Acontece que source-directory é suportado no meu sistema, mas inclui apenas arquivos cujos nomes de arquivo consistem em letras, números, traços e sublinhados.

É por isso que o meu eth0.conf não foi lido porque continha um ponto.

    
por Sjoerd 21.08.2017 / 19:11
2

Seu Kernel 3.10 é muito antigo para systemd IFF usando o systemd-v230 ou mais recente .

De acordo com os requisitos do kernel systemd no github em ( github.com - systemd README ) você precisa de versão > = 3.12 se você estiver usando systemd-v230 ou mais recente:

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

As linhas 37, 38 e 39 estão impressas acima.

Você está executando sob a arquitetura ARM, sobre a qual não sei muito bem. A pesquisa do Google me diz que seu armvl7 é usado pelo Raspberry Pi e é um kernel de 32 bits.

Atualizando seu Kernel para tempos modernos

Se você quiser a proteção de segurança mais recente ( 21 de outubro de 2016 ) "Dirty COW" ( Qual é o bug" Dirty COW ", e como posso proteger meu sistema contra ele? ) além de uma série de outros patches de segurança, correções de bugs e melhorias no sistema ( após sua versão 2013 ) você deve estar no kernel 4.4.0-47.

Infelizmente, não sei como fazer isso para um RaspberryPi. Eu vinculei esta questão a pessoas que usam o RaspberryPi e pedi que critiquem essa resposta.

    
por WinEunuuchs2Unix 26.11.2016 / 01:32