Généralités système Linux

systemd : Le réseau avec systemd-networkd

Table des matières

Introduction



Comme vous le savez, systemd est plus qu'un système d'init et de gestion des services !

Voici quelques exemples de configuration possibles avec systemd !

Cet article sera consacré à la gestion du réseau.


Le réseau avec systemd-networkd



Concepts


Pour faire fonctionner le réseau avec systemd, nous aurons besoin de :
systemd-networkd.service => Le service réseau
systemd-resolved.service => Le service de résolution de nom

A noter que systemd-resolved peut être utilisé sans systemd-networkd.
Si on utilise systemd-networkd, il faut évidemment désactiver le service NetworkManager (ou autre gestionnaire réseau) !

Toutes les configuration réseau se trouvent dans /etc/systemd/network/.

Comme toute commande systemd, elle finit par ctl, et nous utiliserons networkctl.

Pour lister les interfaces, on peut donc utiliser :

Code BASH :
networkctl list


Lorsque aucune interface n'est paramétrée, on a une sortie de ce style :

Code BASH :
# networkctl list
IDX LINK   TYPE     OPERATIONAL SETUP
  1 lo     loopback carrier     unmanaged
  2 enp0s3 ether    routable    unmanaged


La commande networkctl list nous produit ceci une fois l'interface configurée :

Code BASH :
# networkctl list
IDX LINK   TYPE     OPERATIONAL SETUP
  1 lo     loopback carrier     unmanaged
  2 enp0s3 ether    routable    configuring


A noter, la commande networkctl status permet d'afficher plus d'infos :

Code BASH :
# networkctl status
●   State: routable                                                           
  Address: 192.168.21.195 on enp0s3                                           
           fe80::f858:6feb:af9b:43c9 on enp0s3                                
  Gateway: 192.168.21.254 (TP-LINK TECHNOLOGIES CO.,LTD.) on enp0s3           
           fe80::24ca:f9ff:fe9b:7f30 (TP-LINK TECHNOLOGIES CO.,LTD.) on enp0s3



Après chaque modification, on doit redémarrer le service :

Code BASH :
systemctl restart systemd-networkd


Fichier de configuration



Sur la machine concernée, l'interface réseau s'appelle enp0s3.

Je vais créer le fichier /etc/systemd/network/enp0s3-ethernet.network.
Il est important que le fichier de configuration de l'interface réseau ait l'extension .network.

Pour les exemples simples ci-dessous, voici les valeurs utilisables dans notre fichier .network :

Code :
[Match]
Name=Nom de l'interface
MACAddress=Adresse MAC de l'interface
[Link]
MACAddress=Changer l'adresse MAC
MTUBytes=Changer la valeur du MTU
[Network]
DHCP=ipv4 ou ipv6 (si non indiqué, vaut false, true = ipv4 et ipv6)
Address=IP fixe (si DHCP non actif, avec masque en notation CIDR)
Gateway=IP du routeur (si DHCP non actif)
DNS=IP du DNS (Cette ligne peut être utilisée 2 fois pour spécifier 2 DNS)


Exemples simples IP Dynamique



Exemple avec une configuration DHCP :

Code BASH :
[Match]
Name=enp0s3
[Network]
DHCP=ipv4



Exemples simples IP Fixe



Exemple avec une configuration statique :

Code BASH :
[Match]
Name=enp0s3
[Network]
Address=192.168.21.240/24
Gateway=192.168.21.254
DNS=1.1.1.1  



Cette page a été vue 20855 fois