====== systemd-networkd ====== C'est l'outil livré avec systemd qui permet la configuration de ses interfaces réseaux. ===== 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'' ===== DNS avec systemd-resolved ===== Ne pas oublier de démarrer le service ''systemctl enable systemd-resolved'' et ''systemctl restart systemd-resolved''