NetworkManagerComme tous les clones de Red Hat Enterprise Linux, la distribution Oracle 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 RHEL et Oracle Linux 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 RHEL et Oracle 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.

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  connecté  enp2s0     
lo      loopback  non-géré  --     

Configurer la connexion.

$ sudo 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.
  • 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  connecté      enp2s0     
enp3s1  ethernet  indisponible  --         
lo      loopback  non-géré      --  

Configurer les connexions.

$ sudo 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  connecté  System eth0 
lo      loopback  non-géré  --   

Configurer la connexion.

$ sudo 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 163.172.220.174/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 les deux 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
163.172.220.174 sd-100246.dedibox.fr sd-100246

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

sd-100246

Vérifications et peaufinages

InfoNetworkManager 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.
  • Pour plus de cohérence, ce n’est pas une mauvaise idée de stocker les configurations respectives dans des fichiers ifcfg-WAN ou ifcfg-LAN. Ce n’est pas strictement nécessaire, mais c’est plus parlant que ifcfg-Wired_Connection_3.
  • À 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.
  • Une fois qu’on a basculé vers NetworkManager, on peut éventuellement vérifier si l’on n’a pas des résidus de configuration sur base de network-scripts, du genre une variable GATEWAY oubliée dans un fichier /etc/sysconfig/network.

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.

 

Catégories : Serveur

1 commentaire

Sam · 5 février 2021 à 8 h 51 min

c’est bon je vais passer a oracle linux!

Laisser un commentaire

Avatar placeholder

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