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