NetworkManager (Français)

État de la traduction:
Cet article est la version francophone de
NetworkManager
. Date de la dernière traduction: 2022-10-04. Vous pouvez aider à synchroniser la traduction s'il y a eu des
changements
dans la version anglaise.
Related articles
Network configuration (Français)
Network configuration (Français)/Wireless (Français)
NetworkManager
est un programme permettant de détecter et de configurer les systèmes pour qu'ils se connectent automatiquement aux réseaux. La fonction de NetworkManager peut être utile pour les réseaux sans fil et câblés. Pour les réseaux sans fil, NetworkManager préfère les réseaux sans fil connus et a la capacité de passer au réseau le plus fiable.  Les applications adaptées à NetworkManager peuvent passer du mode en ligne au mode hors ligne.  NetworkManager préfère également les connexions câblées aux connexions sans fil, prend en charge les connexions par modem et certains types de VPN. NetworkManager a été développé à l'origine par Red Hat et est maintenant hébergé par le projet
GNOME
.
Attention
Par défaut, les secrets (par exemple, les mots de passe WiFi) sont accessibles à l'utilisateur root dans le système de fichiers et aux utilisateurs ayant accès aux paramètres via l'interface graphique (par exemple,
nm-applet
). consultez
#Mots de passe Wi-Fi chiffrés
.
Installation
NetworkManager peut être
installé
avec le paquet
networkmanager
, qui contient un daemon, une interface en ligne de commande (
nmcli
) et une interface basée sur curses (
nmtui
).
Activer NetworkManager
Après l'installation,
démarrez
et
activez
NetworkManager.service
. Une fois le daemon NetworkManager démarré, il se connectera automatiquement à toutes les "connexions système" disponibles qui ont déjà été configurées. Toute "connexion utilisateur" ou connexion non configurée devra être configurée et connectée par
nmcli
ou une applet.
Note
Vous devez vous assurer qu'aucun autre service souhaitant configurer le réseau n'est en cours d'exécution ; en effet, plusieurs services réseau entreront en conflit. Vous pouvez trouver une liste des services en cours d'exécution avec
systemctl --type=service
et ensuite
arrêtez
-les. Consultez
#Configuration
pour activer le service NetworkManager.
Si
systemd-resolved
n'est pas
démarré
, un message d'erreur commencera à inonder vos journaux. Consultez
#Unité dbus-org.freedesktop.resolve1.service non trouvée
pour plus d'informations.
Interfaces supplémentaires
nm-connection-editor
pour une interface utilisateur graphique,
network-manager-applet
pour une applet de la barre d'état système (
nm-applet
).
Prise en charge du haut débit mobile
NetworkManager utilise
ModemManager
pour prendre en charge les connexions mobiles à large bande.
Installez
modemmanager
et
usb_modeswitch
. Ensuite,
activez
et
démarrez
ModemManager.service
.
Redémarrez
si besoin
NetworkManager.service
pour qu'il détecte ModemManager. Après l'avoir redémarré, rebranchez le modem et il devrait être reconnu.
Ajoutez des connexions à partir d'une interface (par exemple,
nm-connection-editor
) et sélectionnez le haut débit mobile comme type de connexion. Après avoir sélectionné votre FAI et votre plan de facturation, les
APN
et d'autres paramètres devraient être remplis automatiquement en utilisant les informations de
mobile-broadband-provider-info
.
Prise en charge de PPPoE / DSL
Installez
Le paquet
rp-pppoe
pour prendre en charge les connexions PPPoE / DSL. Pour ajouter réellement une connexion PPPoE, utilisez
nm-connection-editor
et ajoutez une nouvelle connexion DSL/PPPoE.
Prise en charge du VPN
NetworkManager depuis la version 1.16 a un support natif pour
WireGuard
, tout ce dont il a besoin est le module noyau
wireguard
. Lisez le
post du blog WireGuard dans NetworkManager
pour plus de détails.
La prise en charge des autres types de VPN est basée sur un système de plug-in. Ils sont fournis dans les paquets suivants :
networkmanager-openconnect
pour
OpenConnect
networkmanager-openvpn
pour
OpenVPN
networkmanager-pptp
pour
PPTP Client
networkmanager-strongswan
pour
strongSwan
networkmanager-vpnc
networkmanager-fortisslvpn-git
AUR
[
broken link
: package not found]
networkmanager-iodine-git
AUR
networkmanager-libreswan
AUR
networkmanager-l2tp
networkmanager-ssh-git
AUR
network-manager-sstp
Attention
Il y a beaucoup de
bugs
liés à la prise en charge du VPN. Vérifiez que les options des processus daemon définies via l'interface graphique sont correctes et vérifiez-les à chaque version de paquet.
Note
Pour que la résolution DNS fonctionne parfaitement lors de l'utilisation du VPN, vous devez configurer
le transfert conditionnel
.
Utilisation
NetworkManager est fourni avec
nmcli(1)
et
nmtui(1)
.
Exemples avec nmcli
Liste des réseaux Wi-Fi à proximité :
$ nmcli device wifi list
Se connecter à un réseau Wi-Fi :
$ nmcli device wifi connect
SSID_ou_BSSID
password
password
Se connecter à un réseau Wi-Fi caché :
$ nmcli device wifi connect
SSID_ou_BSSID
password
password
hidden yes
Se connecter à un réseau Wi-Fi sur l'interface
wlan1
:
$ nmcli device wifi connect
SSID_ou_BSSID
password
password
ifname wlan1
profile_name
Déconnecter une interface :
$ nmcli device disconnect ifname eth0
Obtenir une liste des connexions avec leurs noms, UUIDs, types et périphériques :
$ nmcli connection show
Activer une connexion (c'est-à-dire se connecter à un réseau avec un profil existant) :
$ nmcli connection up
name_or_uuid
Supprimer une connexion :
$ nmcli connection delete
name_or_uuid
Consulter la liste des périphériques réseau et leur état :
$ nmcli device
Désactiver le Wi-Fi :
$ nmcli radio wifi off
Modifier une connexion
Pour une liste complète des paramètres, consultez
nm-settings(5)
.
Tout d'abord, vous devez obtenir la liste des connexions :
$ nmcli connection
NAME UUID TYPE DEVICE
Connexion filaire 2 e7054040-a421-3bef-965d-bb7d60b7cecf ethernet enp5s0
Wired connection 1 997f2782-f0fc-301d-bfba-15421a2735d8 ethernet enp0s25
MY-HOME-WIFI-5G 92a0f7b3-2eba-49ab-a899-24d83978f308 wifi --
Vous pouvez ici utiliser la première colonne comme connection-id utilisé plus tard. Dans cet exemple, nous choisissons
Wired connection 2
comme identifiant de connexion.
Vous avez trois méthodes pour configurer une connexion
Wired connection 2
après qu'elle ait été créée :
L'éditeur interactif nmcli
nmcli connection edit 'Wired connection 2'
.
Usage is well documented from the editor.
L'interface en ligne de commande nmcli
nmcli connection modify 'Wired connection 2'
setting
.
property
value
. Consultez
nmcli(1)
pour son utilisation. Par exemple, vous pouvez changer sa métrique de route IPv4 à 200 en utilisant la commande
nmcli connection modify 'Wired connection 2' ipv4.route-metric 200
.
Pour supprimer un paramètre, passez-lui un champ vide ("") comme ceci :
nmcli connection modify 'Wired connection 2'
setting
.
property
""
Fichier de connexion
Dans le répertoire
/etc/NetworkManager/system-connections/
, modifiez le fichier
Wired connection 2.nmconnection
correspondant .
N'oubliez pas de recharger le fichier de configuration avec
nmcli connection reload
.
Interfaces
Pour configurer et avoir un accès facile à NetworkManager, la plupart des utilisateurs voudront installer une applet. Cette interface graphique réside généralement dans la barre d'état système (ou la zone de notification) et permet la sélection du réseau et la configuration de NetworkManager. Divers environnements de bureau ont leur propre applet. Sinon, vous pouvez utiliser
#nm-applet
.
GNOME
GNOME
possède un outil intégré, accessible à partir des paramètres du réseau.
KDE Plasma
Installez
le paquet
plasma-nm
. Ensuite, ajoutez-le à la barre des tâches de KDE via le menu
Options du panneau > Ajouter des widgets > Réseaux
.
nm-applet
network-manager-applet
est une interface GTK 3 qui fonctionne sous les environnements Xorg avec une barre d'état système («systray»).
Pour stocker les secrets de connexion, installez et configurez
GNOME/Keyring
.
Soyez conscient qu'après avoir coché la case
Mettre à la disposition des autres utilisateurs
pour une connexion, NetworkManager stocke le mot de passe en texte simple, bien que le fichier correspondant ne soit accessible qu'à root (ou aux autres utilisateurs via
nm-applet
). Consultez
#Mots de passe Wi-Fi chiffrés
.
Afin d'exécuter
nm-applet
sans systray, vous pouvez utiliser
trayer
AUR
ou
stalonetray
. Par exemple, vous pouvez ajouter un script comme celui-ci dans votre chemin :
nmgui
#!/bin/sh
nm-applet 2>&1 > /dev/null &
stalonetray 2>&1 > /dev/null
killall nm-applet
Lorsque vous fermez la fenêtre
stalonetray
, elle ferme également
nm-applet
, de sorte qu'aucune mémoire supplémentaire n'est utilisée une fois que vous avez terminé les paramètres réseau.
L'applet peut afficher des notifications pour des événements tels que la connexion ou la déconnexion d'un réseau WiFi. Pour que ces notifications s'affichent, assurez-vous qu'un serveur de notification est installé - consultez
Desktop notifications
. Si vous utilisez l'applet sans serveur de notification, vous risquez de retrouver certains messages dans stdout/stderr, et l'applet risque de se bloquer. Consultez
[1]
.
Afin d'exécuter
nm-applet
avec ces notifications désactivées, démarrez l'applet avec la commande suivante :
$ nm-applet --no-agent
Astuce
nm-applet
peut être lancée automatiquement avec un
autostart desktop file
, pour ajouter l'option --no-agent modifiez la ligne Exec à cet endroit, c'est-à-dire
Exec=nm-applet --no-agent
Attention
Sur
i3
, si nm-applet est lancé avec l'option
--no-agent
, il n'est pas possible de se connecter à un nouveau réseau WiFi chiffré en cliquant sur la liste des éléments car aucune fenêtre de dialogue de saisie de mot de passe ne s'affiche. Le
journal
affichera
no secrets: No agents were available for this request
.
Appindicateur
Depuis la version 1.18.0, la prise en charge d'Appindicator est
disponible
dans le paquet officiel
network-manager-applet
. Pour utiliser nm-applet dans un environnement Appindicator, démarrez l'applet avec la commande suivante :
$ nm-applet --indicator
networkmanager-dmenu
Il existe également
networkmanager-dmenu-git
AUR
qui est un petit script permettant de gérer les connexions NetworkManager avec
dmenu
ou
rofi
au lieu de
nm-applet
. Il fournit toutes les fonctionnalités essentielles telles que la connexion à des connexions NetworkManager wifi ou filaires existantes, la connexion à de nouvelles connexions wifi, la demande de phrase de passe si nécessaire, la connexion à des connexions VPN existantes, l'activation/désactivation du réseau, le lancement de l'interface graphique
nm-connection-editor
, la connexion à des réseaux Bluetooth.
Configuration
NetworkManager nécessite quelques étapes supplémentaires pour pouvoir fonctionner correctement. Assurez-vous que vous avez configuré
/etc/hosts
comme décrit dans la section
Network configuration#Set the hostname
.
NetworkManager a un fichier de configuration global :
/etc/NetworkManager/NetworkManager.conf
. Des fichiers de configuration supplémentaires peuvent être placés dans
/etc/NetworkManager/conf.d/
. En général, aucune configuration n'est nécessaire pour les valeurs par défaut globales.
Après avoir modifié un fichier de configuration, les changements peuvent être appliqués en exécutant :
# nmcli general reload
NetworkManager-wait-online
L'activation de
NetworkManager.service
active également
NetworkManager-wait-online.service
, qui est un service système à action unique qui attend que le réseau soit configuré. Ce dernier a
WantedBy=network-online.target
, donc il ne se terminera que lorsque
network-online.target
lui-même sera activé ou déclenché par une autre unité. Consultez également
Systemd (Français)#Exécution des services après le démarrage du réseau
.
Par défaut,
NetworkManager-wait-online.service
attend la fin du démarrage de NetworkManager, plutôt que d'attendre spécifiquement la connectivité réseau (consultez
nm-online(1)
). Si
NetworkManager-wait-online.service
se termine avant que le réseau ne soit réellement opérationnel, ce qui entraîne l'échec des services au démarrage,
étendez l'unité
pour supprimer le
-s
de la ligne
ExecStart
:
[Service]
ExecStart=
ExecStart=/usr/bin/nm-online -q
Sachez que cela peut causer
d'autres problèmes
.
Dans certains cas, le service n'arrivera toujours pas à démarrer correctement au démarrage parce que le délai d'attente est trop court.
Éditez
le service pour modifier
NM_ONLINE_TIMEOUT
de
60
à une valeur plus élevée.
Configurer les permissions de PolicyKit
Par défaut, tous les utilisateurs des sessions locales actives sont autorisés à modifier la plupart des paramètres réseau sans mot de passe. Consultez
General troubleshooting (Français)#Permissions de session
pour vérifier votre type de session. Dans la plupart des cas, tout devrait fonctionner sans problème.
Certaines actions (comme la modification du nom d'hôte du système) nécessitent un mot de passe administrateur. Dans ce cas, vous devez vous
ajouter
au groupe
wheel
et exécuter un
Agent d'authentification Polkit
qui vous demandera votre mot de passe.
Pour les sessions à distance (par exemple,
headless VNC
), vous avez plusieurs options pour obtenir les privilèges nécessaires à l'utilisation de NetworkManager :
Ajoutez
vous au groupe
wheel
. Vous devrez saisir votre mot de passe pour chaque action. Notez que d'autres autorisations peuvent être accordées à votre compte utilisateur, comme la possibilité d'utiliser
sudo
sans saisir le mot de passe root.
Ajoutez
vous au groupe
network
et créez
/etc/polkit-1/rules.d/50-org.freedesktop.NetworkManager.rules
avec le contenu suivant :
polkit.addRule(function(action, subject) {
  si (action.id.indexOf("org.freedesktop.NetworkManager.") == 0 && subject.isInGroup("network")) {
    return polkit.Result.YES ;
  }
}) ;
Tous les utilisateurs du groupe
network
pourront ajouter et supprimer des réseaux sans mot de passe (ce qui signifie que vous n'avez pas besoin d'exécuter un agent d'authentification Polkit, donc cette option fonctionnera également dans les sessions SSH).
Paramètres du proxy
NetworkManager ne gère pas directement les paramètres de proxy, mais si vous utilisez
GNOME
ou
KDE
, vous pouvez utiliser
proxydriver
AUR
[
broken link
: package not found]
qui gère les paramètres de proxy en utilisant les informations de NetworkManager.
Pour que
proxydriver
puisse modifier les paramètres du proxy, vous devez exécuter cette commande, dans le cadre du processus de démarrage de GNOME (consultez
GNOME#Autostart
).
$ xhost +si:localuser:username
Consultez également l'article concernant les
paramètres du proxy
.
Vérification de la connectivité
NetworkManager peut essayer d'atteindre un serveur web après s'être connecté à un réseau afin de déterminer s'il est par exemple derrière un portail captif. L'hôte par défaut (configuré dans
/usr/lib/NetworkManager/conf.d/20-connectivity.conf
) est
ping.archlinux.org
(un alias CNAME de redirect.archlinux.org). Pour utiliser un autre serveur Web ou pour désactiver la vérification de la connectivité, créez
/etc/NetworkManager/conf.d/20-connectivity.conf
, consultez
NetworkManager.conf(5) § CONNECTIVITY SECTION
. Vous trouverez ci-dessous un exemple d'utilisation des serveurs GNOME (il ne nécessite pas l'utilisation de
GNOME
) :
/etc/NetworkManager/conf.d/20-connectivity.conf
[connectivity]
uri=http://nmcheck.gnome.org/check_network_status.txt
Pour désactiver la vérification de la connectivité de NetworkManager, utilisez la configuration suivante. Cela peut être utile lorsque vous êtes connecté à un VPN qui bloque les vérifications de connectivité.
/etc/NetworkManager/conf.d/20-connectivity.conf
[connectivity] 
enabled=false
Note
Bien que les vérifications automatiques de connectivité constituent une fuite potentielle de confidentialité, l'URL de connectivité par défaut d'Arch Linux s'engage à n'enregistrer aucun accès. Vérifiez
[2]
[3]
.
Portails captifs
Pour ceux qui se trouvent derrière un
portail captif
, le gestionnaire de bureau peut ouvrir automatiquement une fenêtre demandant des informations d'identification. Si votre bureau ne le fait pas, vous pouvez utiliser le paquet
capnet-assist
(cependant, il a actuellement un script de répartition NetworkManager cassé). Sinon, vous pouvez créer un script de répartition NetworkManager avec le contenu suivant :
/etc/NetworkManager/dispatcher.d/90-open_captive_portal
#!/bin/sh -e
# Script to dispatch NetworkManager events
#
# Runs shows a login webpage on walled garden networks.
# See NetworkManager(8) for further documentation of the dispatcher events.

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

if [ -x "/usr/bin/logger" ]; then
    logger="/usr/bin/logger -s -t captive-portal"
else
    logger=":"
fi

wait_for_process() {
    PNAME=$1
    while [ -z "$(/usr/bin/pgrep $PNAME)" ]; do
        sleep 3;
    done
}

#launch the browser, but on boot we need to wait that nm-applet starts
start_browser() {
    local user="$1"
    local display="$2"

    export DISPLAY="$display"
    wait_for_process nm-applet

    export XAUTHORITY="/home/$user/.Xauthority"

    $logger "Running browser as '$user' with display '$display' to login in captive portal"
    sudo -u "$user" --preserve-env=DISPLAY,XAUTHORITY -H xdg-open http://capnet.elementary.io 2>&1 > /dev/null
}

# Run the right scripts
case "$2" in
    connectivity-change)
    $logger -p user.debug "dispatcher script triggered on connectivity change: $CONNECTIVITY_STATE"
    if [ "$CONNECTIVITY_STATE" = "PORTAL" ]; then
        # Match last column of who's output with ' :[at least one digit] '
        who | awk '$NF ~ /\(:[0-9]+\)/ { print $1 " " substr($NF, 2, length($NF)-2) };' | \
        while read user display; do
            start_browser $user $display || $logger -p user.err "Failed for user: '$user' display: '$display'"
        done
    fi
    ;;
    *)
    # In a down phase
    exit 0
    ;;
