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

26

Eu sempre gosto de testar novos arquivos de configuração antes de implantá-los - com ferramentas como apachectl configteste named-checkconf.

É raro que ocorram erros, mas capturá-los antes da implantação elimina qualquer impacto. Aquele que me mordeu nas costas várias vezes é /etc/network/interfaces; Parece que não consigo encontrar uma ferramenta para testá-lo, e reiniciar a rede em uma máquina remota apenas para descobrir que não está mais acessível é bastante irritante - especialmente quando usamos muitas ligações e pontes.

Bryan Agee
fonte

Respostas:

24

Para expandir a resposta de @ jdthood ...

Se a interface já estiver ativa, você ainda poderá usar esse método para validar o /etc/network/interfacesarquivo. 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 pulei a rede apenas para perder o acesso SSH!

Se tudo estiver bem, você verá:

$ sudo ifup --no-act eth0
ifup: interface eth0 already configured
Drew Noakes
fonte
9

O seguinte pode fazer parte do que você deseja.

ifup --no-act eth0
jdthood
fonte
6

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

Ignoring unknown interface eth0=eth0.

Mas se você faz assim:

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

Com ok config:

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
Karl Karl Patrik Andersson
fonte