¿Cuál es el método preferido para reiniciar las redes en Ubuntu y Debian?

37

Cuando reinicio la red usando:

/etc/init.d/networking restart

Recibo esta advertencia:

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

Entonces, ¿cuál es la mejor manera de reiniciar la red después de hacer cambios ahora?

Este problema también se aplica a Debian ya que el paquete netbase se hereda de debian.

Antonius Bloch
fuente

Respuestas:

27

Solo dice que la opción de reinicio desaparecerá

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

Tenga en cuenta que solo hay una línea. Eso es importante cuando se ejecuta el reinicio de red a través de la red.

Micro
fuente
28
dos comandos: - / mala idea si estás en remoto. Mejor use un forro:/etc/init.d/networking stop; /etc/init.d/networking start
hmontoliu
@hmontoliu: de nuevo, parece aconsejable utilizar el reinicio en desuso, ya que no puede olvidar el comando de inicio
mbx
1
Si está en control remoto, siempre debe usarscreen
Avio
55
La pantalla realmente no ayudará si apaga la red en un servidor remoto. En este caso, tendría que buscar algún tipo de acceso directo, que no siempre es conveniente.
metakermit
1
stopy startobviamente no están en desuso pero se usan en combinación, tienen el mismo problema potencial que restartsolía tener.
Håkan Lindqvist
19

Ejecute el comando init.d sin parámetros, le dirá cuál es el uso:

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

Parece que el reinicio está en desuso

Está en desuso también en Debian al 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

El error relacionado # 550240 aquí

Lo cual es bastante desagradable. Para reiniciar la conexión de red remota, probablemente el mejor y más seguro enfoque se ejecutará en una sesión de pantalla :

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

A partir del networkingguión de inicio de hoy , restarty force-reloadfuncionará en la mayoría de las circunstancias. Supongo que es razonablemente seguro ignorar la advertencia y seguir usando el reinicio . Sin embargo, seguiré con la parada + inicio :-)

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
hmontoliu
fuente
De Verdad? ¡Reiniciar es útil cuando trabaja de forma remota!
Antonius Bloch
2
Mira mi edición. Estoy de acuerdo en que un reinicio a prueba de balas sería mejor que detener + iniciar
hmontoliu
Creo que vale la pena señalar que stop+ startparece hacer exactamente lo mismo que restartharía. No parece ser más seguro, aparte de no usar una opción desaprobada (desaprobada específicamente para desalentar esta operación).
Håkan Lindqvist
5

Yo uso nohup sh -c "/etc/init.d/networking stop; sleep 2; /etc/init.d/networking start". Agrego sleep 2porque creo que quizás los problemas con el reinicio tuvieron algo que ver con las latencias dependientes del hardware, pero esto no está confirmado y es una regla general que me da vergüenza hacer público. ¡Entonces puedes saltarte eso si te sientes racional!

Eduardo Ivanec
fuente
así que básicamente estás diciendo que tengo que alias restart = "nohup sh -c /etc/init.d/networking stop; sleep 2; /etc/init.d/networking start" porque alguien que usa Debian piensa que su trabajo estará en la línea si realmente evolucionamos Linux más allá de un sistema operativo hobbiest?
1
De ningún modo. ¡Qué chiflado de tu parte!
Eduardo Ivanec
3

El siguiente comando funciona bien en un entorno de servidor, sin lanzar advertencias. Implementa tanto la solicitud de detención como la de inicio en el servicio de red.

sudo service networking start
Erick
fuente
Eso no parece detener y comenzar. De todos modos, no fue para mí en Debian Wheezy. Tal vez lo hace en alguna otra distribución.
mivk
Funciona bien en Ubuntu
Erick
2

qué tal si nohup sh -c "ifdown -a && ifup -a"

Deslumbramiento
fuente
1

En Debian Wheezy,

service networking restart

parece hacer lo que se espera y no se queja.

Supongo que en Jessie con systemd puede ser diferente nuevamente.

mivk
fuente
Con systemdsu systemctl restart networkingiirc, pero la forma "antigua" servicesigue funcionando.
wb9688
0

Si no puede encontrar la razón por la cual la red no puede reiniciarse, hágalo en el modo detallado dentro de una screensesión:

ifdown -v --force eth0; ifup -v eth0
sanmai
fuente