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.
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