Outils pour utilisateurs

Outils du site


systemd_networkd

systemd-networkd

C'est l'outil livré avec systemd qui permet la configuration de ses interfaces réseaux.

Ne fonctionne pas avec NetworkManager, c'est soit l'un, soit l'autre.
NetworkManager offre une intégration GUI avec Gnome, permettant l'activation à la volée de VPN.
Pas compatible avec dhcpcd, c'est l'un ou l'autre.

Le nom des interfaces

source

Avant, les interfaces réseaux s'appelaient eth0, eth1, ou wlan0.
C'était pratique, court, facile à retenir.

Mais ce n'était pas fixe. Il pouvait arriver (débranchement/rebranchement, ré-installation de driver…) que le nom change et toute la config était foirée.

Maintenant, udev attribue des noms prédictibles, mais moins lisibles et plus long, comme enp2s0. L'avantage est qu'ils sont immuables.

Comprendre les noms doc udev:

/* Two character prefixes based on the type of interface:
 *   en -- ethernet
 *   sl -- serial line IP (slip)
 *   wl -- wlan
 *   ww -- wwan
 *
 * Type of names:
 *   b<number>                             -- BCMA bus core number
 *   ccw<name>                             -- CCW bus group name
 *   o<index>[d<dev_port>]                 -- on-board device index number
 *   s<slot>[f<function>][d<dev_port>]     -- hotplug slot index number
 *   x<MAC>                                -- MAC address
 *   [P<domain>]p<bus>s<slot>[f<function>][d<dev_port>]
 *                                         -- PCI geographical location
 *   [P<domain>]p<bus>s<slot>[f<function>][u<port>][..][c<config>][i<interface>]
 *                                         -- USB port number chain
*/

Configurer le DHCP

Dans le cas d'une fresh install d'un archlinux, la config est vierge et il n'y a pas de connexion réseau.
Voyons comment configurer une liaison ethernet en mode DHCP.

Etape 1: Trouver le nom de son interface avec ip link

Etape 2: ensuite on crée le fichier contenant la configuration qui nous intéresse : /etc/systemd/network/filename.network

# fichier ''/etc/systemd/network/filename.network''
 
[Match]
Name=enp2s0  # exemple, remplacer par le nom de son interface réseau
Name=en*     # Les wildcard fonctionnent aussi
 
[Network]
DHCP=ipv4

Ne pas oublier d'activer le service au démarrage systemctl enable systemd-networkd et de le redémarrer si nécessaire systemctl restart systemd-networkd

IP fallback

Il semblerait qu'il n'y ait pas d'option pour avoir une IP fixe dans le cas où il n'y aurait pas de serveur DHCP (par exemple une connexion directe entre 2 PC).

On peut regarder du côté de dhcpcd, ou si on est sur une base debian dans les interfaces.

DNS avec systemd-resolved

Ne pas oublier de démarrer le service systemctl enable systemd-resolved et systemctl restart systemd-resolved

systemd_networkd.txt · Dernière modification : 2024/09/28 16:56 de luc