Comment gérer la mise en réseau avec NetworkManager dans RHEL/CentOS 8

Dans RHEL et CentOS 8, le service de mise en réseau est géré par le démon NetworkManager et il est utilisé pour configurer et contrôler dynamiquement les périphériques réseau et maintenir les connexions actives lorsqu’elles sont disponibles.

NetworkManager offre de nombreux avantages tels que la prise en charge de la configuration et de la gestion du réseau faciles à l’aide d’une interface de ligne de commande et d’outils d’interface utilisateur graphique, fournit une API via D-Bus qui permet d’interroger et de contrôler la configuration du réseau, la prise en charge de la flexibilité de configuration et bien plus encore.

En outre, le gestionnaire de réseau peut également être configuré à l’aide de fichiers et de la console web Cockpit et il prend en charge l’utilisation de scripts personnalisés pour démarrer ou arrêter d’autres services en fonction de l’état de la connexion.

Lire aussi: Comment configurer et gérer les connexions réseau à l’aide de l’outil ‘nmcli’

Avant d’aller plus loin, voici quelques autres points importants à noter sur la mise en réseau dans CentOS/RHEL 8:

  • La configuration de type ifcfg traditionnelle (par exemple. les fichiers ifcfg-eth0, ifcfg-enp0s3) sont toujours pris en charge.
  • Les scripts réseau sont obsolètes et ne sont plus fournis par défaut.
  • Une installation minimale fournit une nouvelle version des scripts ifup et ifdown qui appellent NetworkManager via l’outil nmcli.
  • Pour exécuter les scripts ifup et ifdown, NetworkManager doit être en cours d’exécution.

Installation de NetworkManager sur CentOS/RHEL 8

Le NetworkManager doit être préinstallé sur une installation de base de CentOS/RHEL 8, sinon vous pouvez l’installer à l’aide du gestionnaire de paquets DNF comme indiqué.

# dnf install NetworkManager
Installer le Gestionnaire de réseau dans CentOS 8
Installer le Gestionnaire de réseau dans CentOS 8

Le le fichier de configuration global de NetworkManager se trouve dans /etc/NetworkManager/NetworkManager.des fichiers de configuration et des fichiers de configuration supplémentaires peuvent être trouvés dans /etc/NetworkManager/.

Fichiers de configuration du Gestionnaire de réseau
Fichiers de configuration du Gestionnaire de réseau

Gestion du Gestionnaire de réseau à l’aide de Systemctl sur CentOS/RHEL 8

Dans CentOS/RHEL 8, et d’autres systèmes Linux modernes qui ont adopté le systemd (system and service manager), les services sont gérés à l’aide de l’outil systemctl.

Les commandes systemctl suivantes sont utiles pour gérer le service NetworkManager.

Vérification de l’état de NetworkManager

Une installation minimale de CentOS/RHEL 8 devrait démarrer NetworkManager et permettre de démarrer automatiquement au démarrage, par défaut. Vous pouvez utiliser les commandes suivantes pour vérifier si NetworkManager est actif, activé et imprimer les informations d’état d’exécution du NetworkManager.

# systemctl is-active NetworkManager# systemctl is-enabled NetworkManager# systemctl status NetworkManager 
Vérifiez le Service de gestion de réseau
Vérifiez le Service de gestion de réseau

Démarrage de NetworkManager

Si le NetworkManager n’est pas en cours d’exécution, vous pouvez le démarrer simplement en cours d’exécution.

# systemctl start NetworkManager

Arrêt du gestionnaire de réseau

Pour arrêter ou désactiver le gestionnaire de réseau pour une raison ou l’autre, exécutez la commande suivante.

# systemctl stop NetworkManager

Redémarrage de NetworkManager

Si vous avez apporté des modifications aux fichiers de configuration d’interface ou à la configuration du démon NetworkManager (généralement situé sous le répertoire /etc/NetworkManager/), vous pouvez redémarrer (arrêter puis démarrer) le NetworkManager pour appliquer les modifications comme indiqué.

# systemctl restart NetworkManager

Recharger NetworkManager

Pour recharger la configuration du démon NetworkManager (mais pas le fichier de configuration de l’unité de systemd) sans redémarrer le service, exécutez la commande suivante.

# systemctl reload NetworkManager

Utilisation des outils NetworkManager et utilisation des fichiers ifcfg

