Quelle est la méthode préférée pour redémarrer le réseau dans Ubuntu et Debian


37

Quand je redémarre le réseau en utilisant:

/etc/init.d/networking restart

Je reçois cet avertissement:

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

Alors, quel est le meilleur moyen de redémarrer le réseau après avoir apporté des modifications maintenant?

Ce problème s’applique également à Debian car le paquet netbase est hérité de Debian.

Réponses:


27

Il est juste de dire que l'option de redémarrage est en train de disparaître

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

Notez qu'il n'y a qu'une seule ligne! Cela est important lorsque vous exécutez un redémarrage du réseau via le réseau.


28
deux commandes: - / mauvaise idée si vous êtes à distance. Mieux vaut utiliser un one-paquebot:/etc/init.d/networking stop; /etc/init.d/networking start
hmontoliu

@hmontoliu: là encore, il semble judicieux d'utiliser le redémarrage déconseillé, car vous ne pouvez pas oublier la commande de démarrage
mbx

1
Si vous êtes à distance, vous devriez toujours utiliserscreen
Avio

5
Screen ne vous aidera pas vraiment si vous arrêtez la mise en réseau sur un serveur distant. Dans ce cas, vous devez rechercher un accès direct, ce qui n’est pas toujours pratique.
Métakermite

1
stopet ne startsont évidemment pas obsolètes, mais utilisés en combinaison, ils ont le même problème potentiel que restartjadis.
Håkan Lindqvist

19

Exécutez la commande init.d sans paramètres, elle vous indiquera quelle est l'utilisation:

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

Semble que le redémarrage est obsolète

Il est également obsolète dans Debian au moins depuis:

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 <md@linux.it>  Sun, 06 Dec 2009 17:09:41 +0100

Le bogue associé # 550240 ici

Ce qui est assez méchant. Pour redémarrer netwokring probablement de la meilleure distance et une approche plus sûre sera exécuter la commande suivante dans une session écran :

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

À partir du networkingscript init d'aujourd'hui , restartet force-reloadfonctionnera dans la plupart des cas. J'imagine qu'il est raisonnablement prudent d'ignorer l'avertissement et d'utiliser toujours le redémarrage . Cependant j'irai avec le chemin stop + start :-)

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

Vraiment? Le redémarrage est utile lorsque vous travaillez à distance!
Antonius Bloch,

2
Voir mon édition. Je conviens qu’un redémarrage à l’épreuve des balles serait mieux qu’un arrêt + début
hmontoliu

Je pense qu'il convient de noter que stop+ startsemble faire exactement la même chose que ce qui restartserait fait. Cela ne semble pas être plus sûr sauf d'utiliser une option déconseillée (déconseillée spécifiquement pour décourager cette opération).
Håkan Lindqvist

5

Je l'utilise nohup sh -c "/etc/init.d/networking stop; sleep 2; /etc/init.d/networking start". J'ajoute sleep 2parce que je pense que les problèmes liés au redémarrage avaient peut-être quelque chose à voir avec les latences dépendantes du matériel, mais cela n'est pas confirmé et c'est une règle générale que j'ai un peu honte de rendre publique. Vous pouvez donc sauter cela si vous vous sentez rationnel!


Donc, fondamentalement, vous dites que je dois alias restart = "nohup sh -c /etc/init.d/networking stop; sleep 2; /etc/init.d/networking start" parce que quelqu'un utilisant Debian pense que son travail est bon sera sur la ligne si nous faisons évoluer réellement Linux au-delà d'un système d'exploitation plus agité?

1
Pas du tout. C'est fou de toi!
Eduardo Ivanec

3

La commande ci-dessous fonctionne bien dans un environnement de serveur, sans émettre d’avertissements. Il implémente les demandes d'arrêt et de démarrage sur le service de réseau.

sudo service networking start

Cela ne semble pas arrêter et commencer. Quoi qu'il en soit, ce n'était pas le cas pour moi dans Debian Wheezy. Peut-être que c'est le cas dans une autre distribution.
mardi

Cela fonctionne très bien dans Ubuntu
Erick

2

que diriez-vous nohup sh -c "ifdown -a && ifup -a"


1

Dans Debian Wheezy,

service networking restart

semble faire ce qui est attendu et ne se plaint pas.

Je suppose que dans Jessie avec systemd, il pourrait être différent à nouveau.


Avec systemdc'est systemctl restart networkingiirc, mais la "vieille" serviceméthode fonctionne toujours.
wb9688

0

Si vous ne trouvez pas la raison pour laquelle le réseau ne parvient pas à redémarrer, faites-le en mode prolixe à l'intérieur d'une screensession:

ifdown -v --force eth0; ifup -v eth0
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.