esac
Redémarrez
NetworkManager.service
ou redémarrez totalement pour que cela commence à fonctionner. Une fois que vous l'aurez fait, le script du répartiteur devrait ouvrir une fenêtre de connexion dès qu'il aura détecté que vous êtes derrière un portail captif.
Une autre solution est
captive-browser-git
AUR
basée sur Google Chrome.
Client DHCP
Par défaut, NetworkManager utilise son client DHCP interne. Le plugin DHCPv4 interne est basé sur la bibliothèque
n-dhcp4 de nettools
, tandis que le plugin DHCPv6 interne est fait à partir du code basé sur systemd-networkd.
Pour utiliser un client DHCP différent,
installez
l'une des alternatives :
dhclient
-
dhclient
.
dhcpcd
-
dhcpcd
.
Pour changer le client DHCP, définissez l'option
main.dhcp=
dhcp_client_name
avec un fichier de configuration dans
/etc/NetworkManager/conf.d/
. Par exemple :
/etc/NetworkManager/conf.d/dhcp-client.conf
[main]
dhcp=dhclient
Note
NetworkManager ne prend pas en charge l'utilisation de dhcpcd pour IPv6. Consultez
le rapport n°5 de NetworkManager
. Si dhcpcd est défini comme client DHCP, NetworkManager utilisera le client DHCP interne pour DHCPv6.
N'activez pas les unités systemd livrées avec les paquets
dhclient
et
dhcpcd
. Elles entreront en conflit avec NetworkManager, consultez la note dans
#Installation
pour plus de détails.
Gestion des DNS
La gestion DNS de NetworkManager est décrite dans la page wiki du projet GNOME-
Projects/NetworkManager/DNS
.
Mise en cache du DNS et transfert conditionnel
NetworkManager dispose d'un plugin pour activer la mise en cache du DNS et la redirection conditionnelle (
previously
appelé "split DNS" dans la documentation de NetworkManager) en utilisant
dnsmasq
ou
systemd-resolved
. L'avantage de cette configuration est que les recherches DNS sont mises en cache, ce qui réduit les temps de résolution, et que les recherches DNS des hôtes VPN sont acheminées vers les serveurs DNS du VPN concerné. Ceci est particulièrement utile si vous êtes connecté à plus d'un VPN.
Note
Si
/etc/resolv.conf
est un lien symbolique vers
/run/systemd/resolve/stub-resolv.conf
,
/run/systemd/resolve/resolv.conf
,
/lib/systemd/resolv.conf
ou
/usr/lib/systemd/resolv.conf
, NetworkManager choisira automatiquement systemd-resolved. Pour utiliser dnsmasq, vous devez d'abord supprimer ce lien symbolique, puis redémarrer NetworkManager.
dnsmasq
Assurez-vous que
dnsmasq
a été installé. Définissez ensuite
main.dns=dnsmasq
avec un fichier de configuration dans
/etc/NetworkManager/conf.d/
:
/etc/NetworkManager/conf.d/dns.conf
[main]
dns=dnsmasq
Exécutez maintenant
nmcli general reload
en tant que root. NetworkManager démarrera automatiquement dnsmasq et ajoutera
127.0.0.1
à
/etc/resolv.conf
. Les serveurs DNS originaux se trouvent dans
/run/NetworkManager/no-stub-resolv.conf
. Vous pouvez vérifier que dnsmasq est utilisé en effectuant deux fois la même recherche DNS avec
drill example.com
et en vérifiant les temps de serveur et de requête.
Note
Vous n'avez pas besoin de démarrer
dnsmasq.service
ou de modifier
/etc/dnsmasq.conf
. NetworkManager démarrera dnsmasq sans utiliser le service systemd et sans lire le(s) fichier(s) de configuration par défaut de dnsmasq.
L'instance de dnsmasq démarrée par NetworkManager sera liée à
127.0.0.1:53
, vous ne pouvez pas exécuter un autre logiciel (y compris
dnsmasq.service
) sur la même adresse et le même port.
Configuration personnalisée de dnsmasq
Des configurations personnalisées peuvent être créées pour
dnsmasq
en créant des fichiers de configuration dans
/etc/NetworkManager/dnsmasq.d/
. Par exemple, pour modifier la taille du cache DNS (qui est stocké en RAM) :
/etc/NetworkManager/dnsmasq.d/cache.conf
cache-size=1000
Vous pouvez vérifier la syntaxe du fichier de configuration avec :
$ dnsmasq --test --conf-file=/dev/null --conf-dir=/etc/NetworkManager/dnsmasq.d
Consultez
dnsmasq(8)
pour connaître toutes les options disponibles.
IPv6
L'activation de
dnsmasq
dans NetworkManager peut interrompre les recherches DNS en IPv6 uniquement (c'est-à-dire
drill -6 [hostname]
) qui fonctionneraient autrement. Afin de résoudre ce problème, la création du fichier suivant configurera
dnsmasq
pour qu'il écoute également le loopback IPv6 :
/etc/NetworkManager/dnsmasq.d/ipv6-listen.conf
listen-address=::1
En outre,
dnsmasq
ne donne pas non plus la priorité aux DNS IPv6 en amont. Malheureusement, NetworkManager ne le fait pas (
Bug remonté chez Ubuntu
). Une solution de contournement serait de désactiver le DNS IPv4 dans la configuration de NetworkManager, en supposant qu'il en existe une.
DNSSEC
L'instance dnsmasq lancée par NetworkManager par défaut ne validera pas
DNSSEC
puisqu'elle est lancée avec l'option
--proxy-dnssec
. Elle fera confiance aux informations DNSSEC qu'elle obtient du serveur DNS en amont.
Pour que dnsmasq valide correctement les DNSSEC, ce qui casse la résolution DNS avec les serveurs de noms qui ne les prennent pas en charge, créez le fichier de configuration suivant :
/etc/NetworkManager/dnsmasq.d/dnssec.conf
conf-file=/usr/share/dnsmasq/trust-anchors.conf
dnssec
systemd-resolved
NetworkManager peut utiliser
systemd-resolved
comme résolveur et cache DNS. Assurez-vous que
systemd-resolved
est correctement configuré et que
systemd-resolved.service
est
démarré
avant de l'utiliser.
systemd-resolved sera utilisé automatiquement si
/etc/resolv.conf
est un
symlink
vers
/run/systemd/resolve/stub-resolv.conf
,
/run/systemd/resolve/resolv.conf
ou
/usr/lib/systemd/resolv.conf
.
Vous pouvez l'activer explicitement en définissant
main.dns=systemd-resolved
avec un fichier de configuration dans
/etc/NetworkManager/conf.d/
:
/etc/NetworkManager/conf.d/dns.conf
[main]
dns=systemd-resolved
Résolveur DNS avec un client openresolv
Si
openresolv
a un client pour votre
résolveur DNS
local, configurez le client et
configurez NetworkManager pour utiliser openresolv
.
Parce que NetworkManager annonce une seule "interface" à
resolvconf
, il n'est pas possible d'implémenter le transfert conditionnel entre deux connexions NetworkManager. Consultez
le rapport n°153 de NetworkManager
.
Ce problème peut être partiellement atténué si vous définissez
private_interfaces="*"
dans
/etc/resolvconf.conf
[4]
. Toutes les requêtes pour des domaines qui ne sont pas dans la liste des domaines de recherche ne seront pas transférées. Elles seront traitées selon la configuration du résolveur local, par exemple, transférées vers un autre serveur DNS ou résolues récursivement à partir de la racine DNS.
Serveurs DNS personnalisés
Définition de serveurs DNS globaux personnalisés
Pour définir des serveurs DNS pour toutes les connexions, spécifiez-les dans
NetworkManager.conf(5)
en utilisant la syntaxe
servers=
serveripaddress1
,
serveripaddress2
,
serveripaddress3
dans une section nommée
[global-dns-domain-*]
. Par exemple :
/etc/NetworkManager/conf.d/dns-servers.conf
[global-dns-domain-*]
servers=::1,127.0.0.1
Note
Si vous utilisez
NetworkManager's dnsmasq or systemd-resolved plugin
ou
openresolv subscribers
, ne spécifiez pas d'adresses de bouclage avec l'option
servers=
, car cela peut interrompre la résolution DNS.
Les serveurs spécifiés ne sont pas envoyés à
systemd-resolved
, les serveurs DNS de la connexion sont utilisés à la place.
Configuration de serveurs DNS personnalisés dans une connexion
Configuration des serveurs DNS personnalisés dans une connexion (GUI)
La configuration dépend du type de l'interface utilisée ; le processus implique généralement un clic droit sur l'applet, l'édition (ou la création) d'un profil, puis la sélection du type DHCP comme
Automatique (spécifier les adresses)
. Les adresses DNS doivent être saisies et se présentent généralement sous cette forme :
127.0.0.1,
DNS-server-one
, ...
.
Configuration des serveurs DNS personnalisés dans une connexion (nmcli / fichier de connexion)
Pour configurer des serveurs DNS par connexion, vous pouvez utiliser le champ
dns
(et les
dns-search
et
dns-options
associés) dans les
paramètres de connexion
.
Si
method
est défini sur
auto
(lorsque vous utilisez DHCP), vous devez définir
ignore-auto-dns
sur
yes
.
/etc/resolv.conf
Le mode de gestion de NetworkManager
/etc/resolv.conf
est configuré avec le paramètre
main.rc-manager
.
networkmanager
lui attribue la valeur
symlink
au lieu de la valeur par défaut en amont
auto
. Ce paramètre et ses valeurs sont documentés dans la page de manuel
NetworkManager.conf(5)
.
Astuce
L'utilisation d'openresolv permet à NetworkManager de coexister avec d'autres logiciels supportant
resolvconf
ou, par exemple, d'exécuter un cache DNS local et un résolveur split-DNS pour lequel openresolv a un
subscriber
. Notez que le transfert conditionnel n'est
pas encore entièrement pris en charge
lorsque vous utilisez NetworkManager avec openresolv.
NetworkManager offre également des crochets via des scripts dits "dispatcher" qui peuvent être utilisés pour modifier le fichier
/etc/resolv.conf
après des changements de réseau. Consultez
#Services réseau avec le répartiteur NetworkManager
et
NetworkManager(8)
pour plus d'informations.
Note
Si NetworkManager est configuré pour utiliser
dnsmasq
ou
systemd-resolved
, les adresses de bouclage appropriées seront écrites dans
/etc/resolv.conf
.
Le fichier
resolv.conf
que NetworkManager écrit ou écrirait dans
/etc/resolv.conf
se trouve à
/run/NetworkManager/resolv.conf
.
Un fichier
resolv.conf
contenant les serveurs de noms et les domaines de recherche acquis se trouve à
/run/NetworkManager/no-stub-resolv.conf
.
/etc/resolv.conf indépendant
Pour empêcher NetworkManager de toucher à
/etc/resolv.conf
, définissez
main.dns=none
avec un fichier de configuration dans
/etc/NetworkManager/conf.d/
:
/etc/NetworkManager/conf.d/dns.conf
[main]
dns=none
Astuce
Vous pouvez également définir
main.systemd-resolved=false
, afin que NetworkManager n'envoie pas la configuration DNS à
systemd-resolved
.
Note
Voir
#Mise en cache du DNS et transfert conditionnel
, pour configurer NetworkManager en utilisant d'autres backends DNS comme
dnsmasq
et
systemd-resolved
, au lieu d'utiliser
main.dns=none
.
Après cela,
/etc/resolv.conf
peut être un lien symbolique cassé que vous devrez supprimer. Il suffit alors de créer un nouveau fichier
/etc/resolv.conf
.
Utilisez openresolv
Note
NetworkManager ne prend pas en charge l'utilisation de l'interface
resolvconf
de systemd-resolved (
resolvectl(1) § COMPATIBILITY WITH RESOLVCONF(8)
) qui est fournie par
systemd-resolvconf
.
Ne définissez pas
main.rc-manager=resolvconf
lorsque vous utilisez
systemd-resolved
, assurez-vous plutôt de
créer correctement le lien symbolique /etc/resolv.conf
ou de
configurer NetworkManager pour utiliser systemd-resolved explicitement
.
Assurez-vous que le paquet
systemd-resolvconf
n'est pas installé lorsque systemd-resolved n'est pas utilisé. Si
systemd-resolved.service
n'est pas démarré, il cassera tous les logiciels de réseau (pas seulement NetworkManager) qui utilisent resolvconf.
Pour configurer NetworkManager afin d'utiliser
openresolv
, définissez
main.rc-manager=resolvconf
avec un fichier de configuration dans
/etc/NetworkManager/conf.d/
:
/etc/NetworkManager/conf.d/rc-manager.conf
[main]
rc-manager=resolvconf
Pare-feu
Vous pouvez
assigner une zone firewalld
en fonction de votre connexion actuelle. Par exemple, un pare-feu restrictif lorsque vous êtes au travail, et un autre moins restrictif lorsque vous êtes à la maison.
Cela peut également être fait avec
le répartiteur NetworkManager
.
Services réseau avec le répartiteur NetworkManager
Il existe un certain nombre de services réseau que vous ne voudrez pas voir fonctionner avant que NetworkManager ne fasse apparaître une interface. NetworkManager a la capacité de démarrer les services lorsque vous vous connectez à un réseau et de les arrêter lorsque vous vous déconnectez (par exemple, lorsque vous utilisez
NFS
,
SMB
et
NTPd
).
Pour activer cette fonctionnalité,
activez
et
démarrez
NetworkManager-dispatcher.service
.
Une fois le service activé, des scripts peuvent être ajoutés au répertoire
/etc/NetworkManager/dispatcher.d
.
Les scripts doivent appartenir à
root
, sinon le dispatcher ne les exécutera pas. Pour plus de sécurité, définissez la
propriété
du groupe à root également :
# chown root:root /etc/NetworkManager/dispatcher.d/
10-script.sh
Assurez-vous que le fichier est
exécutable
.
Les scripts seront exécutés dans l'ordre alphabétique au moment de la connexion, et dans l'ordre alphabétique inverse au moment de la déconnexion. Pour s'assurer de l'ordre dans lequel ils seront exécutés, il est courant d'utiliser des caractères numériques avant le nom du script (par exemple,
10-portmap
ou
30-netfs
). (ce qui assure que le
portmapper
est en place avant que les montages NFS soient tentés).
Les scripts recevront les arguments suivants :
Nom de l'interface:
e.g.
eth0
Action :
up
,
down
,
vpn-up
,
vpn-down
, ... (consultez
NetworkManager(8)
pour la liste complète)
Attention
Si vous vous connectez à des réseaux étrangers ou publics, faites attention aux services que vous lancez et aux serveurs auxquels vous pensez qu'ils seront disponibles pour se connecter. Vous pourriez créer une faille de sécurité en démarrant les mauvais services alors que vous êtes connecté à un réseau public.
Éviter le délai d'attente du répartiteur
Si ce qui précède fonctionne, alors cette section n'est pas pertinente. Cependant, il existe un problème général lié à l'exécution de scripts de répartiteur qui prennent plus de temps à être exécutés. Initialement, un délai d'attente interne de trois secondes seulement était utilisé. Si le script appelé n'était pas terminé à temps, il était tué. Plus tard, le délai d'attente a été étendu à environ 20 secondes (consultez le
Bugtracker
pour plus d'informations). Si le délai d'attente pose toujours problème, une solution consiste à utiliser un
fichier de substitution
pour
NetworkManager-dispatcher.service
pour qu'il reste actif après la sortie :
/etc/systemd/system/NetworkManager-dispatcher.service.d/remain_after_exit.conf
[Service]
RemainAfterExit=yes
Maintenant, démarrez et activez le service
NetworkManager-dispatcher
modifié.
Attention
L'ajout de la ligne
RemainAfterExit
empêchera le répartiteur de se fermer. Malheureusement, le répartiteur
doit
se fermer avant de pouvoir exécuter vos scripts à nouveau. Avec cette ligne, le distributeur ne s'arrêtera pas, mais il ne se fermera pas non plus, ce qui signifie que les scripts ne seront exécutés qu'une fois par démarrage. Par conséquent, n'ajoutez pas cette ligne à moins que le délai d'attente ne cause définitivement un problème.
Exemples de répartiteurs
Monter un répertoire distant avec sshfs
Comme le script est exécuté dans un environnement très restrictif, vous devez exporter
SSH_AUTH_SOCK
afin de vous connecter à votre agent SSH. Il existe différentes façons de procéder, consultez
ce message
pour plus d'informations. L'exemple ci-dessous fonctionne avec
GNOME Keyring
, et vous demandera le mot de passe s'il n'est pas déjà déverrouillé. Si NetworkManager se connecte automatiquement à la connexion, il est probable que
gnome-keyring
n'ait pas encore démarré et que l'exportation échoue (d'où le sleep). Le
UUID
à faire correspondre peut être trouvé avec la commande
nmcli connection status
ou
nmcli connection list
.
#!/bin/sh
USER='username'
REMOTE='user@host:/remote/path'
LOCAL='/local/path'

interface=$1 status=$2
if [ "$CONNECTION_UUID" = "
uuid
" ]; then
  case $status in
    up)
      # sleep 10
      SSH_AUTH_SOCK=$(find /tmp -maxdepth 1 -type s -user "$USER" -name 'ssh')
      export SSH_AUTH_SOCK
      su "$USER" -c "sshfs $REMOTE $LOCAL"
      ;;
    down)
      fusermount -u "$LOCAL"
      ;;
  esac
