Comment redémarrer avec succès un réseau sans redémarrer sur SSH?

92

Dans Ubuntu 14.04, sudo service networking restart ni sudo /etc/init.d/networking restart ne font plus rien. Ils ont aussi tous les deux quitté avec le code 1. Quelque chose a évidemment changé (ou à moitié changé) mais je ne trouve pas quoi. Cela entraîne évidemment des problèmes de reconfiguration du réseau distant et d’outils tels que Ansible.

$ sudo bash -x /usr/sbin/service networking restart
[sudo] password for wirehive:
++ basename /usr/sbin/service
+ VERSION='service ver. 0.91-ubuntu1'
++ basename /usr/sbin/service
+ USAGE='Usage: service < option > | --status-all | [ service_name [ command | --full-restart ] ]'
+ SERVICE=
+ ACTION=
+ SERVICEDIR=/etc/init.d
+ OPTIONS=
+ '[' 2 -eq 0 ']'
+ cd /
+ '[' 2 -gt 0 ']'
+ case "" in
+ '[' -z '' -a 2 -eq 1 -a networking = --status-all ']'
+ '[' 2 -eq 2 -a restart = --full-restart ']'
+ '[' -z '' ']'
+ SERVICE=networking
+ shift
+ '[' 1 -gt 0 ']'
+ case "" in
+ '[' -z networking -a 1 -eq 1 -a restart = --status-all ']'
+ '[' 1 -eq 2 -a '' = --full-restart ']'
+ '[' -z networking ']'
+ '[' -z '' ']'
+ ACTION=restart
+ shift
+ '[' 0 -gt 0 ']'
+ '[' -r /etc/init/networking.conf ']'
+ which initctl
+ grep -q upstart
+ initctl version
+ case "${ACTION}" in
+ stop networking
stop: Job failed while stopping
+ :
+ exec start networking
start: Job is already running: networking

Quelle est la bonne façon de redémarrer à distance le serveur Ubuntu 14.04 Server?

    
posée SimonJGreen 31.03.2014 - 20:27
la source

5 réponses

117

Cela s'avère être une "fonctionnalité". La méthode uniquement prise en charge pour redémarrer une interface dans Ubuntu Server est sudo ifdown eth0 && sudo ifup eth0

lien

    
réponse donnée SimonJGreen 02.04.2014 - 13:03
la source
71

ifdown, ifup ne fonctionnait pas pour moi (délai d'expiration probable de la connexion SSH avant la deuxième commande). Qu'est-ce que le travail a été:

sudo service network-manager restart

C'était sur un système de bureau 14.04 ubuntu.

    
réponse donnée dpb 21.04.2014 - 04:25
la source
6

Ce qui a changé, c'est qu'ils ne veulent plus que vous "rebondissiez" le réseau. s'arrêter et commencer à travailler redémarrer ne fonctionne plus. Je viens de "résoudre" ce "problème", c’est-à-dire de retrouver l’ancien comportement. Pour revenir au comportement précédent: Prenez un fichier 13.10 /etc/init/networking.conf et remplacez le fichier 14.04 par celui-ci. (edit: clarifié qui remplace qui)

Le processus ressemble à ceci:

(Just before this, I configured my /etc/network/interfaces for eth1 on a 192.168.117.x address)

"/etc/network/interfaces" 16L, 413C written  
[email protected]:~# service networking restart  
stop: Job failed while stopping  
start: Job is already running: networking  
[email protected]:~# echo "hmm, wth?"
hmm, wth?
[email protected]:~# ifconfig  
eth0      Link encap:Ethernet  HWaddr 00:0c:29:d6:a8:19  
          inet addr:192.168.115.105  Bcast:192.168.115.255  Mask:255.255.255.0  
          inet6 addr: 2002:4077:9050:1234:a08c:29c1:ce9b:a57b/64 Scope:Global  
          inet6 addr: fe80::20c:29ff:fed6:a819/64 Scope:Link  
          inet6 addr: 2002:4077:9050:1234:20c:29ff:fed6:a819/64 Scope:Global  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1  
          RX packets:646 errors:0 dropped:0 overruns:0 frame:0  
          TX packets:531 errors:0 dropped:0 overruns:0 carrier:0  
          collisions:0 txqueuelen:1000  
          RX bytes:58748 (58.7 KB)  TX bytes:75465 (75.4 KB)  
(lo removed here)  
[email protected]:~# cd /etc/init
[email protected]:/etc/init# diff networking.conf.1310 networking.conf.1404  
13c13  
<       and (stopped udevtrigger or container)) or runlevel [2345]  
---  
>     and (stopped udevtrigger or container)) or runlevel [2345] or stopped  networking   >RESULT=failed PROCESS=post-stop EXIT_STATUS=100  
16a17,20  
>     if [ "$UPSTART_EVENTS" = "stopped" ] && [ "$UPSTART_JOB" = "networking" ] && [ "$EXIT_STATUS" = "100" ]; then  
>         exit 0  
>     fi  
>  
21a26,31  
>     if [ -z "$UPSTART_STOP_EVENTS" ]; then  
>        echo "Stopping or restarting the networking job is not supported."  
>         echo "Use ifdown & ifup to reconfigure desired interface."  
>         exit 100  
>     fi  
[email protected]:/etc/init#  

