Comme 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 scriptsifcfg-<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
deAutomatic
à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
etSearch domains
. - Passer
IPv6 CONFIGURATION
deAutomatic
à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
deAutomatic
à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
etSearch domains
. - Passer
IPv6 CONFIGURATION
deAutomatic
àIgnore
. - Confirmer par
OK
. - Éditer le profil correspondant à la deuxième interface.
- Remplacer le nom de profil par
LAN
. - Renseigner la rubrique
Device
, par exempleenp3s1
. - Passer
IPv4 CONFIGURATION
deAutomatic
à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
etSearch domains
. - Passer
IPv6 CONFIGURATION
deAutomatic
àIgnore
. - Confirmer par
OK
. - Revenir à la fenêtre principale.
- Activer les deux connexions
WAN
etLAN
. - 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
deAutomatic
à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
etSearch domains
. - Passer
IPv6 CONFIGURATION
deAutomatic
à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
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
ouLAN
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
ouifcfg-LAN
. Ce n’est pas strictement nécessaire, mais c’est plus parlant queifcfg-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 variableGATEWAY
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.
1 commentaire
Sam · 5 février 2021 à 8 h 51 min
c’est bon je vais passer a oracle linux!