Apakah ada alat untuk memvalidasi / etc / network / interfaces file?

26

Saya selalu ingin menguji file konfigurasi baru sebelum menyebarkannya - dengan alat seperti apachectl configtestdan named-checkconf.

Jarang kesalahan muncul, tetapi menangkapnya sebelum penerapan menghilangkan dampak apa pun. Yang menggigit saya di bagian belakang beberapa kali adalah /etc/network/interfaces; Sepertinya saya tidak dapat menemukan alat untuk mengujinya, dan memulai kembali jaringan pada mesin jarak jauh hanya untuk mengetahui bahwa alat itu tidak lagi terjangkau cukup menyebalkan - terutama ketika kita menggunakan banyak ikatan dan penghubung.

Bryan Agee
sumber

Jawaban:

24

Untuk memperluas jawaban @ jdthood ...

Jika antarmuka sudah naik, Anda masih bisa menggunakan metode ini untuk memvalidasi /etc/network/interfacesfile. Misalnya, dengan asumsi Anda memiliki kesalahan, Anda mungkin melihat sesuatu seperti ini:

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

Ternyata ada kesalahan di saluran 11. Hebat. Syukurlah saya tidak terpental jaringan hanya untuk kehilangan akses SSH!

Jika semuanya baik-baik saja, Anda akan melihat:

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

Berikut ini dapat melakukan bagian dari apa yang Anda inginkan.

ifup --no-act eth0
jdthood
sumber
6

Jika Anda tidak memiliki eth0 ini tidak akan berfungsi, misalnya:

Ignoring unknown interface eth0=eth0.

Tetapi jika Anda suka ini:

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

Dengan konfigurasi ok:

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

Dengan konfigurasi 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
Båt Karl Patrik Andersson
sumber