Ceci est une ancienne révision du document !
Table des matières
NetworkManager
NetworkManager permet à des utilisateurs (non administrateur/root) de configurer les connexions réseau, via une interface graphique (Gnome, KDE..), mais aussi des utilitaires en ligne de commande : nmcli (commande permettant de créer, modifier, supprimer, activer ou désactiver les interfaces réseaux), nmtui (pareil en interface semi-graphique -ncurse ?-)
Ses avantages :
- il est intégré dans GNOME et propose une GUI
- on peut activer/désactiver via la GUI à la volée un VPN (wireguard est intégré par défaut)
Ainsi, NetworkManager est “utile” dans les cas où les environnements réseaux changent et sont multiples (ex: laptop).
NetworkManager est concrètement un service systemd, et attend les notifs de udev lorsqu'une connexion est branchée pour la configurer.
Installation
Est-ce que NetworkManager est installé ? systemctl is-active NetworkManager
ou alors regarder systemctl status NetworkManager
.
Il suffit d'installer le paquet NetworkManager
(/!\ MAJUSCULES), puis d'activer le service via systemctl start/enable NetworkManager
.
ATTENTION : il faut désactiver et arrêter le servicesystemd-networkd
(systemd-networkd), qui propose également de configurer les interfaces réseaux (mais sans gui ni activation par gui d'un VPN). De même, pas compatible avec dhcpcd.
Configuration
NetworkManager n'utilise pas /etc/network/interfaces.
Config files : /etc/NetworkManager/NetworkManager.conf
NetworkManager fallback property
NetworkManager a une fonction ipv4.link-local=fallback pour avoir une ip fixe de type 169.254.xxx.yyy/16 si y'a pas de DHCP (on ne peut pas choisir l'ip):
nmcli con modify ethX ipv4.link-local fallback
[ipv4] method=auto link-local=fallback
Fallback ip (vers ip définie)
Pour gérer le fallback (ip fixe choisie si DHCP n'est pas possible), on peut créer 2 profils de connexion, avec des priorités différentes : In config files (e.g. /etc/NetworkManager/system-connections/*.nmconnection) :
# The DHCP profile [connection] id=dhcp uuid=<an UUID> type=ethernet interface-name=eth0 autoconnect-priority=1 autoconnect-retries=2 [ipv4] dns-search= method=auto dhcp-timeout=10 may-fail=false
# The static profile [connection] id=static uuid=<an UUID> type=ethernet interface-name=eth0 autoconnect-priority=0 autoconnect-retries=-1 [ipv4] address1=192.168.1.10/24,192.168.1.1 dns=192.168.1.1 dns-search= method=manual
Note : by default, autoconnect=true when not specified, otherwise it wouldn't work.
<uuid> est visible avec nmcli connection
Compatibilité ifupdown
NetworkManager peut coexister avec ifupdown
s'il n'y a pas de recouvrement : on peut dire dans le fichier de conf de NetworkManager qu'une interface est gérée par ifupdown.
# /etc/NetworkManager/NetworkManager.conf [ifupdown] managed=false # false = prend le contrôle des interfaces définies dans /etc/network/interfaces # true = laisse la main à ifupdown sur les interfaces définies dans /etc/network/interfaces
dhcp
NetworkManager utilise par défaut son client dhcp interne, mais peut utiliser dhclient
ou dhcpcd
, voir ici.