Accéder au contenuNavigation Accéder à la page : page précédente [raccourci clavier p] / page suivante [raccourci clavier n]
documentation.suse.com / Configuration du réseau à l'aide de NetworkManager

Configuration du réseau à l'aide de NetworkManager

Date de publication : 12 déc 2024
CONTENU

Cet article aborde les principes de base de NetworkManager et explique comment se servir de l'outil CLI pour configurer le réseau.

MOTIF

Vous utilisez NetworkManager et souhaitez configurer votre réseau.

EFFORT

La lecture de cet article prend environ 15 minutes.

OBJECTIF

Vous comprendrez mieux le fonctionnement de NetworkManager et comment configurer des connexions réseau.

1 À propos de NetworkManager

NetworkManager est un programme qui gère la connexion réseau principale ainsi que d'autres interfaces de connexion. Il a été conçu pour être entièrement automatique par défaut. Il est géré par systemd et est livré avec tous les fichiers d'unité de service nécessaires.

NetworkManager stocke toutes les configurations réseau en tant que connexion, c'est-à-dire un ensemble de données collectées qui décrit comment créer un réseau ou s'y connecter. Ces connexions sont stockées sous forme de fichiers dans le répertoire /etc/NetworkManager/system-connections/.

Une connexion est active lorsqu'un périphérique spécifique utilise cette connexion. Le périphérique peut avoir plusieurs connexions configurées, mais il ne peut y en avoir qu'une seule active à la fois. Les autres connexions peuvent être utiles pour passer rapidement d'une connexion à une autre. Par exemple, si la connexion active n'est pas disponible, NetworkManager tente de connecter le périphérique à une autre connexion configurée.

Pour gérer les connexions, utilisez la commande nmcli décrite dans la Section 4, « Gestion du réseau à l'aide de NetworkManager ».

2 Fichier de configuration NetworkManager.conf

Le fichier de configuration principal de NetworkManager est /etc/NetworkManager/NetworkManager.conf. Ce fichier peut servir à configurer le comportement de NetworkManager.

Il se compose de sections de paires clé-valeur. Chaque paire clé-valeur doit appartenir à une section. Une section commence par un nom entre []. Les lignes commençant par # sont considérées comme des commentaires. La configuration minimale doit inclure la section [main] avec la valeur plugins :

[main]
plugins=keyfile

Le plug-in keyfile prend en charge tous les types de connexion et l'ensemble des fonctionnalités de NetworkManager.

Le fichier de configuration par défaut contient la section connectivity qui spécifie l'URI pour vérifier la connexion réseau.

Sous SUSE Linux Micro, vous pouvez également utiliser d'autres sections. Pour plus de détails, reportez-vous à la page du manuel networkmanager.conf(5) ou au manuel Gnome's developer guide.

3 Démarrage et arrêt de NetworkManager

Comme NetworkManager est un service systemd, vous pouvez utiliser des commandes systemd courantes pour démarrer, arrêter ou redémarrer NetworkManager.

Pour démarrer NetworkManager :

# systemctl start network

Pour redémarrer NetworkManager :

# systemctl restart network

Pour arrêter NetworkManager :

# systemctl stop network

4 Gestion du réseau à l'aide de NetworkManager

4.1 Commande nmcli

NetworkManager fournit une interface CLI pour gérer vos connexions. L'interface nmcli vous permet de vous connecter à un réseau bien précis, de modifier une connexion, de modifier un périphérique, etc. La syntaxe générique de nmcli est la suivante :

# nmcliOPTIONSSUBCOMMANDSUBCOMMAND_ARGUMENTS

où les OPTIONS sont décrites dans la Section 4.1.1, « Options de commande nmcli » et la sous-commande SUBCOMMAND peut être l'une des suivantes :

connection

permet de configurer votre connexion réseau. Pour plus d'informations, reportez-vous à la Section 4.1.2, « Sous-commande connection ».

device

Pour plus d'informations, reportez-vous à la Section 4.1.3, « Sous-commande device ».

general

affiche l'état et les autorisations. Pour plus d'informations, reportez-vous à la Section 4.1.4, « Sous-commande general ».

monitor

surveille l'activité de NetworkManager ainsi que les changements d'état de la connectivité et des périphériques. Cette sous-commande n'accepte aucun argument.

networking

interroge l'état du réseau. Pour plus d'informations, reportez-vous à la Section 4.1.5, « Sous-commande networking ».

4.1.1 Options de commande nmcli

Outre les sous-commandes et leurs arguments, la commande nmcli peut accepter les options suivantes :

-a|--ask

La commande arrête son exécution pour demander les arguments manquants, par exemple, un mot de passe pour se connecter à un réseau.

-c|--color {yes|no|auto}

