NetworkManagerComme tous les clones de Red Hat Enterprise Linux, la distribution Rocky Linux utilise NetworkManager, un outil de gestion de réseau développé par Red Hat depuis 2004. En théorie, un nombre significatif d’administrateurs considèrent qu’il s’agit là d’une couche d’abstraction et de complexité supplémentaire, et dont on peut aisément se passer. En pratique, Red Hat met en avant l’utilisation de NetworkManager depuis RHEL 7.0, et cette préférence a tendance à s’accentuer depuis la publication de RHEL 8.0.

  • Sous Red Hat Enterprise Linux 7.x et CentOS 7.x il est tout à fait possible de supprimer tous les paquets NetworkManager-* et de passer par la configuration manuelle des scripts ifcfg-<interface> dans /etc/sysconfig/network-scripts. C’est d’ailleurs ce que je préconise dans le premier tome de mon ouvrage Administration Linux par la pratique.
  • Sous Red Hat Enterprise 8.x et Rocky Linux 8.x cette manière de procéder est tolérée, quoique considérée officiellement comme obsolète. Le guide officiel Considerations in adopting Red Hat Enterprise Linux 8 le dit bien : « Network scripts are deprecated in Red Hat Enterprise Linux 8 and are no longer provided by default.« 

Parmi les avantages de NetworkManager, on notera l’abolition des idiosyncrasies de configuration spécifiques aux distributions. De ce point de vue, NetworkManager est au réseau ce que systemd est à l’initialisation et la gestion des services.

Je ne vais pas rédiger un article exhaustif – c’est-à-dire qui épuise le sujet aussi bien que le lecteur – sur NetworkManager. Au lieu de cela, je vais présenter en détail trois cas pratiques assez répandus :

AstuceNote pour les chipoteurs : le terme « serveur LAN » est une distinction purement pragmatique qui désigne une machine telle qu’on la trouve dans le local de serveurs d’une école, d’une mairie ou d’une PME, par opposition à un serveur dédié installé dans un datacenter.

Une fois que nous aurons vu en détail ces trois configurations, nous en profiterons pour parler de quelques points importants à vérifier.

NetworkManager sur un serveur LAN

Afficher les interfaces réseau gérées par NetworkManager :

# nmcli dev
DEVICE  TYPE      STATE      CONNECTION
enp2s0  ethernet  connected  enp2s0
lo      loopback  unmanaged  --

Configurer la connexion :

# nmtui
  • Sélectionner Edit a connection.
  • Éditer la connexion.
  • Remplacer le nom de profil par LAN.
  • Passer IPv4 CONFIGURATION de Automatic à Manual.
  • Cliquer sur Show pour afficher les détails.
  • Fournir l’adresse IP du serveur en notation CIDR, par exemple 192.168.2.3/24.
  • Renseigner l’adresse IP de la passerelle dans le champ Gateway.
  • Ne rien indiquer dans les champs DNS server et Search domains.
  • Passer IPv6 CONFIGURATION de Automatic à Ignore.
  • Confirmer par OK.
  • Revenir à la fenêtre principale.
  • Activer la connexion LAN: Activate a connection > LAN
  • Quitter NetworkManager TUI : Quit.

Renseigner le ou les serveurs DNS :

# /etc/resolv.conf
search microlinux.lan
nameserver 192.168.2.1

Corriger la configuration du nom d’hôte :

# /etc/hosts
127.0.0.1   localhost.localdomain localhost
192.168.2.3 sandbox.microlinux.lan sandbox

Le fichier /etc/hostname devra juste contenir le nom d’hôte simple sans le domaine :

sandbox

NetworkManager sur un routeur

Afficher les interfaces réseau gérées par NetworkManager :

# nmcli dev
DEVICE  TYPE      STATE         CONNECTION 
enp2s0  ethernet  connected     enp2s0     
enp3s1  ethernet  disconnected  --         
lo      loopback  unmanaged     --  

Configurer les connexions :

