Esiste uno strumento per la convalida dei file / etc / network / interfaces?


26

Mi piace sempre testare nuovi file di configurazione prima di distribuirli - con strumenti come apachectl configteste named-checkconf.

È raro che si verifichino errori, ma catturarli prima dell'implementazione elimina qualsiasi impatto. Quello che mi ha morso più volte sul retro è /etc/network/interfaces; Non riesco a trovare uno strumento per testarlo e riavviare la rete su una macchina remota solo per scoprire che non è più raggiungibile è abbastanza fastidioso, specialmente quando usiamo molto bonding e bridge.

Risposte:


24

Per espandere la risposta di @ jdthood ...

Se l'interfaccia è già attiva, è comunque possibile utilizzare questo metodo per convalidare il /etc/network/interfacesfile. Ad esempio, supponendo che tu abbia un errore, potresti vedere qualcosa del genere:

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

Apparentemente c'è un errore sulla linea 11. Fantastico. Grazie al cielo non ho fatto rimbalzare la rete solo per perdere l'accesso a SSH!

Se tutto va bene, vedrai:

$ sudo ifup --no-act eth0
ifup: interface eth0 already configured

9

Quanto segue può fare parte di ciò che desideri.

ifup --no-act eth0

6

Se non hai un eth0 questo non funzionerà, ad esempio:

Ignoring unknown interface eth0=eth0.

Ma se lo fai in questo modo:

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

Con 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

Con configurazione non 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
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.