You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1.9 KiB

Fichier ifup.sh

Ce fichier est le script d'initialisation des interfaces réseau pour les conteneurs Systemd-nspawn que j'ai écrit.

Il gère la création de plusieurs interfaces réseau ainsi que les VLAN et peut mettre ces interfaces dans des ponts différents. Afin qu'il s'exécute au démarrage d'un conteneur, il faut ajouter à la directive [Service] du fichier /lib/systemd/system/systemd-nspawn@.service le paramètre suivant:

ExecStartPre=/etc/systemd/nspawn/ifup.sh %i

Il faut au préalable ajouter deux lignes de commentaires au dessus de chaque directive "Interface=" dans le fichier de configuration de votre conteneur:

PONT=votrepont
VLAN=vid

Le script vérifie que ce que vous avez renseigné est valide. Si non, il ne fait rien. Le fichier "apache1.nspawn" est un exemple (se trouve dans /etc/systemd/nspawn/ sur le système de test).

Pour tester le script sans créer les interfaces, veillez remplacer les lignes d'initialisation du tableau commandes_a_executer[] de la fonction generCmdIntRzo() par les lignes suivantes:

commandes_a_executer+=( "echo \"ip link add ${interface} type veth peer name ${interface}_h\"" )
commandes_a_executer+=( "echo \"ip link set ${interface}_h up\"" )
commandes_a_executer+=( "echo \"ip link set ${interface}_h master ${pont}\"" )
commandes_a_executer+=( "echo \"bridge vlan del dev ${interface}_h vid 1 PVID untagged master\"" )
commandes_a_executer+=( "echo \"bridge vlan add dev ${interface}_h vid ${vlan} pvid untagged master\"" )

À tester

Tester le comportement du script lorsque aucun fichier de configuration n'existe et en fonction du résultat, ajouter un test sur ce critaire.