是否有用于验证/ etc / network / interfaces文件的工具?


26

我总是喜欢在部署新配置文件之前先测试它们,例如使用apachectl configtest和工具named-checkconf

很少会出现错误,但是在部署之前发现错误可以消除任何影响。在背面多次咬我的是/etc/network/interfaces; 我似乎找不到能够测试它的工具,并且在远程计算机上重新启动网络以发现它不再可访问是相当烦人的-特别是当我们使用大量绑定和桥接时。

Answers:


24

为了扩展@jdthood的答案 ...

如果接口已经打开,您仍然可以使用此方法来验证/etc/network/interfaces文件。例如,假设您有一个错误,您可能会看到以下内容:

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

显然,第11行有错误。太棒了。谢天谢地,我并没有因为失去SSH访问而跳出网络!

如果一切正常,您将看到:

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

9

以下内容可能会满足您的要求。

ifup --no-act eth0

6

如果您没有eth0,它将无法正常工作,例如:

Ignoring unknown interface eth0=eth0.

但是,如果您这样做:

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

使用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

使用非确定的配置:

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
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.