web-dev-qa-db-fra.com

Existe-t-il un outil pour valider les fichiers / etc / network / interfaces?

J'aime toujours tester les nouveaux fichiers de configuration avant de les déployer - avec des outils tels que apachectl configtest et named-checkconf.

Il est rare que des erreurs se produisent, mais les détecter avant le déploiement élimine tout impact. Celui qui m'a mordu à l'arrière plusieurs fois est /etc/network/interfaces; Je n'arrive pas à trouver un outil pour le tester, et redémarrer le réseau sur une machine distante pour découvrir qu'il n'est plus joignable est assez ennuyant - surtout lorsque nous utilisons beaucoup de liaisons et de ponts.

24
Bryan Agee

Pour développer réponse de @ jdthood ...

Si l'interface est déjà active, vous pouvez toujours utiliser cette méthode pour valider le fichier /etc/network/interfaces. Par exemple, en supposant que vous avez une erreur, vous pouvez voir quelque chose comme ceci:

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

Apparemment, il y a une erreur sur la ligne 11. Génial. Dieu merci, je n'ai pas fait rebondir le réseau pour perdre un accès SSH!

Si tout va bien, vous verrez:

$ Sudo ifup --no-act eth0
ifup: interface eth0 already configured
24
Drew Noakes

Ce qui suit peut faire partie de ce que vous voulez.

ifup --no-act eth0
8
jdthood

Si vous n'avez pas d'eth0, cela ne fonctionnera pas, par exemple:

Ignoring unknown interface eth0=eth0.

Mais si vous aimez ça:

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

Avec 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

Avec config 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