NetworkManager

De ArchwikiFR

NetworkManager est un outil de gestion du réseau. Il est aussi utile pour les liaisons filaires que sans fils, il supporte les modems et certains type de VPN.

Sommaire

Installation

pacman -S networkmanager

Pour un environnement GTK, vous pouvez installer l'applet :

pacman -S network-manager-applet

Afin de sauvegarder les détails d'authentification :

pacman -S gnome-keyring

Pour KDE:

pacman -S kdeplasma-applets-plasma-nm

Ligne de commande

La commande nmcli permet de contrôler NetworkManager en ligne de commande.

Configuration

Vous devez arrêter / désactiver tout autre gestion du réseau (client dhcp, ...) et 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 :

Fichier: /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;
});
Outils personnels
Autres langues