Como faço alterações persistentes na interface de rede programaticamente?

Como faço alterações persistentes na interface de rede programaticamente?

Estou executando o Debian Wheezy em uma plataforma embarcada (variante Beaglebone) e quero permitir que os usuários façam alterações persistentes em uma interface de rede - por exemplo, mude de estático para DHCP ou adicione um gateway. Depois que eles fizerem a alteração, quero que ele sobreviva a uma reinicialização, para que apareça a última alteração selecionada pelo usuário.

Como os usuários mudarão isso por meio de uma interface de usuário veiculada na Web, quero fazer as alterações de forma programática. Eu estava pensando em gerar um novo arquivo de 'interfaces' e substituir o arquivo /etc/network/interaces existente (forçando uma reinicialização), mas queria saber se existe uma maneira menos intrusiva de fazer isso, por exemplo, através da linha de comando ou outro método programático. Embora meu código de servidor integrado tenha todas as informações necessárias para gerar um arquivo /etc/network/interfaces substituto, temo que qualquer erro que eu encontre possa quebrar o arquivo de interfaces e efetivamente bloquear o sistema para o usuário. Daí a minha pergunta sobre uma maneira menos intrusiva de fazer isso.

Esta é a aparência do nosso arquivo de 'interfaces' de configuração de fábrica atual:

# 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

Responder1

Você pode limitar os danos separando as partes fixas e variáveis ​​por meio da sourcepalavra-chave em seu interfacesarquivo principal. Infelizmente, source-directorynão está disponível em wheezy.

informação relacionada