====== 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]]:
/* Two character prefixes based on the type of interface:
* en -- ethernet
* sl -- serial line IP (slip)
* wl -- wlan
* ww -- wwan
*
* Type of names:
* b -- BCMA bus core number
* ccw -- CCW bus group name
* o[d] -- on-board device index number
* s[f][d] -- hotplug slot index number
* x -- MAC address
* [P]ps[f][d]
* -- PCI geographical location
* [P]ps[f][u][..][c][i]
* -- 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''