Faites la même chose pour le script /etc/init.d/networking, qui fait référence à /etc/init/networking.conf.

[email protected]:/etc/init# cp networking.conf.1310 networking.conf  
[email protected]:/etc/init# cd ../init.d  
[email protected]:/etc/init.d# diff networking.1404 networking.1310  
15d14  
< STATEDIR="$RUN_DIR/state"
21a21,27
> # Make sure that it's clear to the user that they shouldn't use this
> # script under upstart
> if init_is_upstart; then
>       echo "ERROR: Calling a sysvinit script on a system using upstart isn't supported. Please use the 'service' command instead."  
>       exit 1
> fi
>
52,54d57
<       if ! chown root:netdev "$RUN_DIR" ; then
<           log_warning_msg "can't chown $RUN_DIR"
<       fi
160,162d162
<       if init_is_upstart; then
<               exit 1
<       fi
166c166
<       state=$(ifquery --state)
---
>       state=$(cat /run/network/ifstate)
[email protected]:/etc/init.d# cp networking.1310 networking
[email protected]:/etc/init.d# service networking restart
networking stop/waiting
networking start/running
[email protected]:/etc/init.d# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0c:29:d6:a8:19
          inet addr:192.168.115.105  Bcast:192.168.115.255  Mask:255.255.255.0
          inet6 addr: 2002:4077:9050:1234:a08c:29c1:ce9b:a57b/64 Scope:Global
          inet6 addr: fe80::20c:29ff:fed6:a819/64 Scope:Link
          inet6 addr: 2002:4077:9050:1234:20c:29ff:fed6:a819/64 Scope:Global
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:3398 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2545 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:318654 (318.6 KB)  TX bytes:418804 (418.8 KB)

eth1      Link encap:Ethernet  HWaddr 00:0c:29:d6:a8:23
          inet addr:192.168.117.105  Bcast:192.168.117.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fed6:a823/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:98 errors:0 dropped:58 overruns:0 frame:0
          TX packets:15 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:20055 (20.0 KB)  TX bytes:1226 (1.2 KB)
(lo removed)
[email protected]:/etc/init.d# echo "hah, it works! *8^)"
Hah, it works! *8^)
[email protected]:/etc/init.d#

(note: the steps where I scp'd the 1310 versions into the 1404 system are omitted for brevity). 

Evidemment, il y a une raison pour laquelle ils ont mis une sortie défensive là-dedans, mais ils ne prennent pas la peine de produire vraiment ce qui se passe très bien.

Une entrée entre dans /var/log/upstart/networking.log lorsque vous essayez, cela ressemble à:

Stopping or restarting the networking job is not supported.  
Use ifdown & ifup to reconfigure desired interface.  

Mais ils pourraient / devraient avoir une sortie comme message de dialogue lorsque vous essayez de redémarrer le service réseau. Et bien. compris et même un ancien travail autour.

EDIT: J'ai trouvé que cela provoquait un déclenchement involontaire du script contrôlé par /etc/init/failsafe.conf, ce qui est indésirable car il provoque un délai de temporisation de 120 secondes à chaque démarrage ... et peut-être aussi un masquage réel. problèmes de configuration / problèmes de réseau que l'apparence de ce délai indiquerait, mais cela se voit déjà tout le temps. (Par exemple, un câble débranché autorisant l’accès à un partage de fichiers réseau mappé dans / etc / fstab, par exemple)

Quoi qu’il en soit, je vais trouver ce qui cause ce problème, et je posterai un correctif quand je le trouverai.

    
réponse donnée kvm-user420 18.04.2014 - 18:56
la source
3

En référence à la réponse de kvm-user420, je suis allé de l'avant et j'ai configuré un script pour remplacer les scripts de mise en réseau d'Ubuntu 14.04 par celui d'Ubuntu 13.10

Vous pouvez le trouver ici: lien

Profitez!

    
réponse donnée metral 18.04.2014 - 22:23
la source
0

Je corrige le problème avec ce script: veuillez ajouter ce script sur "/etc/network/if-down.d"

cd /etc/network/if-down.d
vim ifdown

contenu:

#!/bin/bash 

for I in /sys/class/net/* 
do
        ifname=$(basename $I) 
        if [ $ifname != "lo" ] ; then 
                ip addr flush $ifname
        fi
done

et enfin:

chmod +x ifdown

maintenant, vous pouvez modifier l'adresse IP et redémarrer le service réseau avec la commande systemctl ou service.
REMARQUE : ce script est trop simple et NE PAS MANIPULER vm, appuyez sur , bridge, ... interfaces. en fait vider toutes les interfaces exclure lo (loopback).

    
réponse donnée mah454 24.09.2017 - 09:43
la source

Lire d'autres questions sur les étiquettes