Existe uma ferramenta para validar arquivos / etc / network / interfaces?

22

Sempre gosto de testar novos arquivos de configuração antes de implantá-los - com ferramentas como apachectl configtest e named-checkconf .

É raro que erros surjam, mas pegá-los antes da implantação elimina qualquer impacto. O que me mordeu na parte traseira várias vezes é /etc/network/interfaces ; Eu não consigo encontrar uma ferramenta para testá-lo, e reiniciar a rede em uma máquina remota apenas para descobrir que ela não está mais acessível é muito chato - especialmente quando usamos muita ligação e ponte.

    
por Bryan Agee 08.12.2012 / 19:51

3 respostas

19

Para expandir a @ jdthood's answer ...

Se a interface já estiver ativa, você ainda pode usar esse método para validar o arquivo /etc/network/interfaces . Por exemplo, supondo que você tenha um erro, poderá ver algo assim:

$ sudo ifup --no-act eth0
/etc/network/interfaces:11: unknown method
ifup: couldn't read interfaces file "/etc/network/interfaces"

Aparentemente, há um erro na linha 11. Ótimo. Graças a Deus eu não balancei a rede apenas para perder o acesso SSH!

Se tudo estiver bem, você verá:

$ sudo ifup --no-act eth0
ifup: interface eth0 already configured
    
por Drew Noakes 05.01.2014 / 20:35
7

O seguinte pode fazer parte do que você quer.

ifup --no-act eth0
    
por jdthood 13.12.2012 / 13:30
5

Se você não tiver uma eth0, isso não funcionará, por exemplo:

Ignoring unknown interface eth0=eth0.

Mas se você fizer assim:

ifup -a --no-act ; echo "status: $?"

Com a configuração ok:

ifup -a --no-act ; echo "status: $?"
run-parts  /etc/network/if-pre-up.d
run-parts  /etc/network/if-up.d
status: 0

Com configuração não ok:

ifup -a --no-act ; echo "status: $?"
/etc/network/interfaces:12: option with empty value
ifup: couldn't read interfaces file "/etc/network/interfaces"
status: 1
    
por Båt Karl Patrik Andersson 10.04.2014 / 10:16