fi
Montage de partages SMB
Certains partages
SMB
ne sont disponibles que sur certains réseaux ou emplacements (par exemple, à la maison). Vous pouvez utiliser le répartiteur pour monter uniquement les partages SMB qui sont présents à votre emplacement actuel.
Le script suivant vérifiera si nous sommes connectés à un réseau spécifique et montera les partages en conséquence :
/etc/NetworkManager/dispatcher.d/30-mount-smb.sh
#!/bin/sh

# Find the connection UUID with "nmcli connection show" in terminal.
# All NetworkManager connection types are supported: wireless, VPN, wired...
if [ "$2" = "up" ]; then
  if [ "$CONNECTION_UUID" = "uuid" ]; then
    mount /your/mount/point & 
    # add more shares as needed
  fi
fi
Le script suivant démontera tous les partages SMB avant une déconnexion initiée par logiciel d'un réseau spécifique :
/etc/NetworkManager/dispatcher.d/pre-down.d/30-umount-smb.sh
#!/bin/sh

if [ "$CONNECTION_UUID" = "uuid" ]; then
  umount -a -l -t cifs
fi
Note
Veillez à ce que ce script soit situé dans le sous-répertoire
pre-down.d
comme indiqué ci-dessus, sinon il démontera tous les partages lors de tout changement d'état de connexion.
Le script suivant tentera de démonter tous les partages SMB suite à une déconnexion inattendue d'un réseau spécifique :
/etc/NetworkManager/dispatcher.d/40-umount-smb.sh
#!/bin/sh

