NetworkManager (Français)

From ArchWiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Tango-preferences-desktop-locale-modified.pngLa traduction de cet article ou section ne reflète pas le texte original.Tango-preferences-desktop-locale-modified.png

Raison: Out of sync with English page (Discuss in Talk:NetworkManager (Français)#)

NetworkManager est un outil de gestion du réseau. Il est aussi utile pour les liaisons filaires que sans fil, il prends en charge les modems et certains types de VPN.

Installation

Pour la base installez networkmanager.

Pour un environnement GTK, vous pouvez installer l'applet network-manager-applet et pour sauvegarder les détails d'authentification gnome-keyring

Pour KDE, installez kdeplasma-addons et plasma-nm.

Ligne de commande

La commande nmcli permet de contrôler NetworkManager en ligne de commande. https://www.mankier.com/1/nmcli

Se connecter à un réseau wifi :

nmcli dev wifi connect <name> password <password>

Se connecter à un réseau wifi sur l'interface wlp4s0 :

nmcli dev wifi connect <name> password <password> iface wlp4s0 [profile name]

Déconnecter l'interface enp0s5 :

nmcli dev disconnect iface enp0s5

Reconnecter une interface signalée comme déconnectée :

nmcli con up uuid <uuid>

Afficher la liste des UUIDs :

nmcli con show

Voir la liste des réseaux et leur état :

nmcli dev

Couper le wifi :

nmcli r wifi off

Configuration

Attention: Pour éviter des problèmes de conflit, pensez à bien désactiver tout autre service réseau en action (dhcpcd.service, netctl.service, wicd.service) avant d'utiliser NetworkManager sur une interface réseau donnée.

Rajouter le service NetworkManager.service :

systemctl enable NetworkManager

Certains services nécessitent d'avoir une connexion réseau pour démarrer. Selon votre besoin, vous pouvez utiliser le dispatcher de NetworkManager pour les lancer ou rajouter le service NetworkManager-wait-online.service qui permet d'attendre une connexion avant de poursuivre le démarrage.

Note: Le service NetworkManager-wait-online.service bloque le démarrage jusqu'à avoir une connexion ou pendant une temporisation de 30s.

Pour utiliser le dispatcher, il faut créer des scripts dans le répertoire /etc/NetworkManager/dispatcher.d, le fichier peut avoir un préfixe pour donner un ordre de lancement, exemple : 10-netfs, 20-ntpd

Le script en lui même prend 2 arguments, l'un pour le nom de l'interface, l'autre pour le statut, voici un exemple:

#!/bin/sh
INTERFACE=$1 # Le nom de l'interface
STATUS=$2 # Le statut

case "$STATUS" in
    'up') exec systemctl start [service];;
    'down') exec systemctl stop [service];;
esac

Afin que les scripts s'exécutent, il est nécessaire d'activer le dispatcher:

systemctl enable NetworkManager-dispatcher

Astuces

Autoriser un utilisateur à modifier la configuration de NetworkManager

Attention: Ceci est un contournement, par défaut, l'utilisateur d'une session locale et active (systemd-logind) a le droit de modifier la configuration.

Ajouter l'utilisateur au groupe network:

usermod -aG network USER

Ajouter une règle Polkit en créant le fichier /etc/polkit-1/rules.d/10-networkmanager.rules :

/etc/polkit-1/rules.d/10-networkmanager.rules
polkit.addRule (function (a,s) {
        if (a.id.indexOf ('org.freedesktop.NetworkManager.') == 0 && s.isInGroup ('network'))
                return polkit.Result.YES;
});