web-dev-qa-db-fra.com

Comment "redémarrer" une interface réseau particulière sur RHEL?

Dans RHEL, au lieu d'utiliser service network restart commande, comment puis-je redémarrer une interface réseau particulière, disons "eth1", avec une seule commande.

"Une seule commande" car c'est la seule interface sur laquelle mon ssh travaille également. Donc, si je suis sur le point d'utiliser: ifdown puis ifup, je ne pourrai jamais appuyer sur la commande ifup car mon ssh sera terminé une fois après ifdown eth1 commande.

Il devrait donc y avoir une seule commande qui me permet de faire tomber puis de faire apparaître l'interface qui sert ma connexion ssh actuelle. Je n'ai donc pas à me soucier de la perte totale de connexion à mon serveur.

Une idée s'il vous plait?

18
夏期劇場

Vous pouvez utiliser:

ifdown eth1 && ifup eth1

Comme une seule commande. Le && exécute simplement une commande, puis l'autre si la première commande réussit . Si vous devez utiliser Sudo, assurez-vous de l'utiliser avant chaque commande:

Sudo ifdown eth1 && Sudo ifup eth1

Tant que votre interface est configurée pour avoir l'IP et l'itinéraire nécessaires pour correspondre à la configuration actuelle, votre connexion ssh ne chutera pas.

Si vous êtes inquiet de l'utiliser sur un serveur de production auquel vous n'avez pas d'autre méthode d'accès, c'est compréhensible. Bien que la commande fasse exactement ce que vous voulez, il est très facile d'avoir une erreur de configuration qui n'est remarquée qu'après avoir exécuté cette commande. Si vous n'avez pas d'autre méthode d'accès (par exemple, une console hors bande ou SSHD fonctionnant sur une autre interface), il est préférable de ne pas le faire.

J'utilise souvent cette technique pour effectuer un "redémarrage" de l'interface, mais j'ai généralement une méthode d'accès de secours disponible au cas où je le ferais.

27
blahnana

Vous pouvez "redémarrer" une interface en émettant les commandes suivantes:

# ifdown eth1
# ifup eth1

Après cela, vous pouvez vérifier que votre nouvelle configuration est active

# ip a
1
jerQ

Essayez-vous de modifier l'adresse IP (ou tout paramètre d'interface d'ailleurs) d'une interface sur une machine distante? Si la réponse est oui, vous pouvez essayer l'une des solutions suivantes:

Une méthode intéressante consiste à utiliser l'utilitaire d'écran pour créer une session en tapant simplement "écran". Une fois que vous avez redémarré le service réseau et que votre connexion SSH est interrompue, utilisez screen -ls pour vérifier que la session est toujours active (mais détachée) et screen -r pour reprendre la connexion détachée session. Cela fonctionnera s'il n'y a pas d'erreur dans votre fichier de configuration d'interface, c'est-à-dire que le service réseau est redémarré avec succès.

Vous pouvez également utiliser l'astuce suivante:

$ cp -v current_conf_file current_conf_file.bak
$ echo "mv current_conf_file.bak current_conf_file && service network restart" | at now+10min

Et continuez à modifier votre fichier de configuration d'interface et à redémarrer le service réseau. En cas d'erreur, il vous suffit d'attendre 10 minutes pour que la configuration précédente soit réappliquée et que le service réseau soit redémarré.

0
IG83