if [ "$CONNECTION_UUID" = "uuid" ] ; then
  if [ "$2" = "down" ] ; then
    umount -a -l -t cifs
  fi
fi
Note
Depuis NetworkManager 0.9.8, les événements
pre-down
et
down
ne sont pas exécutés lors de l'arrêt ou du redémarrage, consultez
ce rapport de bug
pour plus d'informations.
Les scripts
umount
précédents sont toujours susceptibles de laisser les applications accédant au montage en suspens.
Une alternative est d'utiliser le script consulté dans
NFS#Using a NetworkManager dispatcher
:
/etc/NetworkManager/dispatcher.d/30-smb.sh
#!/bin/sh

# Find the connection UUID with "nmcli con show" in terminal.
# All NetworkManager connection types are supported: wireless, VPN, wired...
WANTED_CON_UUID="CHANGE-ME-NOW-9c7eff15-010a-4b1c-a786-9b4efa218ba9"

if [ "$CONNECTION_UUID" = "$WANTED_CON_UUID" ]; then

    # Script parameter $1: NetworkManager connection name, not used
    # Script parameter $2: dispatched event

    case "$2" in
        "up")
            mount -a -t cifs
            ;;
        "down"|"pre-down"|"vpn-pre-down")
            umount -l -a -t cifs >/dev/null
            ;;
    esac
