Qual é o método preferido para reiniciar a rede no Ubuntu e no Debian?

35

Quando eu reinicio a rede usando:

/etc/init.d/networking restart

Eu recebo este aviso:

 Running /etc/init.d/networking restart is deprecated because it may not enable again some interfaces

Então, qual é a melhor maneira de reiniciar a rede depois de fazer alterações agora?

Este problema também se aplica ao Debian, já que o pacote netbase é herdado do debian.

    
por Antonius Bloch 15.05.2011 / 18:16

7 respostas

26

É só dizer que a opção de reinicialização está indo embora

/etc/init.d/networking stop; /etc/init.d/networking start

Note que existe apenas uma linha! Isso é importante ao executar o reinício da rede pela rede.

    
por 15.05.2011 / 18:26
19

Execute o comando init.d sem parâmetros, ele informará qual é o uso:

~# /etc/init.d/networking 
Usage: /etc/init.d/networking {start|stop}

Parece que a reinicialização está obsoleta

Ele está obsoleto também no Debian, pelo menos desde:

netbase (4.38) unstable; urgency=low

  * Create /etc/sysctl.d/bindv6only.conf on upgrades and new installs
    to set net.ipv6.bindv6only=1.
  * Made the init script check for swap over the network. (Closes: #540697)
  * Temporarily depend on initscripts to work around a bug in multistrap.
    (Closes: #556399)
  * etc-services: added sieve (4190/tcp).
  * etc-services: removed sieve (2000/tcp). (Closes: #555664)
  * Made the init script warn that using the force-reload and restart
    parameters is not a good idea. (Closes: #550240)

 -- Marco d'Itri <[email protected]>  Sun, 06 Dec 2009 17:09:41 +0100

O bug relacionado # 550240 aqui

O que é bem desagradável. Para reiniciar o netwokring remotamente, provavelmente a melhor e mais segura abordagem será executada em uma sessão de tela :

~# /etc/init.d/networking stop; /etc/init.d/networking start

A partir do atual script networking init, restart e force-reload funcionarão na maioria das circunstâncias. Eu acho que é razoavelmente seguro ignorar o aviso e ainda usar o restart . No entanto eu vou com o stop + start way :-)

case "$1" in
start)
    process_options

    log_action_begin_msg "Configuring network interfaces"
    if ifup -a; then
        log_action_end_msg $?
    else
        log_action_end_msg $?
    fi
    ;;

stop)
    check_network_file_systems
    check_network_swap

    log_action_begin_msg "Deconfiguring network interfaces"
    if ifdown -a --exclude=lo; then
        log_action_end_msg $?
    else
        log_action_end_msg $?
    fi
    ;;

force-reload|restart)
    process_options

    log_warning_msg "Running $0 $1 is deprecated because it may not enable again some interfaces"
    log_action_begin_msg "Reconfiguring network interfaces"
    ifdown -a --exclude=lo || true
    if ifup -a --exclude=lo; then
        log_action_end_msg $?
    else
        log_action_end_msg $?
    fi
    ;;

*)
    echo "Usage: /etc/init.d/networking {start|stop}"
    exit 1
    ;;
esac
    
por 15.05.2011 / 18:32
5

Eu uso nohup sh -c "/etc/init.d/networking stop; sleep 2; /etc/init.d/networking start" . Eu adiciono sleep 2 porque acho que talvez os problemas com o reinício tivessem algo a ver com latências dependentes de hardware, mas isso não é confirmado e uma regra geral é algo que eu tenho vergonha de tornar público. Então você pode pular isso se estiver se sentindo racional!

    
por 15.05.2011 / 20:45
3

O comando abaixo funciona bem em um ambiente de servidor, sem lançar avisos. Implementa o pedido de parar e iniciar no serviço de rede.

sudo service networking start
    
por 21.08.2014 / 07:38
2

que tal nohup sh -c "ifdown -a && ifup -a"

    
por 22.01.2012 / 07:02
1

No Debian Wheezy,

service networking restart

parece fazer o que é esperado e não reclama.

Eu acho que em Jessie com systemd pode ser diferente novamente.

    
por 18.07.2015 / 15:26
0

Se você não conseguir encontrar o motivo de a rede falhar ao reiniciar, faça-o no modo detalhado dentro de uma screen session:

ifdown -v --force eth0; ifup -v eth0
    
por 23.06.2017 / 06:42