プログラムによって永続的なネットワーク インターフェイスの変更を行うにはどうすればよいですか?

プログラムによって永続的なネットワーク インターフェイスの変更を行うにはどうすればよいですか?

私は組み込みプラットフォーム (Beaglebone バリアント) で Debian Wheezy を実行しており、ユーザーがネットワーク インターフェイスに永続的な変更 (静的から DHCP への変更やゲートウェイの追加など) を行えるようにしたいと考えています。変更を行った後は、再起動しても変更が維持されるようにして、ユーザーが選択した最後の変更が反映されるようにしたいと考えています。

ユーザーは Web ベースの 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

sourceメイン ファイル内のキーワードを使用して固定部分と可変部分を分離することで、被害を制限できますinterfaces。残念ながら、source-directorywheezy では使用できません。

関連情報