fi
Note
Ce script ignore les montages avec l'option
noauto
, supprimez cette option de montage ou utilisez
auto
pour permettre au répartiteur de gérer ces montages.
Créez un lien symbolique dans
/etc/NetworkManager/dispatcher.d/pre-down/
pour attraper les événements
pre-down
:
# ln -s ../30-smb.sh /etc/NetworkManager/dispatcher.d/pre-down.d/30-smb.sh
Montage des partages NFS
Consultez
NFS#Using a NetworkManager dispatcher
.
Utiliser le distributeur pour basculer automatiquement le sans fil en fonction du câble LAN branché
L'idée est d'activer le Wi-Fi uniquement lorsque le câble LAN est débranché (par exemple, lors du détachement du dock d'un ordinateur portable), et que le Wi-Fi soit automatiquement désactivé, une fois le câble LAN rebranché.
Créez le script dispatcher suivant
[5]
, en remplaçant
LAN_interface
par le vôtre.
Notez qu'il existe une sécurité intégrée pour le cas où l'interface LAN a été connectée lors de la dernière mise sous tension de l'ordinateur, puis déconnectée alors que l'ordinateur était éteint. Dans ce cas, la radio serait toujours éteinte lorsque l'ordinateur est rallumé et avec une interface LAN déconnectée, vous n'auriez pas de réseau.
/etc/NetworkManager/dispatcher.d/wlan_auto_toggle.sh
#!/bin/sh

if [ "$1" = "
LAN_interface
" ] ; then
    case "$2" in
        up)
            nmcli radio wifi off
            ; ;
        down)
            nmcli radio wifi on
            ; ;
    esac
elif [ "$(nmcli -g GENERAL.STATE device show LAN_interface)" = "20 (indisponible)" ] ; then
    nmcli radio wifi on
fi
Note
Vous pouvez obtenir une liste des interfaces en utilisant
nmcli
. Les interfaces Ethernet (LAN) commencent par
en
, par exemple
enp0s5
Utiliser le dispatcher pour se connecter à un VPN après l'établissement d'une connexion réseau
Dans cet exemple, nous voulons nous connecter automatiquement à une connexion VPN préalablement définie après nous être connectés à un réseau Wi-Fi spécifique. La première chose à faire est de créer le script dispatcher qui définit ce qu'il faut faire après que nous soyons connectés au réseau.
Note
Ce script nécessite
wireless_tools
afin d'utiliser
iwgetid
.
/etc/NetworkManager/dispatcher.d/vpn-up
#!/bin/sh
VPN_NAME="name of VPN connection defined in NetworkManager"
ESSID="Wi-Fi network ESSID (not connection name)"

interface=$1 status=$2
case $status in
  up|vpn-down)
    if iwgetid | grep -qs ":\"$ESSID\""; then
      nmcli connection up id "$VPN_NAME"
    fi
    ;;
  down)
    if iwgetid | grep -qs ":\"$ESSID\""; then
      if nmcli connection show --active | grep "$VPN_NAME"; then
        nmcli connection down id "$VPN_NAME"
      fi
    fi
    ;;
esac
Si vous souhaitez tenter de vous connecter automatiquement au VPN pour tous les réseaux Wi-Fi, vous pouvez utiliser la définition suivante de l'ESSID :
ESSID=$(iwgetid -r)
. N'oubliez pas de définir les autorisations du script
en adéquation
.
La tentative de connexion avec le script ci-dessus peut encore échouer avec
NetworkManager-dispatcher.service
se plaignant de l'absence de secrets VPN valides, à cause de
la façon dont les secrets VPN sont stockés
. Heureusement, il existe différentes options pour donner au script ci-dessus l'accès à votre mot de passe VPN.
1 : L'une d'entre elles nécessite l'édition du fichier de configuration de la connexion VPN pour que NetworkManager stocke les secrets par lui-même plutôt que dans un trousseau
qui sera inaccessible pour root
: ouvrez
/etc/NetworkManager/system-connections/
name of your VPN connection
et changez les
password-flags
et
secret-flags
de
1
à
0
.
Si cela ne suffit pas, vous devrez peut-être créer un
fichier de mots de passe
dans un emplacement sûr, avec les mêmes autorisations et le même propriétaire que le script du répartiteur, contenant les éléments suivants :
/path/to/passwd-file
vpn.secrets.password:YOUR_PASSWORD
Le script doit être modifié en conséquence, afin qu'il récupère le mot de passe dans le fichier :
/etc/NetworkManager/dispatcher.d/vpn-up
#!/bin/sh
VPN_NAME="name of VPN connection defined in NetworkManager"
ESSID="Wi-Fi network ESSID (not connection name)"

interface=$1 status=$2
case $status in
  up|vpn-down)
    if iwgetid | grep -qs ":\"$ESSID\""; then
      nmcli connection up id "$VPN_NAME" passwd-file /path/to/passwd-file
    fi
    ;;
  down)
    if iwgetid | grep -qs ":\"$ESSID\""; then
      if nmcli connection show --active | grep "$VPN_NAME"; then
        nmcli connection down id "$VPN_NAME"
      fi
    fi
    ;;
esac
2 : Alternativement, changez les
password-flags
et mettez le mot de passe directement dans le fichier de configuration en ajoutant la section
vpn-secrets
:
[vpn]
 ....
 password-flags=0

 [vpn-secrets]
 mot de passe=
votre_mot_de_passe
.
Note
Il peut maintenant être nécessaire de rouvrir l'éditeur de connexion NetworkManager et de sauvegarder à nouveau les mots de passe/secrets VPN.
Utiliser dispatcher pour désactiver IPv6 sur les connexions de fournisseurs VPN
De nombreux
fournisseurs de VPN commerciaux
ne prennent en charge que l'IPv4. Cela signifie que tout le trafic IPv6 contourne le VPN et le rend pratiquement inutile. Pour éviter cela, dispatcher peut être utilisé pour désactiver tout le trafic IPv6 pendant la durée d'une connexion VPN.
/etc/NetworkManager/dispatcher.d/10-vpn-ipv6
#!/bin/sh

case "$2" dans
	vpn-up)
		echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6
		; ;
	vpn-down)
		echo 0 > /proc/sys/net/ipv6/conf/all/disable_ipv6
		; ;
esac
OpenNTPD
Consultez
OpenNTPD#Using NetworkManager dispatcher
.
Configurer dynamiquement les serveurs NTP reçus via DHCP avec systemd-timesyncd
Lors de l'itinérance entre différents réseaux (par exemple, la LAN d'une entreprise, le WiFi à la maison, divers autres WiFi de temps en temps), vous pourriez vouloir définir le(s) serveur(s) NTP utilisé(s) par timesyncd à ceux fournis par DHCP. Cependant, NetworkManager lui-même n'est pas capable de communiquer avec systemd-timesyncd pour définir le(s) serveur(s) NTP.
Le répartiteur peut contourner ce problème.
Créez
le répertoire «overlay» (de recouvrement) pour votre configuration systemd-timesyncd
/etc/systemd/timesyncd.conf.d
s'il n'existe pas déjà. A l'intérieur de
/etc/NetworkManager/dispatcher.d
, mettez ce qui suit :
/etc/NetworkManager/dispatcher.d/10-update-timesyncd
#!/bin/sh

[ -z "$CONNECTION_UUID" ] && exit 0
INTERFACE="$1"
ACTION="$2"

case $ACTION in
up | dhcp4-change | dhcp6-change)
    [ -n "$DHCP4_NTP_SERVERS" ] || exit
    mkdir -p /etc/systemd/timesyncd.conf.d
    cat <<-THE_END >"/etc/systemd/timesyncd.conf.d/${CONNECTION_UUID}.conf"
        [Time]
        NTP=$DHCP4_NTP_SERVERS
    THE_END
    systemctl restart systemd-timesyncd.service
    ;;
down)
    rm -f "/etc/systemd/timesyncd.conf.d/${CONNECTION_UUID}.conf"
    systemctl restart systemd-timesyncd.service
    ;;
