Outils pour utilisateurs

Outils du site


systemd_networkd

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
systemd_networkd [2024/04/02 19:49] lucsystemd_networkd [2024/09/28 16:56] (Version actuelle) luc
Ligne 1: Ligne 1:
 +====== systemd-networkd ======
 +
 +C'est l'outil livré avec systemd qui permet la configuration de ses interfaces réseaux.
 +
 +Ne fonctionne pas avec [[networkmanager|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 =====
 +
 +[[https://www.linuxtricks.fr/wiki/nomenclature-des-interfaces-reseau-sous-linux-enp0s3-wlo1|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 [[https://cgit.freedesktop.org/systemd/systemd/tree/src/udev/udev-builtin-net_id.c|doc udev]]:
 +<code c>
 +/* 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
 +*/
 +</code>
 +
 +===== 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''
 +
 +<code bash>
 +# 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
 +</code>
 +
 +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''