¿Existe una herramienta para validar / etc / network / interfaces files?

26

Siempre me gusta probar nuevos archivos de configuración antes de implementarlos, con herramientas como apachectl configtesty named-checkconf.

Es raro que surjan errores, pero atraparlos antes de la implementación elimina cualquier impacto. El que me ha mordido en la espalda varias veces es /etc/network/interfaces; Parece que no puedo encontrar una herramienta para probarlo, y reiniciar la red en una máquina remota solo para descubrir que ya no es accesible es bastante molesto, especialmente cuando usamos muchos enlaces y puentes.

Bryan Agee
fuente

Respuestas:

24

Para ampliar la respuesta de @ jdthood ...

Si la interfaz ya está activa, aún puede usar este método para validar el /etc/network/interfacesarchivo. Por ejemplo, suponiendo que tenga un error, puede ver algo como esto:

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

Aparentemente hay un error en la línea 11. Genial. ¡Gracias a Dios que no reboté la red solo para perder el acceso SSH!

Si todo está bien, verá:

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

Lo siguiente puede hacer parte de lo que desea.

ifup --no-act eth0
jdthood
fuente
6

Si no tiene un eth0, esto no funcionará, por ejemplo:

Ignoring unknown interface eth0=eth0.

Pero si te gusta esto:

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 una configuración no correcta:

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
Båt Karl Patrik Andersson
fuente