esac
Chaque fois que NetworkManager établit une nouvelle connexion réseau (
ACTION=up
) ou obtient une mise à jour pour une connexion existante (
ACTION=dhcp4-change
ou
ACTION=dhcp6-change
) et que les données de connexion fournies contiennent des informations sur le ou les serveurs NTP (
DHCP4_NTP_SERVERS
), un fichier de configuration de superposition spécifique à la connexion est écrit dans
/etc/systemd/timesyncd. conf.d
, contenant le ou les serveurs NTP fournis. Lorsqu'une connexion est supprimée (
ACTION=down
), le fichier de recouvrement spécifique à la connexion est supprimé. Après chaque modification de la configuration de systemd-timesyncd, ce service est redémarré pour prendre en compte la configuration mise à jour. L'utilisation de fichiers de configuration spécifiques à la connexion est intentionnelle afin que lorsque deux ou plusieurs connexions sont gérées par NetworkManager en parallèle, les différents noms de serveurs NTP dans la configuration ne soient pas écrasés car les actions
up
,
dhcp4-change
,
dhcp6-change
et
down
pourraient intervenir dans un ordre arbitraire.
Test
Les applets NetworkManager sont conçus pour se charger lors de la connexion, donc aucune autre configuration ne devrait être nécessaire pour la plupart des utilisateurs.  Si vous avez déjà désactivé vos anciens paramètres réseau et vous êtes déconnecté de votre réseau, vous pouvez maintenant tester si NetworkManager fonctionnera.
Démarrez
d'abord
NetworkManager.service
.
Certains applets vous fourniront un fichier
.desktop
afin que l'applet NetworkManager puisse être chargé via le menu de l'application.  Si ce n'est pas le cas, vous devrez soit découvrir la commande à utiliser, soit vous déconnecter et vous reconnecter pour lancer l'applet.  Une fois l'applet lancée, elle commencera probablement à interroger les connexions réseau pour une auto-configuration avec un serveur DHCP.
Pour démarrer l'applet GNOME dans des gestionnaires de fenêtres non conformes à xdg comme
awesome
:
nm-applet --sm-disable &.
Pour les adresses IP statiques, vous devrez configurer NetworkManager pour les comprendre.  Le processus consiste généralement à cliquer avec le bouton droit de la souris sur l'applet et à sélectionner quelque chose comme 'Edit Connections'.
Trucs et astuces
Mots de passe Wi-Fi chiffrés
Par défaut, NetworkManager stocke les mots de passe en texte clair dans les fichiers de connexion à
/etc/NetworkManager/system-connections/
. Pour imprimer les mots de passe stockés, utilisez la commande suivante :
# grep -r '^psk=' /etc/NetworkManager/system-connections/}}.
Les mots de passe sont accessibles à l'utilisateur root dans le système de fichiers et aux utilisateurs ayant accès aux paramètres via l'interface graphique (par exemple,
nm-applet
).
Il est préférable d'enregistrer les mots de passe sous forme chiffrée dans un trousseau de clés plutôt qu'en texte clair. L'inconvénient de l'utilisation d'un trousseau de clés est que les connexions doivent être configurées pour chaque utilisateur.
Utilisation du porte-clés GNOME
Le daemon du porte-clés doit être lancé et le porte-clés doit être déverrouillé pour que ce qui suit fonctionne.
De plus, NetworkManager doit être configuré pour ne pas stocker le mot de passe de tous les utilisateurs. En utilisant le
network-manager-applet
de GNOME, exécutez
nm-connection-editor
à partir d'un terminal, sélectionnez une connexion réseau, cliquez sur
Edit
, sélectionnez l'onglet
Wifi-Security
et cliquez sur l'icône de droite du mot de passe et cochez
Store the password only for this user
.
Utilisation du portefeuille KDE
En utilisant
plasma-nm
de KDE, cliquez sur l'applet, cliquez sur l'icône
Settings
en haut à droite, cliquez sur une connexion réseau, dans l'onglet
General settings
, décochez
all users may connect to this network
. Si l'option est cochée, les mots de passe seront toujours stockés en texte clair, même si un daemon de trousseau de clés est en cours d'exécution.
Si l'option était sélectionnée précédemment et que vous la décochez, vous devrez peut-être utiliser l'option
reset
pour faire disparaître le mot de passe du fichier. Sinon, supprimez d'abord la connexion et configurez-la à nouveau.
Partage de la connexion Internet par Wi-Fi
Vous pouvez partager votre connexion Internet (par exemple 3G ou filaire) en quelques clics.  Veuillez noter qu'un
pare-feu
peut interférer avec le partage d'Internet.
Vous aurez besoin d'une carte Wi-Fi qui prend en charge le mode AP, consultez
Software access point#Wi-Fi device must support AP mode
pour plus de détails.
Installez
le paquet
dnsmasq
pour pouvoir réellement partager la connexion. Notez que NetworkManager démarre sa propre instance de
dnsmasq
, indépendamment de
dnsmasq.service
, en tant que serveur DHCP. Consultez
#dnsmasq
pour les avertissements.
Créez la connexion partagée :
Cliquez sur l'applet et choisissez
Create new wireless network
.
Suivez l'assistant (choisissez WPA2 ou supérieur, assurez-vous d'utiliser un mot de passe d'au moins 8 caractères, les longueurs inférieures échoueront).
Choisissez soit
Hotspot
ou Ad-hoc comme mode Wi-Fi.
La connexion sera enregistrée et restera stockée pour la prochaine fois que vous en aurez besoin.
Note
Android ne prend pas en charge la connexion aux réseaux Ad-hoc. Pour partager une connexion avec Android, utilisez le mode infrastructure (c'est-à-dire réglez le mode Wi-Fi sur "Hotspot").
Partage d'une connexion Internet via Ethernet
Scénario : votre appareil dispose d'une connexion Internet par Wi-Fi et vous souhaitez partager la connexion Internet avec d'autres appareils par Ethernet.
Configuration requise :
Installez
les paquets
dnsmasq
et
nm-connection-editor
pour pouvoir réellement partager la connexion. Notez que NetworkManager démarre sa propre instance de
dnsmasq
, indépendamment de
dnsmasq.service
, en tant que serveur DHCP. Consultez
#dnsmasq
pour les mises en garde.
Votre appareil connecté à Internet et les autres appareils sont connectés par un câble Ethernet approprié (cela signifie généralement un câble croisé ou un commutateur entre les deux).
Le partage d'Internet n'est pas bloqué par un
pare-feu
.
Étapes :
Lancez
nm-connection-editor
dans le terminal.
Ajoutez une nouvelle connexion Ethernet.
Donnez-lui un nom sensé. Par exemple "Internet partagé".
Allez dans "Paramètres IPv4".
Pour "Method :", sélectionnez "Shared to other computers".
Sauvegardez.
Maintenant vous devriez avoir une nouvelle option "Shared Internet" sous les connexions câblées dans NetworkManager.
Se connecter au réseau avec un secret au démarrage
Par défaut, NetworkManager ne se connectera pas aux réseaux nécessitant un secret automatiquement au démarrage. Cela est dû au fait qu'il verrouille ces connexions à l'utilisateur qui les établit par défaut, ne se connectant qu'après qu'il se soit connecté. Pour changer cela, faites ce qui suit :
Cliquez du bouton droit de la souris sur l'icône
nm-applet
dans votre panneau et sélectionnez "Éditer les connexions", puis ouvrez l'onglet "Sans fil".
Sélectionnez la connexion avec laquelle vous voulez travailler et cliquez sur le bouton "Modifier".
Cochez les cases "Connecter automatiquement" et "Disponible pour tous les utilisateurs".
En outre, assurez-vous que sous "Sécurité Wi-Fi", "Stocker le mot de passe pour tous les utilisateurs (non chiffré)" est sélectionné.
Déconnectez-vous et reconnectez-vous pour terminer.
OpenConnect avec mot de passe dans KWallet
Bien que vous puissiez saisir les deux valeurs au moment de la connexion,
plasma-nm
0.9.3.2-1 et plus sont capables de récupérer le nom d'utilisateur et le mot de passe OpenConnect directement à partir de
KWallet
.
Ouvrez "KDE Wallet Manager" et recherchez votre connexion VPN OpenConnect sous "Network Management|Maps". Cliquez sur "Show values" et 
entrez vos informations d'identification dans la clé "VpnSecrets" dans ce formulaire (remplacez
username
et
password
en conséquence) :
form:main:username%SEP%
username
%SEP%form:main:password%SEP%
password
.
La prochaine fois que vous vous connecterez, le nom d'utilisateur et le mot de passe devraient apparaître dans la boîte de dialogue "Secrets VPN".
Ignorer des périphériques spécifiques
Parfois, on peut souhaiter que NetworkManager ignore des périphériques spécifiques et n'essaie pas de configurer des adresses et des routes pour eux. Vous pouvez rapidement et facilement ignorer les dispositifs par MAC ou nom d'interface en utilisant ce qui suit dans
/etc/NetworkManager/conf.d/unmanaged.conf
:
[keyfile]
unmanaged-devices=mac:00:22:68:1c:59:b1;mac:00:1E:65:30:D1:C4;interface-name:eth0
Après avoir modifié le fichier, exécutez
nmcli general reload
en tant que root. Ensuite, vous devriez être en mesure de configurer les interfaces sans que NetworkManager ne modifie ce que vous avez défini.
Configuration de la randomisation des adresses MAC
Note
La désactivation de la randomisation de l'adresse MAC peut être nécessaire pour obtenir une connexion de liaison (stable)
[6]
et/ou des réseaux qui restreignent les périphériques en fonction de leur adresse MAC ou qui ont une capacité réseau limitée.
La randomisation de l'adresse MAC peut être utilisée pour améliorer la confidentialité en ne divulguant pas votre adresse MAC réelle au réseau.
NetworkManager prend en charge deux types de randomisation des adresses MAC : la randomisation pendant le balayage ou pour les connexions réseau. Les deux modes peuvent être configurés en modifiant
/etc/NetworkManager/NetworkManager.conf
ou en créant un fichier de configuration distinct dans
/etc/NetworkManager/conf.d/
, ce qui est recommandé car le fichier de configuration susmentionné peut être écrasé par NetworkManager.
La randomisation pendant l'analyse Wi-Fi est activée par défaut, mais elle peut être désactivée en ajoutant les lignes suivantes à
/etc/NetworkManager/NetworkManager.conf
ou à un fichier de configuration dédié sous
/etc/NetworkManager/conf.d
:
/etc/NetworkManager/conf.d/wifi_rand_mac.conf
[périphérique]
wifi.scan-rand-mac-address=no
La randomisation MAC pour les connexions réseau peut être réglée sur différents modes pour les interfaces sans fil et Ethernet. Consultez le
post du blog de GNOME
pour plus de détails sur les différents modes.
En termes de randomisation MAC, les modes les plus importants sont
stable
et
random
.
stable
génère une adresse MAC aléatoire lorsque vous vous connectez à un nouveau réseau et associe les deux de manière permanente. Cela signifie que vous utiliserez la même adresse MAC chaque fois que vous vous connecterez à ce réseau. En revanche,
random
génère une nouvelle adresse MAC à chaque fois que vous vous connectez à un réseau, nouveau ou déjà connu. Vous pouvez configurer la randomisation MAC en ajoutant la configuration souhaitée sous
/etc/NetworkManager/conf.d
:
/etc/NetworkManager/conf.d/wifi_rand_mac.conf
[device-mac-randomization]
# "yes" est déjà la valeur par défaut pour le scan
wifi.scan-rand-mac-address=yes

