Dans ce chapitre, je vous propose de voir tout ce qui concerne la configuration réseau d'un serveur Linux, que ce soit :
le nom réseau de la machine
la détection des périphériques interfaces par le noyau
l'emplacement des fichiers de configuration
les différents modes d'adresse IP
les routes et passerelles
et les services de noms (DNS)
Nous faire abstraction de ces différents outils et passer en revue la configuration manuelle du réseau via un processus démon. Ce processus gère :
le montage ou le démontage des interfaces,
les fichiers de configuration sur les distributions majoritaires en entreprise : RedHat (et ses dérivés) et Debian (et ses dérivés).
Normalement, avec cette méthode, vous serez en mesure de configurer le réseau sur toutes les distributions.
Configurez le nom du réseau de votre serveur
Premier élément de configuration réseau du serveur : son nom réseau.
Prenez l'exemple d'un serveur de fichiers logs centralisés sur un réseau interne : toutes les communications logs des serveurs du réseau seront préfixées de leur nom réseau, ce qui permettra au service de centralisation des logs de savoir d'où viennent tels ou tels fichiers.
Si tous les serveurs de logs ont le même nom réseau (par exemple localhost
qui est proposé pendant le processus d'installation), difficile de reconnaître l'origine des fichiers communiqués.
Dans la vidéo ci-dessous, je vous présente :
le fichier
/proc/sys/kernel/hostname
qui contient la valeur courante du nom réseau du serveur,la commande
hostnamectl
qui permet de la modifier,le fichier
/etc/hostname
qui permet d’initialiser le nom réseau au démarrage.
C’est parti !
Dans l'exemple de la vidéo, j'ai appliqué vega
, pour l'étoile principale de la constellation de la Lyre. Ainsi, mes différents serveurs pourraient se nommer également avec des noms d'étoile (deneb
, altair
, procyon
, sirius
, etc.).
J'ai rencontré beaucoup de nomenclatures de nom réseau en entreprise, allant de :
la reprise de noms célèbres de villes du monde (
sydney
,beijing
,bamako
, etc.),en passant par des noms de personnages mythologiques diverses (
heimdall
,zeus
,osiris
, etc.),à des noms réseaux purement analytiques reprenant par exemple leur localisation ou leurs objectifs en termes de services (
srv10s40
,web10front
,mailintra
, etc.).
Bon, une fois le nom d’hôte positionné, il est ensuite nécessaire de passer à la configuration de la carte réseau.
Détectez les interfaces réseaux de votre système
La commande dmesg
(pour "display message") permet d'afficher les messages du noyau :
pendant le processus de démarrage,
et notamment lorsque ce dernier charge les pilotes des périphériques qui vérifient si un matériel connecté leur est compatible.
Voyons maintenant comment :
lancer la commande
dmesg
pour essayer de détecter les cartes réseaux reconnues par le noyau lors du démarrage,consulter le système de fichier virtuel
/sys
pour lister les interfaces réseaux,et au passage, de constater une évolution liée à
Systemd
dans le nommage par défaut de ces interfaces. On y va ?
Configurez les cartes réseaux de manière dynamique
Pour les plus anciens d'entre nous, la commande permettant de configurer une interface réseau de manière dynamique était ifconfig
.
Heureusement pour nous, le package iproute2
fournit les commandes qui remplacent les précédentes.
En l'occurrence, désormais, sur toutes les distributions Linux, vous pouvez configurer de manière dynamique les cartes réseaux avec la commande ip
.
Voyons comment utiliser la commande ip
pour :
gérer vos interfaces réseaux,
et notamment leur attribuer une adresse de manière dynamique.
Configurez des interfaces réseaux…
Toutes les configurations de réseau sur les cartes gérées par la commande ip
sont dynamiques. Elles seront donc perdues entre chaque "reboot" du serveur.
Pour configurer de manière statique les cartes réseaux de Linux, il est nécessaire de saisir les informations dans des fichiers de configuration qui vont être lus pendant le boot du serveur.
…sous les distributions dérivées DEBIAN
…sous les distributions dérivées REDHAT
Dans la vidéo suivante, nous allons configurer de manière statique les cartes réseaux des distributions Debian et CentOS. Nous verrons :
la syntaxe des différents fichiers de configuration de ces distributions,
la commande
systemctl
pour prendre en compte ces configurations en redémarrant le service réseau.
Configurez les routes et les passerelles
Voyons comment utiliser la commande ip
du package iproute2
pour gérer les routes associées aux cartes réseaux du système. Cela permet par exemple de :
lister les routes existantes,
ajouter une passerelle supplémentaire,
ou en modifier une configurée par défaut sous Debian et CentOS.
Configurez les résolutions de noms
Vous utilisez ce service tous les jours avec votre navigateur, lorsque vous saisissez une URL dans la barre d’adresse afin d'accéder à un site web. Votre navigateur, par l'intermédiaire d'un service de résolution de nom, émet une requête pour demander la résolution de l'URL en une adresse IP identifiant de manière unique le serveur qui héberge le site web.
Sur un serveur Linux, il est nécessaire de configurer les services de résolutions de noms de domaine. En règle générale, il s'agit simplement d'indiquer dans un fichier de configuration les adresses IP des serveurs hébergeant les services de résolution de noms de domaine.
Cette configuration est identique entre les distributions DEBIAN et les distributions dérivées REDHAT. Cela se passe dans les fichiers /etc/hosts
et /etc/resolv.conf
.
Dans la vidéo suivante, nous allons analyser ces fichiers pour comprendre le fonctionnement des résolutions de noms sur un serveur Linux. On en profitera pour observer la configuration du fichier /etc/nsswitch.conf
qui est très importante :
En résumé
Dans ce chapitre, vous avez effectué toutes les actions nécessaires à la connexion du serveur Linux sur un réseau :
configurer le nom réseau du serveur
détecter et configurer de manière dynamique ou statique les interfaces réseaux
ajouter des routes et des passerelles pour assurer l'interconnexion des réseaux
et enfin renseigner les fichiers permettant d'utiliser des services de résolutions de noms de domaine
L'étape suivante pour administrer votre serveur, c’est la prise en main à distance via SSH. Je vous propose de me rejoindre au prochain chapitre pour aborder ce point ! On y va ?