Editando interfaces de rede sem reiniciar o sistema

23

Eu gostaria de fazer algumas alterações na minha configuração de rede editando meu /etc/network/interfacesarquivo. Qual é a maneira mais limpa de fazer alterações nesse arquivo e fazê-las entrar em vigor, sem precisar reiniciar? Normalmente, eu venho fazendo:

  1. Edite o arquivo
  2. service networking restart

Mas tenho a impressão de que esse não é o caminho "certo" para fazer esses tipos de mudanças.

Lorin Hochstein
fonte
a rede de serviço é reiniciada quase = /etc/init.d/networking restart.
Shantanu

Respostas:

11

Desligue a interface de rede usando

sudo ifdown eth0

(substitua eth0pela interface que você deseja alterar) e exiba-a novamente usando

sudo ifup eth0
Florian Diesch
fonte
4
Isso não funcionou para mim. Apenas me deu um erro "eth0 não configurado". Eu tive que reiniciar o sistema para que as alterações entrassem em vigor no 12.04.
31413 JohnMerlino
4

No Ubuntu Server 16.04, você deve usar o comando ip para liberar o endereço antes de reiniciar a rede, caso contrário, qualquer alteração de endereço no arquivo de interfaces não terá efeito:

$ sudo ip addr flush interface-name
$ sudo systemctl restart networking

Eu recebi esta resposta deste artigo útil

BrianD
fonte
Perfeito, esta deve ser a resposta para a pergunta.
Drew
2

Pare todas as interfaces usando

sudo /etc/init.d/networking stop

Configure (edite) suas interfaces como desejar e, em seguida,

Inicie-os novamente

sudo /etc/init.d/networking start

Não há necessidade de reiniciar.

Achu
fonte
3
Isso também não funcionou no Ubuntu 12.04. Apenas o sistema de reinicialização funcionou.
31413 JohnMerlino
0

Por que você não acha que é o caminho certo? Pense, o que o ubuntu pode fazer mais durante a inicialização? O Ubuntu possui uma lista de serviços que precisam ser executados durante a inicialização, cada serviço possui uma lista de comandos consecutivos para iniciar a si próprio. O Ubuntu acabou de executar o serviço de rede através do script /etc/init.d/networking, que contém alguns comandos que precisam executar o serviço de rede. Portanto, se alguma alteração precisar ser aplicada à sua rede, você deverá reiniciar o serviço e, assim, recuperar os comandos consecutivos do serviço.

shantanu
fonte
Como a reinicialização é garantida para limpar todas as interfaces que eu configurei, e estou preocupado que, se eu remover uma interface do meu arquivo de interfaces, reiniciar o script de rede não irá se livrar dela.
Lorin Hochstein
você tem certeza? qualquer alteração na rede é trabalhada para mim com o sudo /etc/init.d/networking restart.
Shantanu
Por exemplo, se eu criar uma VLAN marcada (por exemplo, eth0.123) não parece ser automaticamente destruída quando eu reiniciar rede
Lorin Hochstein
sudo eth0 down --- sudo eth0 up
shantanu
/etc/init.d/networking reler todos os arquivos de configuração de rede e atualizar todas as configurações, por que destruir a interface criada? se você alterar seu ip ou dns ou esse tipo de informação, então / etc / ... é suficiente, se você criar uma LAN virtual, precisará reiniciar sua interface Ethernet (sudo eth0 para baixo e sudo eth0 para cima).
Shantanu
0

/etc/network/interfaces controla as ferramentas ifupdown.

Então, depois de fazer alterações, você pode apenas dizer, por exemplo sudo ifup eth0.

poolie
fonte
0

Na verdade, nenhum desses trabalhos. Testado no Ubuntu 16.10. estes não tiveram efeito.

  • ifdown ens3 e ifup ens3
  • rede de serviço parar e iniciar
  • recarga de rede de serviço
  • systemctl interrompa o networking.service e inicie novamente.

Por tudo isso, o antigo dhcp ip voltou e não a estática. Será que isso é intencional?

SLS
fonte