[connection-mac-randomization]
# Randomiser le MAC pour chaque connexion ethernet
ethernet.cloned-mac-address=random
# Générer un MAC aléatoire pour chaque WiFi et associer les deux de façon permanente.
wifi.cloned-mac-address=stable
Consultez l'article suivant
du blog de GNOME
pour plus de détails.
Activer les extensions de confidentialité IPv6
Consultez
IPv6#NetworkManager
.
Configurer un DUID unique par connexion
L'identifiant unique DHCPv6 (DUID) est une valeur utilisée par le client DHCPv6 pour s'identifier auprès des serveurs DHCPv6. NetworkManager prend en charge 3 types de DUID :
DUID-UUID (
RFC 6355
) : généré à partir d'un Universally Unique IDentifier (UUID).
DUID-LL (
RFC 3315
) : généré à partir de l'adresse Link-Layer (soit l'adresse MAC).
DUID-LLT (
RFC 3315
) : généré à partir de l'adresse Link-Layer plus un timestamp.
Si le client DHCP du NetworkManager interne est utilisé (par défaut), il s'identifiera avec un DUID-UUID global et permanent généré à partir du machine-id (
/etc/machine-id
). Cela signifie que toutes les connexions partagent le même UUID, ce qui peut constituer une atteinte à la vie privée.
Heureusement, NetworkManager est capable de fournir des DUIDs uniques par connexion, dérivés du stable-id de la connexion et d'une clé unique par hôte. Vous pouvez activer cela en ajoutant la configuration suivante sous
/etc/NetworkManager/conf.d
:
/etc/NetworkManager/conf.d/duid.conf
[connexion]
ipv6.dhcp-duid=stable-uuid
Les valeurs
stable-ll
et
stable-llt
sont également prises en charge. Pour plus d'informations, lisez la description de
dhcp-duid
dans
nm-settings(5) § ipv6 setting
.
Travailler avec des connexions câblées
Par défaut, NetworkManager génère un profil de connexion pour chaque connexion Ethernet filaire qu'il trouve. Au moment où il génère la connexion, il ne sait pas s'il y aura d'autres adaptateurs Ethernet disponibles. Par conséquent, il appelle la première connexion filaire "Connexion filaire 1". Vous pouvez éviter de générer cette connexion en configurant
no-auto-default
. (consultez
NetworkManager.conf(5)
), ou en la supprimant tout simplement. NetworkManager se souviendra alors de ne plus générer de connexion pour cette interface.
Vous pouvez également modifier la connexion (et la persister sur le disque) ou la supprimer. NetworkManager ne générera pas à nouveau une nouvelle connexion. Ensuite, vous pouvez changer le nom en ce que vous voulez. Vous pouvez utiliser quelque chose comme
nm-connection-editor
pour cette tâche.
Utiliser iwd comme backend Wi-Fi
Note
N'activez pas
iwd.service
ou ne configurez pas manuellement
iwd
. NetworkManager le lancera et le gérera lui-même.
Prenez en compte
les problèmes connus
avant de passer à
iwd
.
Pour activer le backend
expérimental iwd
[
dead link
2024-10-12—HTTP 404]
,
installez
iwd
puis créez le fichier de configuration suivant :
/etc/NetworkManager/conf.d/wifi_backend.conf
[device]
wifi.backend=iwd
Alternativement, vous pouvez installer
networkmanager-iwd
AUR
, un paquet modifié configuré pour construire
NetworkManager
travaillant exclusivement avec
iwd
, avec la différence principale que
iwd
est requis et que
wpa_supplicant
peut être désinstallé après la construction.
Note
Il se peut que vous deviez
convertir les profils réseau NetworkManager existants
[
dead link
2024-10-12—HTTP 404]
après être passé à
iwd
.
Exécution dans un espace de nom de réseau
Si vous souhaitez exécuter NetworkManager à l'intérieur d'un espace de noms réseau (par exemple, pour gérer un périphérique spécifique qui doit être utilisé par des applications sélectionnées), mettez le périphérique hors service avant de le déplacer vers l'espace de noms :
$ ip link set dev
MY_DEVICE
down
$ ip link set dev
MY_DEVICE
netns
MY_NAMESPACE
$ ip netns exec
MON_Espace_de_Nom
. NetworkManager
...
$ ip netns exec
MY_NAMESPACE
killall NetworkManager
sinon NetworkManager échouera plus tard à établir la connexion avec une erreur
device is strictly unmanaged
.
Connexion automatique au VPN
NetworkManager peut être configuré pour se connecter automatiquement à un VPN lors de la connexion à l'Internet, sur une base par réseau. La connexion VPN elle-même peut être ajoutée dans l'interface NetworkManager de GNOME, mais pour qu'elle utilise automatiquement le VPN, il faut utiliser
nmcli
. D'autres interfaces peuvent ne pas avoir cette limitation.
Tout d'abord, assurez-vous de rendre la connexion VPN disponible pour tous les utilisateurs. Dans GNOME, il suffit de cocher une case dans l'onglet
details
. Sous l'onglet
Identity
, dans le champ du mot de passe, cliquez sur l'icône à droite dans le champ, et réglez-le sur
Store the password for all users
.
Trouvez ensuite l'UUID de la connexion VPN, et ajoutez-le à
connection.secondaries
de la connexion Internet :
# UUID=$(nmcli --get-values connection.uuid connection show
name-of-VPN-connection
)
# nmcli connection modify
name-of-Internet-connection
connection.secondaries "$UUID"
Maintenant, lorsque NetworkManager est redémarré et que vous vous connectez à la connexion Internet que vous avez configurée, vous devriez être automatiquement connecté au VPN.
Dépannage
Pas d'invite pour le mot de passe des réseaux Wi-Fi sécurisés
Lorsque vous essayez de vous connecter à un réseau Wi-Fi sécurisé, aucune demande de mot de passe ne s'affiche et aucune connexion n'est établie. Cela se produit lorsqu'aucun paquet de trousseau de clés n'est installé. Une solution simple consiste à installer
gnome-keyring
. Si vous souhaitez que les mots de passe soient stockés sous forme chiffrée, suivez
GNOME Keyring
pour configurer le
gnome-keyring-daemon
.
Gestion du réseau désactivée
Lorsque NetworkManager s'arrête mais que le fichier pid (état) n'est pas supprimé, vous consulterez un message
Gestion réseau désactivée
. Si cela se produit, supprimez le fichier manuellement :
# rm /var/lib/NetworkManager/NetworkManager.state
Problèmes avec le client DHCP interne
Si vous avez des problèmes pour obtenir une adresse IP en utilisant le client DHCP interne, envisagez d'utiliser un autre client DHCP, consultez
#Client DHCP
pour les instructions. Cette solution de contournement pourrait résoudre les problèmes des grands réseaux sans fil comme eduroam.
Problèmes DHCP avec dhclient
Si vous avez des problèmes pour obtenir une adresse IP via DHCP, essayez d'ajouter ce qui suit à votre
/etc/dhclient.conf
:
interface "eth0" {
   send dhcp-client-identifier 01:
aa:bb:cc:dd:ee:ff
;
 }