# nmtui
  • Sélectionner Edit a connection.
  • Éditer la connexion active.
  • Remplacer le nom de profil par WAN.
  • Passer IPv4 CONFIGURATION de Automatic à Manual.
  • Cliquer sur Show pour afficher les détails.
  • Fournir l’adresse IP du serveur en notation CIDR, par exemple 192.168.2.5/24.
  • Renseigner l’adresse IP de la passerelle dans le champ Gateway.
  • Ne rien indiquer dans les champs DNS server et Search domains.
  • Passer IPv6 CONFIGURATION de Automatic à Ignore.
  • Confirmer par OK.
  • Éditer le profil correspondant à la deuxième interface.
  • Remplacer le nom de profil par LAN.
  • Renseigner la rubrique Device, par exemple enp3s1.
  • Passer IPv4 CONFIGURATION de Automatic à Manual.
  • Cliquer sur Show pour afficher les détails.
  • Fournir l’adresse IP de la deuxième interface, par exemple 192.168.3.1/24.
  • Ne rien indiquer dans les champs Gateway, DNS server et Search domains.
  • Passer IPv6 CONFIGURATION de Automatic à Ignore.
  • Confirmer par OK.
  • Revenir à la fenêtre principale.
  • Activer les deux connexions WAN et LAN.
  • Quitter NetworkManager TUI : Quit.

Renseigner le ou les serveurs DNS :

# /etc/resolv.conf
nameserver 192.168.2.1

Corriger la configuration du nom d’hôte :

# /etc/hosts
127.0.0.1   localhost.localdomain localhost
192.168.3.1 amandine.sandbox.lan amandine

Le fichier /etc/hostname devra juste contenir le nom d’hôte simple :

amandine

NetworkManager sur un serveur dédié

Afficher les interfaces réseau gérées par NetworkManager :

# nmcli dev
DEVICE  TYPE      STATE     CONNECTION  
eth0    ethernet  connected System eth0 
lo      loopback  unmanaged --   

Configurer la connexion :

# nmtui
  • Éditer la connexion existante.
  • Remplacer le nom de profil par WAN.
  • Passer IPv4 CONFIGURATION de Automatic à Manual.
  • Cliquer sur Show pour afficher les détails.
  • Fournir l’adresse IP du serveur en notation CIDR, par exemple 51.158.146.161/24.
  • Renseigner l’adresse IP de la passerelle dans le champ Gateway.
  • Ne rien indiquer dans les champs DNS server et Search domains.
  • Passer IPv6 CONFIGURATION de Automatic à Ignore.
  • Confirmer par OK.
  • Revenir à la fenêtre principale.
  • Activer la connexion WAN.
  • Quitter NetworkManager TUI : Quit.

Renseigner le ou les serveurs DNS :

# /etc/resolv.conf
nameserver 62.210.16.6
nameserver 62.210.16.7

Corriger la configuration du nom d’hôte :

# /etc/hosts
127.0.0.1       localhost.localdomain localhost
51.158.146.161  sd-155842.dedibox.fr sd-155842

Le fichier /etc/hostname devra juste contenir le nom d’hôte simple :

sd-155842

Vérifications et peaufinages

NetworkManager n’est pas exactement un outil simple qui obéit au principe KISS. Son maniement est assez idiosyncratique et parfois même un peu obtus. Voici en vrac une série de choses à savoir et de points importants à vérifier.

  • C’est une bonne idée de désactiver les interfaces que l’on n’utilise pas.
  • J’aime bien donner des noms parlants du genre WAN ou LAN aux profils de connexion.
  • À mon humble avis, c’est une bonne pratique d’inscrire les informations DNS uniquement dans le fichier /etc/resolv.conf et non pas dans la configuration des interfaces. Sur un routeur, c’est même obligatoire, sous peine de se retrouver confronté à toute une série de dysfonctionnements exaspérants.
  • Vérifier à deux fois si la configuration manuelle du fichier /etc/resolv.conf ne se fait pas écraser par autre chose. C’est le cas lorsqu’on a oublié de supprimer la configuration DNS individuelle d’une interface.

La rédaction de cette documentation demande du temps et des quantités significatives de café espresso. Vous appréciez ce blog ? Offrez un café au rédacteur en cliquant sur la tasse.

 


0 commentaire

Laisser un commentaire

Emplacement de l’avatar

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *