Как программно вносить постоянные изменения в сетевой интерфейс?

Как программно вносить постоянные изменения в сетевой интерфейс?

Я использую Debian Wheezy на встроенной платформе (вариант Beaglebone) и хочу разрешить пользователям вносить постоянные изменения в сетевой интерфейс, например, менять статический на DHCP или добавлять шлюз. После внесения изменений я хочу, чтобы они могли пережить перезагрузку, чтобы они отображались с последним внесенным изменением, выбранным пользователем.

Поскольку пользователи будут изменять это через веб-интерфейс, я хочу внести изменения программно. Я думал о создании нового файла «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-directoryнедоступно в wheezy.

Связанный контент