contrôle la sortie de couleur : yes pour activer les couleurs, no pour les désactiver tandis que auto crée une sortie de couleur uniquement lorsque la sortie standard est dirigée vers un terminal.

-m|--mode {tabular|multiline}

bascule entre table (chaque ligne décrit une entrée unique, les colonnes définissent des propriétés particulières de l'entrée) et multiline (chaque entrée comporte plusieurs lignes, chaque propriété est sur sa propre ligne). tabular est la valeur par défaut.

-h|--help

imprime l'aide.

-w|--wait seconds

définit une période de timeout pendant laquelle patienter pour que NetworkManager termine ses opérations. L'utilisation de cette option est recommandée pour les commandes qui peuvent prendre plus de temps, par exemple l'activation de la connexion.

4.1.2 Sous-commande connection

La commande connection permet de gérer les connexions ou d'afficher des informations sur certaines connexions. nmcli connection fournit les commandes suivantes pour gérer vos connexions réseau :

show

pour établir la liste des connexions :

# nmcli connection show

Vous pouvez également utiliser cette commande pour afficher les détails d'une connexion spécifiée :

# nmcli connection showCONNECTION_ID

CONNECTION_ID est l'un des identificateurs suivants : un nom de connexion, un UUID ou un chemin

up

pour activer la connexion fournie. Utilisez la commande pour recharger une connexion. Exécutez également cette commande après avoir modifié la connexion.

# nmcli connection up [--active] [CONNECTION_ID]

Lorsque --active est spécifié, seuls les profils actifs sont affichés. La valeur par défaut consiste à afficher les connexions actives et la configuration statique.

down

pour désactiver une connexion.

# nmcli connection downCONNECTION_ID

CONNECTION_ID est l'un des identificateurs suivants : un nom de connexion, un UUID ou un chemin

Si vous désactivez la connexion, elle ne se reconnectera pas ultérieurement, même si elle présente l'indicateur autoconnect.

modify

pour modifier ou supprimer une propriété d'une connexion.

# nmcli connection modifyCONNECTION_IDSETTING.PROPERTYPROPERTY_VALUE

  • CONNECTION_ID est l'un des identificateurs suivants : un nom de connexion, un UUID ou un chemin

  • SETTING.PROPERTY est le nom de la propriété, par exemple, ipv4.addresses

  • PROPERTY_VALUE est la valeur souhaitée de SETTING.PROPERTY

L'exemple suivant désactive l'option autoconnect sur la connexion ethernet1 :

# nmcli connection modify ethernet1 connection.autoconnect no
add

pour ajouter une connexion avec les détails fournis. La syntaxe de la commande est similaire à celle de la commande modify :

# nmcli connection addCONNECTION_IDsave YES|NOSETTING.PROPERTYPROPERTY_VALUE

Vous devez au moins spécifier un type de connexion connection.type ou utiliser un type type. L'exemple suivant ajoute une connexion Ethernet liée à l'interface eth0 avec DHCP et désactive l'indicateur autoconnectde la connexion :

# nmcli connection add type ethernet autoconnect no ifname eth0
edit

pour modifier une connexion existante à l'aide d'un éditeur interactif.

# nmcli connection editCONNECTION_ID
clone

pour cloner une connexion existante. La syntaxe minimale est la suivante :

# nmcli connection cloneCONNECTION_IDNEW_NAME

CONNECTION_ID est la connexion à cloner.

delete

pour supprimer une connexion existante :

# nmcli connection deleteCONNECTION_ID
monitor

pour surveiller la connexion fournie. Lors de chaque modification de la connexion, NetworkManager imprime une ligne.

# nmcli connection monitorCONNECTION_ID
reload

pour recharger tous les fichiers de connexion à partir du disque. Étant donné que NetworkManager ne surveille pas les modifications apportées aux fichiers de connexion, vous devez utiliser cette commande chaque fois que vous apportez des modifications aux fichiers. Cette commande n'accepte pas d'autres sous-commandes.

load

pour charger/recharger un fichier de connexion spécifique, exécutez :

# nmcli connection loadCONNECTION_FILE

Pour plus de détails sur les commandes mentionnées ci-dessus, reportez-vous à la page nmcli documentation.

4.1.3 Sous-commande device

La sous-commande device permet d'afficher et de gérer les interfaces réseau. La commande nmcli device reconnaît les commandes suivantes :

status

pour imprimer l'état de tous les périphériques.

# nmcli device status
show

affiche des informations détaillées concernant un périphérique. Si vous ne spécifiez aucun périphérique, tous les périphériques sont affichés.

# mcli device show [DEVICE_NAME]
connect

pour connecter un périphérique. NetworkManager tente de trouver une connexion appropriée qui sera activée. Si aucune connexion n'est compatible, un nouveau profil est créé.

# nmcli device connectDEVICE_NAME
modify

modifie temporairement la configuration active sur le périphérique concerné. Les modifications ne sont pas stockées dans le profil de connexion.

# nmcli device modifyDEVICE_NAME [+|-] SETTING.PROPERTY VALUE

Pour connaître les valeurs SETTING.PROPERTY possibles, reportez-vous à la page du manuel nm-settings-nmcli (5).

L'exemple ci-dessous démarre le partage de connexion IPv4 sur le périphérique con1.

# nmcli dev modify con1 ipv4.method shared
disconnect

déconnecte un périphérique et empêche le périphérique d'activer automatiquement d'autres connexions sans intervention manuelle.

# nmcli device disconnectDEVICE_NAME
delete

pour supprimer l'interface du système. Cette commande permet de supprimer uniquement les périphériques logiciels tels que les liaisons et les ponts. Elle ne permet pas de supprimer des périphériques matériels.

# nmcli deviceDEVICE_NAME
wifi

établit la liste de tous les points d'accès disponibles.

# nmcli device wifi
wifi connect

se connecte à un réseau Wi-Fi spécifié par son SSID ou son BSSID. La commande accepte les options suivantes :

  • password : mot de passe pour les réseaux sécurisés

  • ifname : interface utilisée pour l'activation

  • name : vous pouvez donner un nom à la connexion

# nmcli device wifi connectSSID [password PASSWORD_VALUE] [ifname INTERFACE_NAME]

Pour vous connecter à un réseau Wi-Fi GUESTWi-Fi avec un mot de passe pass$word2#@@, exécutez :

# nmcli device wifi connectGUESTWiFi password pass$word2#@@

4.1.4 Sous-commande general

Cette commande vous permet d'afficher l'état et les autorisations de NetworkManager, mais aussi de modifier le nom d'hôte et le niveau de consignation. nmcli general reconnaît les commandes suivantes :

status

affiche l'état général de NetworkManager. Lorsque vous ne spécifiez pas de commande nmcli general, l'état est utilisé par défaut.

# nmcli general status
hostname

si vous ne fournissez pas de nouveau nom d'hôte comme argument, le nom d'hôte actuel s'affiche. Si vous spécifiez un nouveau nom d'hôte, la valeur est utilisée pour définir un nouveau nom d'hôte.

# nmcli general hostname [HOSTNAME]

Par exemple, pour définir MyHostname, exécutez :

# nmcli general hostname MyHostname
permissions

affiche votre autorisation d'effectuer des opérations de NetworkManager telles que l'activation ou la désactivation du réseau, la modification des connexions, etc.

# nmcli general permissions
logging

affiche et modifie les niveaux et les domaines de consignation de NetworkManager. En l'absence d'argument, la commande affiche les niveaux et les domaines de consignation actuels.

# nmcli general logging [levelLEVEL domains DOMAIN]

LEVEL est l'une des valeurs suivantes : OFF, ERR, WARN, INFO, DEBUG ou TRACE.

DOMAIN est une liste de valeurs pouvant se présenter comme suit : PLATFORM, RFKILL, ETHER, WIFI, BT, MB, DHCP4, DHCP6, PPP, WIFI_SCAN, IP4, IP6, AUTOIP4, DNS, VPN, SHARING, SUPPLICANT, AGENTS, SETTINGS, SUSPEND, CORE, DEVICE, OLPC, WIMAX, INFINIBAND, FIREWALL, ADSL, BOND, VLAN, BRIDGE, DBUS_PROPS, TEAM, CONCHECK, DCB, DISPATCH, AUDIT, SYSTEMD, VPN_PLUGIN, PROXY.

4.1.5 Sous-commande networking

La sous-commande permet d'interroger l'état du réseau. Cette commande vous permet aussi d'activer ou de désactiver la mise en réseau. La commande nmcli networking accepte les commandes suivantes :

on/off

active ou désactive la mise en réseau. La commande off désactive toutes les interfaces gérées par NetworkManager.

# nmcli networking on
connectivity

affiche l'état de la connectivité réseau. Si la commande check est utilisée, NetworkManager effectue une nouvelle vérification de l'état. Sinon, le dernier état détecté s'affiche.

# nmcli networking connectivity

Les états possibles sont les suivants :

  • none : l'hôte n'est connecté à aucun réseau.

  • portal : l'hôte se trouve derrière un portail captif et ne peut pas accéder à l'ensemble d'Internet.

  • limited : l'hôte est connecté à un réseau, mais n'a pas accès à Internet.

  • full : l'hôte est connecté à un réseau et dispose d'un accès à l'ensemble d'Internet.

  • unknown : NetworkManager n'a pas pu déterminer l'état du réseau.