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:
nmcli con modify ethX ipv4.link-local fallback
[ipv4] method=auto link-local=fallback
⇒ link-local donne une IP 169.254, on n'a pas l'air de pouvoir choisir
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.