7 votes

Existe-t-il un moyen d'essayer une configuration de plan de réseau sans modifier le système ?

Je travaille sur des serveurs distants, et c'est un processus pénible de passer en mode Rescue à chaque fois que je fais une erreur dans la configuration du réseau.

Y a-t-il un moyen de mettre en œuvre quelque chose comme :

Netplan apply /customscript.yaml

Que je peux utiliser lorsque je dépanne des configurations de réseau. Ainsi, le serveur récupère ses "valeurs par défaut" si je fais un redémarrage à froid.

6voto

ultra Points 31

Il y a une nouvelle façon de le faire dans Bionic : netplan try .

Dans votre cas, netplan try --config-file foo.yaml devrait faire ce que vous voulez.

La page de manuel n'est pas très utile car elle décrit principalement le format du fichier de configuration, mais --help vous donne un bon aperçu de l'outil :

ubuntu@netplan:~$ netplan try --help
usage: /usr/sbin/netplan try [-h] [--debug] [--config-file CONFIG_FILE]
                             [--timeout TIMEOUT]

Try to apply a new netplan config to running system, with automatic rollback

optional arguments:
  -h, --help            show this help message and exit
  --debug               Enable debug messages
  --config-file CONFIG_FILE
                        Apply the config file in argument in addition to
                        current configuration.
  --timeout TIMEOUT     Maximum number of seconds to wait for the user's
                        confirmation

1voto

BD Bear Points 360

D'abord j'ai créé un script, je l'ai placé dans /etc/netplan/ et je l'ai nommé backup.sh

#!/bin/sh

# -q quiet
# -c nb of pings to perform

ping -q -c5 aa.bb.cc.dd > /dev/null

if [ $? -eq 0 ]
then
        : #do absolutly nothing! server can ping its external IP.
else 
        # restore, working config to netplan.
        cp -f /etc/netplan/02-netcfg.yaml /etc/netplan/01-netcfg.yaml 
        # apply network config.
        netplan apply
fi

Ce script rétablit les changements que j'ai faits, à une configuration de travail que j'ai stockée dans 02-netcfg.yaml Si je ne peux pas ping l'IP du serveur. J'ai masqué l'adresse IP de mon serveur par aa.bb.cc.dd. Vous devez donc la remplacer par l'IP que vous voulez pinger, afin d'exécuter le "else" dans le if.

Ensuite, j'ai configuré ce script pour qu'il s'exécute à chaque fois que le serveur redémarre, et j'ai également activé une tâche Cron qui s'exécute toutes les 3 minutes lorsque je travaille sur des configurations réseau.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X