Voici le deuxième article dans la série sur l’outil de configuration réseau NetworkManager. Le premier article était consacré à une présentation générale de l’application. Aujourd’hui nous allons prendre en main NetworkManager sur un serveur local muni d’une seule interface réseau.
La machine raymonde.microlinux.lan
est un serveur local fraîchement installé sous CentOS 7, avec mes modifications post-installation habituelles. NetworkManager n’est pas installé pour l’instant.
$ rpm -qa | grep -i networkmanager
Le répertoire /etc/sysconfig/network-scripts
arbore deux fichiers de configuration ifcfg-<interface>
correspondant à la boucle locale lo
et à l’interface enp2s0
. La configuration est celle générée par l’installateur.
$ cd /etc/sysconfig/network-scripts/ $ ls -l ifcfg-* -rw-r--r--. 1 root root 312 Mar 3 08:40 ifcfg-enp2s0 -rw-r--r--. 1 root root 254 Mar 29 2019 ifcfg-lo $ cat ifcfg-enp2s0 TYPE="Ethernet" PROXY_METHOD="none" BROWSER_ONLY="no" BOOTPROTO="dhcp" DEFROUTE="yes" IPV4_FAILURE_FATAL="no" IPV6INIT="yes" IPV6_AUTOCONF="yes" IPV6_DEFROUTE="yes" IPV6_FAILURE_FATAL="no" IPV6_ADDR_GEN_MODE="stable-privacy" NAME="enp2s0" UUID="230cdf46-a0cc-4110-bf5b-512323b19fc0" DEVICE="enp2s0" ONBOOT="yes"
Pour commencer, j’installe NetworkManager.
$ sudo yum install NetworkManager
J’active et je lance le service correspondant.
$ sudo systemctl enable NetworkManager --now
Je tente une petite expérience et je me débarrasse de la configuration de ma carte réseau.
$ sudo rm /etc/sysconfig/network-scripts/ifcfg-enp2s0
Je redémarre le serveur.
$ sudo reboot
Au redémarrage, je constate que le serveur est toujours connecté au réseau local.
- Dans la configuration par défaut, NetworkManager vérifie s’il est possible de recevoir les informations de configuration via un serveur DHCP local.
- NetworkManager fonctionne uniquement lorsque l’application est en mesure de contrôler les interfaces réseau. Sur les systèmes CentOS et Red Hat, cela signifie concrètement que les fichiers
ifcfg-<interface>
ne doivent pas contenir la directiveNM_CONTROLLED=no
. La valeur par défaut de cette option estyes
, ce qui signifie que tant qu’elle est absente, tout va bien.
Sur un serveur sans interface graphique, je dispose de deux options pour contrôler la configuration de NetworkManager.
- l’outil en ligne de commande
nmcli
- l’interface graphique en mode texte NetworkManager TUI (Text User Interface) invoquée par la commande
nmtui
Dans le cas de figure présent, l’outil graphique – basé sur la bibliothèque ncurses
– constitue la solution la plus confortable.
$ sudo yum install NetworkManager-tui
Une fois qu’il est installé, il suffit de le lancer avec les droits qui vont bien.
$ sudo nmtui
Dans la première fenêtre, je sélectionne l’option Edit a connection
. Notez que rien ne vous empêche d’utiliser NetworkManager TUI en français. Sur mes serveurs, je préfère utiliser l’anglais.
Je ne dispose que d’une seule carte réseau sur cette machine.
Voilà comment se présente la fenêtre de configuration par défaut de mon interface.
- Je remplace
Profile Name
par un nom parlant, par exempleLAN
. - Rien à signaler dans le champ
ETHERNET
. - Dans le champ
IPv4 CONFIGURATION
, je passe deAutomatic
àManual
et je clique surShow
. - Je fournis l’adresse IP de la machine en notation CIDR (
192.168.2.4/24
) dans le champAddresses
. - L’adresse IP de la passerelle doit figurer dans le champ
Gateway
. - Je ne touche pas aux champs
DNS servers
etsearch domains
. - Dans le champ
IPv6 CONFIGURATION
, je passe deAutomatic
àIgnore
, vu que je n’utilise pas l’IPv6 sur cette machine. - Je confirme par
OK
.
De retour dans la vue d’ensemble, je choisis Back
. L’ergonomie de l’interface prête à confusion ici.
La connexion est configurée, il ne me reste qu’à l’activer.
La présence d’un petit astérisque *
devant le nom de la connexion indique qu’elle est active.
À présent, je peux quitter NetworkManager TUI.
Cette configuration a été inscrite dans un nouveau fichier /etc/sysconfig/network-scripts/ifcfg-LAN
.
$ cat /etc/sysconfig/network-scripts/ifcfg-LAN HWADDR=00:1D:09:15:4A:D8 TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=none IPADDR=192.168.2.4 PREFIX=24 GATEWAY=192.168.2.1 DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=no NAME=LAN UUID=92a96f0b-d5d8-3230-8ee9-92edc1bd453f ONBOOT=yes AUTOCONNECT_PRIORITY=-999
Je n’ai pas renseigné mon serveur DNS local ou mon domaine de recherche dans la configuration de ma carte. Il vaut mieux utiliser le fichier /etc/resolv.conf
pour ces indications.
# /etc/resolv.conf
search microlinux.lan
nameserver 192.168.2.1
La logique de cette approche nous apparaîtra plus clairement lorsque nous aurons à configurer un routeur muni de plusieurs interfaces réseau.
Pour être bien sûr que c’est ma configuration statique qui est prise en compte, je débranche le câble réseau du switch et je redémarre le serveur. Un petit état des lieux (ip addr
) montre que tout se passe comme prévu.
Après cette première prise en main, notre prochain article traitera de la configuration de NetworkManager sur un routeur.
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.