如何以编程方式进行持久网络接口更改?

如何以编程方式进行持久网络接口更改?

我在嵌入式平台(Beaglebone 变体)上运行 Debian Wheezy,并希望允许用户对网络接口进行持久更改 - 例如,从静态更改为 DHCP 或添加网关。一旦他们进行了更改,我希望它能够在重新启动后继续存在,以便它能够显示用户选择的最后一次所做的更改。

由于用户将通过网络服务的 UI 更改此设置,因此我想以编程方式进行更改。我正在考虑生成一个新的“interfaces”文件并替换现有的 /etc/network/interaces 文件(然后强制重新启动),但想知道是否有一种侵入性较小的方法来执行此操作,例如通过命令行或其他编程方法。虽然我的板载服务器代码具有生成替换 /etc/network/interfaces 文件所需的所有信息,但我担心遇到的任何错误都可能会破坏接口文件并有效地破坏用户的系统。因此,我提出了一种较少侵入性的方法来做到这一点。

这就是我们当前的出厂设置“interfaces”文件的样子:

# loopback network interface
auto lo
iface lo inet loopback

#primary network interface
auto eth0
iface eth0 inet static
address 192.168.168.1
netmask 255.255.255.0
hwaddress ether xx:xx:xx:xx:xx:10

#secondary network interface
auto eth1
iface eth1 inet manual
hwaddress ether xx:xx:xx:xx:xx:11

答案1

您可以通过sourceinterfaces文件中的关键字分隔固定部分和可变部分来限制损坏。不幸的是,source-directory在喘息中不可用。

相关内容