Le NetworkManager prend en charge certains outils permettant aux utilisateurs d’interagir avec lui, à savoir :

  1. nmcli – un outil de ligne de commande utilisé pour configurer la mise en réseau.
  2. nmtui – une interface utilisateur de texte simple basée sur des malédictions, qui est également utilisée pour configurer et gérer les connexions de l’interface newtwork.
  3. D’autres outils incluent l’éditeur de connexion nm, le centre de contrôle et l’icône de connexion réseau (tous sous GUI).

Pour répertorier les périphériques détectés par NetworkManager, exécutez la commande nmcli.

 # nmcli device OR# nmcli device status
Liste des périphériques Détectés par NetworkManager
Liste des Périphériques Détectés par NetworkManager

Pour afficher toutes les connexions actives, exécutez la commande suivante (notez que sans -a, elle répertorie les profils de connexion disponibles).

# nmcli connection show -a
Afficher les Connexions Réseau Actives
Afficher les Connexions Réseau Actives

Définir l’Adresse IP statique sur CentOS/ RHEL 8

Les fichiers de configuration spécifiques à l’interface réseau se trouvent dans le répertoire /etc/sysconfig/network-scripts/. Vous pouvez modifier n’importe lequel de ces fichiers, par exemple, pour définir une adresse IP statique pour votre serveur CentOS/RHEL 8.

# vi /etc/sysconfig/network-scripts/ifcfg-enp0s3

Voici un exemple de configuration pour définir une adresse IP statique.

TYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=noBOOTPROTO=noneDEFROUTE=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_FAILURE_FATAL=noIPV6_ADDR_GEN_MODE=stable-privacyNAME=enp0s3UUID=e81c46b7-441a-4a63-b695-75d8fe633511DEVICE=enp0s3ONBOOT=yesIPADDR=192.168.0.110PREFIX=24GATEWAY=192.168.0.1DNS1=8.8.8.8PEERDNS=no
Afficher la Configuration de l'Interface réseau
Afficher la Configuration de l’Interface réseau

Après avoir enregistré les modifications, vous devez rechargez tous les profils de connexion ou redémarrez le gestionnaire de réseau pour que les nouvelles modifications s’appliquent.

# nmcli connection reloadOR# systemctl restart NetworkManager

Démarrage ou arrêt de Services/Scripts réseau Basés sur la connectivité réseau

NetworkManager a une option utile qui permet aux utilisateurs d’exécuter des services (tels que NFS, SMB, etc.) ou des scripts simples basés sur la connectivité réseau.

Par exemple, si vous souhaitez monter automatiquement un répertoire distant localement avec sshfs, montez des partages SMB ou des partages NFS après avoir basculé entre les réseaux. Vous pouvez souhaiter que ces services réseau ne soient pas exécutés tant que NetworkManager n’est pas opérationnel (toutes les connexions sont actives).

Cette fonctionnalité est fournie par le service NetworkManager-dispatcher (qui doit être démarré et activé pour démarrer automatiquement au démarrage du système). Une fois le service en cours d’exécution, vous pouvez ajouter vos scripts à /etc/NetworkManager/dispatcher.d répertoire.

Tous les scripts doivent être exécutables et inscriptibles, et appartiennent à root, par exemple :

# chown root:root /etc/NetworkManager/dispatcher.d/10-nfs-mount.sh# chmod 755 /etc/NetworkManager/dispatcher.d/10-nfs-mount.sh

Important : Les scripts du répartiteur 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.

Utilisation de Scripts Réseau hérités

Comme nous l’avons mentionné précédemment, les scripts réseau sont obsolètes dans CentOS/RHEL 8 et ne sont pas installés par défaut. Si vous souhaitez toujours utiliser les scripts réseau, vous devez installer le package network-scripts.

# yum install network-scripts

Une fois installé, ce paquet fournit une nouvelle version des scripts ifup et ifdown qui appellent NetworkManager via l’outil nmcli que nous avons examiné ci-dessus. Notez que NetworkManager devrait être en cours d’exécution pour que vous puissiez exécuter ces scripts.

Pour plus d’informations, consultez les pages de manuel systemctl et NetworkManager.

# man systemctl# man NetworkManager

C’est tout ce que nous avons préparé dans cet article. Vous pouvez demander des éclaircissements sur l’un des points, poser des questions ou apporter des ajouts à ce guide via le formulaire de commentaires ci-dessous.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.