Où
aa:bb:cc:dd:ee:ff
est l'adresse MAC de cette NIC. L'adresse MAC peut être trouvée en utilisant la commande
ip link show
interface
du paquet
iproute2
.
Modem 3G non détecté
Consultez
Mobile broadband modem#NetworkManager
.
Désactiver le WLAN sur les ordinateurs portables
Parfois, NetworkManager ne fonctionne pas lorsque vous désactivez votre adaptateur Wi-Fi avec un interrupteur sur votre ordinateur portable et que vous essayez de le réactiver par la suite. Ceci est souvent un problème avec
rfkill
. Pour vérifier si le pilote notifie
rfkill
de l'état de l'adaptateur sans fil, utilisez :
$ watch -n1 rfkill list all
Si un identifiant reste bloqué après avoir allumé l'adaptateur, vous pouvez essayer de le débloquer manuellement avec (où X est le numéro de l'identifiant fourni par la sortie ci-dessus) :
# rfkill event unblock X
Les paramètres d'adresse IP statique se transforment en DHCP
En raison d'un bogue non résolu, lors de la modification des connexions par défaut à une adresse IP statique,
nm-applet
peut ne pas stocker correctement le changement de configuration, et reviendra au DHCP automatique.
Pour contourner ce problème, vous devez modifier la connexion par défaut (par exemple "Auto eth0") dans
nm-applet
, changer le nom de la connexion (par exemple "my eth0"), décocher la case "Available to all users", modifier les paramètres de votre adresse IP statique comme vous le souhaitez, et cliquer sur
Appliquer
.  Cela permettra d'enregistrer une nouvelle connexion avec le nom donné.
Ensuite, vous voudrez faire en sorte que la connexion par défaut ne se connecte pas automatiquement.  Pour ce faire, exécutez
nm-connection-editor
. (
not
en tant que root). Dans l'éditeur de connexion, modifiez la connexion par défaut (par exemple "Auto eth0") et décochez "Connecter automatiquement".  Cliquez sur
Appliquer
et fermez l'éditeur de connexion.
Impossible de modifier les connexions en tant qu'utilisateur normal
Consultez
#Configurer les permissions de PolicyKit
.
Oublier le réseau sans fil caché
Comme les réseaux cachés ne sont pas affichés dans la liste de sélection de la vue Sans fil, ils ne peuvent pas être oubliés (supprimés) avec l'interface graphique. Vous pouvez en supprimer un avec la commande suivante :
# rm /etc/NetworkManager/system-connections/
SSID
Cela fonctionne également pour toute autre connexion.
Le VPN ne fonctionne pas dans GNOME
Lorsque vous configurez des connexions OpenConnect ou vpnc dans NetworkManager en utilisant GNOME, il arrive que vous ne consultiez jamais la boîte de dialogue et que l'erreur suivante apparaisse dans
/var/log/errors.log
:
localhost NetworkManager[399]: <error> [1361719690.10506] [nm-vpn-connection.c:1405] get_secrets_cb(): Failed to request VPN secrets #3: (6) No agents were available for this request.
Ceci est dû au fait que l'applet NetworkManager de GNOME s'attend à ce que les scripts de dialogue se trouvent dans
/usr/lib/gnome-shell
, alors que les paquets de NetworkManager les placent dans
/usr/lib/networkmanager
.
Comme correction "temporaire" (ce bogue existe depuis un certain temps maintenant), faites le(s) lien(s) symbolique(s) suivant(s) :
Pour OpenConnect :
ln -s /usr/lib/networkmanager/nm-openconnect-auth-dialog /usr/lib/gnome-shell/
Pour le VPNC (c'est-à-dire le VPN Cisco) :
ln -s /usr/lib/networkmanager/nm-vpnc-auth-dialog /usr/lib/gnome-shell/
.
Il peut être nécessaire d'effectuer cette opération pour d'autres plugins VPN de NetworkManager, mais ce sont les deux plus courants.
Impossible de se connecter aux réseaux sans fil européens visibles
Les puces WLAN sont livrées avec un
domaine réglementaire
par défaut. Si votre point d'accès ne fonctionne pas dans ces limites, vous ne pourrez pas vous connecter au réseau. Il est facile de résoudre ce problème :
Installez
wireless-regdb
Décommentez le code pays correct dans
/etc/conf.d/wireless-regdom
.
Redémarrez le système, car le paramètre n'est lu qu'au démarrage.
La connexion automatique au VPN au démarrage ne fonctionne pas
Le problème se produit lorsque le système (c'est-à-dire NetworkManager s'exécutant en tant qu'utilisateur root) tente d'établir une connexion VPN, mais le mot de passe n'est pas accessible car il est stocké dans le trousseau GNOME d'un utilisateur particulier.
Une solution est de garder le mot de passe de votre VPN en clair, comme décrit dans l'étape (2.) de
#Utiliser le dispatcher pour se connecter à un VPN après l'établissement d'une connexion réseau
.
Vous n'avez plus besoin d'utiliser le répartiteur décrit à l'étape (1.) pour vous connecter automatiquement, si vous utilisez la nouvelle option "auto-connect VPN" de l'interface graphique
nm-applet
.
Goulot d'étranglement Systemd
Avec le temps, les fichiers journaux (
/var/log/journal
) peuvent devenir très volumineux. Cela peut avoir un impact important sur les performances de démarrage lors de l'utilisation de NetworkManager, consultez :
Systemd (Français)#Le temps de démarrage augmente avec le temps
.
Déconnexions régulières du réseau, latence et paquets perdus (WiFi)
NetworkManager effectue un scan toutes les 2 minutes.
Certains pilotes WiFi ont des problèmes lors de la recherche de stations de base lorsqu'ils sont connectés/associés. Les symptômes incluent des déconnexions/reconnexions VPN et des paquets perdus, des pages Web qui ne se chargent pas puis se rafraîchissent correctement.
L'exécution de
journalctl -f
en tant que root indiquera que cela se produit, des messages comme les suivants seront contenus dans les journaux à intervalles réguliers.
NetworkManager[410] : <info> (wlp3s0) : roamed from BSSID 00:14:48:11:20:CF (my-wifi-name) to (none) ((none))
Si le roaming n'est pas important, le comportement de balayage périodique peut être désactivé en verrouillant le BSSID du point d'accès dans le profil de connexion WiFi.
Impossible d'allumer le Wi-Fi avec un ordinateur portable Lenovo (IdeaPad, Legion, etc.)
Il y a un problème avec le module
ideapad_laptop
sur certains modèles Lenovo, le pilote Wi-Fi signalant à tort un blocage logiciel. La carte peut toujours être manipulée avec
netctl
, mais les gestionnaires comme NetworkManager ne fonctionnent pas. Vous pouvez vérifier que c'est bien là le problème en consultant la sortie de
rfkill list
après avoir basculé votre commutateur matériel et en consultant la persistance du blocage logiciel.
Décharger
le module
ideapad_laptop
devrait résoudre ce problème. (
attention
: ceci peut désactiver le clavier et le touchpad de l'ordinateur portable aussi !).
Désactiver l'envoi du nom d'hôte
NetworkManager envoie par défaut le nom d'hôte au serveur DHCP. L'envoi du nom d'hôte ne peut être désactivé que par connexion et non globalement (
Rapport n°584
).
Pour désactiver l'envoi du nom d'hôte au serveur DHCP pour une connexion spécifique, ajoutez ce qui suit à votre fichier de connexion réseau :
/etc/NetworkManager/system-connections/
your_connection_file
...
[ipv4]
dhcp-send-hostname=false
...
[ipv6]
dhcp-send-hostname=false
...
nm-applet disparaît dans i3wm
Si vous utilisez le
xfce4-notifyd.service
pour les notifications,
éditez
l'unité et ajoutez ce qui suit :
/etc/systemd/user/xfce4-notifyd.service.d/display_env.conf
[Service]
Environnement="DISPLAY=:0.0"
Après avoir rechargé les daemons,
redémarrez
xfce4-notifyd.service
. Quittez i3 et redémarrez-le. L'applet devrait apparaître dans la zone de notification.
Les icônes de la barre d'état système de nm-applet s'affichent mal
Actuellement, les icônes de la barre d'état système de nm-applet sont dessinées l'une sur l'autre, c'est-à-dire que l'icône indiquant la puissance du réseau sans fil peut s'afficher au-dessus de l'icône indiquant l'absence de connexion filaire.
Il s'agit apparemment d'un bogue/problème de GTK3 :
https://gitlab.gnome.org/GNOME/gtk/issues/1280
.
Une version corrigée de GTK3 existe dans AUR, qui apparemment corrige le bogue de l'icône de la barre d'état :
gtk3-classic
AUR
.
Unité dbus-org.freedesktop.resolve1.service non trouvée
Si
systemd-resolved.service
n'est pas démarré, NetworkManager essaiera de le démarrer en utilisant D-Bus et échouera :
dbus-daemon[991]: [system] Activating via systemd: service name='org.freedesktop.resolve1' unit='dbus-org.freedesktop.resolve1.service' requested by ':1.23' (uid=0 pid=1012 comm="/usr/bin/NetworkManager --no-daemon ")
dbus-daemon[991]: [system] Activation via systemd failed for unit 'dbus-org.freedesktop.resolve1.service': Unit dbus-org.freedesktop.resolve1.service not found.
dbus-daemon[991]: [system] Activating via systemd: service name='org.freedesktop.resolve1' unit='dbus-org.freedesktop.resolve1.service' requested by ':1.23' (uid=0 pid=1012 comm="/usr/bin/NetworkManager --no-daemon ")
Ceci est dû au fait que NetworkManager essaiera d'envoyer les informations DNS à
systemd-resolved
sans tenir compte du paramètre
main.dns=
dans
NetworkManager.conf(5)
.
[7]
Ceci peut être désactivé avec un fichier de configuration dans
/etc/NetworkManager/conf.d/
:
/etc/NetworkManager/conf.d/no-systemd-resolved.conf
[main]
systemd-resolved=false
Consultez
FS#62138
.
Les secrets étaient requis, mais non fournis
Si vous tentez de vous connecter à un réseau en utilisant
nmcli device wifi connect
SSID
password
password
et que vous recevez l'erreur suivante :
Error: Connection activation failed: (7) Secrets were required, but not provided
Cette erreur peut avoir de nombreuses causes et vous devez lire le
journal
(filtrez-le avec
-u NetworkManager
). Par exemple, si NetworkManager a pris trop de temps pour établir la connexion, il croira que le mot de passe est incorrect :
NetworkManager[1372]: <warn>  [1643991888.3808] device (wlan0): Activation: (wifi) association took too long
NetworkManager[1372]: <info>  [1643991888.3809] device (wlan0): state change: config -> need-auth (reason 'none', sys-iface-state: 'managed')
NetworkManager[1372]: <warn>  [1643991888.3838] device (wlan0): Activation: (wifi) asking for new secrets
Vous pouvez essayer de supprimer le profil de connexion et d'en créer un nouveau :
$ nmcli connection delete
SSID
(supprimer le SSID)
$ nmcli device wifi connect
SSID
password
mot de passe
.
Vous pouvez également essayer de désactiver la randomisation des adresses MAC :
/etc/NetworkManager/conf.d/wifi_rand_mac.conf
[device]
wifi.scan-rand-mac-address=no
Connexion WPA Enterprise avec iwd
Si vous essayez de vous connecter à un réseau WPA Enterprise comme 'eduroam' avec NetworkManager avec le
backend iwd
, vous obtiendrez l'erreur suivante de NetworkManager :
Connection 'eduroam' is not avialable on device wlan0 because profile is not compatible with device (802.1x connections must have IWD provisioning files)
Ceci est dû au fait que NetworkManager ne peut pas configurer un réseau WPA Enterprise. Vous devez donc le configurer en utilisant un fichier de configuration iwd
/var/lib/iwd/
essid
.8021x
comme décrit dans
iwd#WPA Enterprise
.
Échec de la demande de secrets VPN
Si vous obtenez cette erreur :
Failed to request VPN secrets #1 : No agents were available for this request.
C'est soit parce que le mot de passe est vide ou que vous devez
configurer les permissions PolicyKit
.
Voir aussi
NetworkManager pour les administrateurs Partie 1
Wikipedia:NetworkManager
Site officiel de NetworkManager