Vous êtes sur la page 1sur 9

Configurez les cartes réseaux

La plupart du temps, votre serveur Linux sera installé au fin fond d'une salle blanche
avec nombreux de ses cousins, et son administration s'effectuera à distance via un
terminal. Mais ce mode opératoire n'est rendu possible qu'à la condition que votre
serveur soit lui-même connecté sur un réseau.
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)
La configuration du réseau sous Linux est un aspect qui varie fortement entre les
distributions. En effet, chaque distribution aura tendance à installer les outils qui lui
sont propres pour gérer le réseau. Vous pourrez notamment
trouver NetworkManager, Connection-Manager, ou encore dhcpcd.
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.

Je vous expliquerai les différences qu’il y a entre les branches RedHat et Debian
lorsque ce sera nécessaire.
Configurez le nom du réseau de votre serveur
Premier élément de configuration réseau du serveur : son nom réseau.

Le nom réseau d'un serveur Linux (aussi appelé "system hostname") sert
d'identifiant par défaut de la machine pour tous les services et applications qui
s'exécutent en local et pour beaucoup de services et d'applications lorsque ceux-ci
communiquent sur le 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 :
1. le fichier/proc/sys/kernel/hostname qui contient la valeur courante du nom
réseau du serveur,
2. la commande hostnamectl qui permet de la modifier,
3. le fichier/etc/hostname qui permet d’initialiser le nom réseau au démarrage.
C’est parti !

Dernier point concernant ce nom réseau : il est de coutume de le garder sous un


format très simple, le plus souvent, un mot, représentant un champ lexical commun
entre plusieurs serveurs.
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


Avant toute configuration, il est nécessaire de s'assurer que le noyau Linux a bien
détecté les cartes réseaux connectées d'une manière ou d'une autre sur la machine.
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 :

1. lancer la commande dmesg pour essayer de détecter les cartes réseaux


reconnues par le noyau lors du démarrage,
2. consulter le système de fichier virtuel/sys pour lister les interfaces réseaux,
3. 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.
Cependant cette commande et le package associé net-tools ne sont plus
maintenus depuis 2009. Notamment parce que la communauté de développeurs
considérait qu’elles n’étaient pas optimisées, ne profitant pas non plus des nouvelles
fonctionnalités des noyaux Linux. Ainsi la commande ifconfig mais également des
commandes comme netstat, que j'ai beaucoup utilisées, ont disparu.
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 :
1. gérer vos interfaces réseaux,
2. 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 Debian et ses dérivés, le répertoire de configuration des interfaces réseaux
est/etc/network.
Le fichier interfaces permet de déclarer cette configuration de manière statique.
…sous les distributions dérivées REDHAT
Pour les distributions REDHAT et dérivés (notamment CentOS), le répertoire de
configuration des cartes est /etc/sysconfig/network-scripts/. Ce répertoire
contient notamment un fichier préfixé ifcfg- pour chaque carte reconnue par le
système.
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
À ce stade, les cartes réseaux sont configurées, mais il est encore nécessaire
d'indiquer les configurations pour les paquets qui en sortent. On parle de :

 routes pour désigner les chemins suivis par les paquets réseaux lors d'une
communication,
 passerelles (ou "gateway") pour indiquer les équipements (serveurs ou
routeurs) permettant d'interconnecter des réseaux différents.
Pour gérer de manière dynamique les routes et passerelles sur le serveur Linux,
encore une fois, le packageiproute2est votre outil de préférence.
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
Enfin, dernier point de configuration réseau du serveur, les services de résolutions
de noms de domaine, ou DNS pour Domain Name System. Ce service permet au
serveur d'effectuer la résolution des noms de domaines en adresse IP, afin d'envoyer
des requêtes selon le protocole du service destinataire.
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

Maîtriser le réseau sous Linux


Vous n'avez pas validé ce quiz.

Vous n'avez pas atteint le seuil de validation de cet exercice, c'est-à-dire 70%. Ce n'est pas
très grave car vous pourrez refaire le quiz dans 24h.
Compétences évaluées

 Administrer et superviser les systèmes et réseaux

 Question 1
Quels sont les fichiers qui contiennent le nom réseau d'un serveur Linux ?

Attention, plusieurs réponses sont possibles.

/etc/hostname

/proc/cpuinfo

/proc/sys/kernel/hostname

/proc/meminfo
Lorsque le serveur démarre, le système Linux lit le nom réseau du serveur dans le
fichier /etc/hostname et le maintient dans le fichier
virtuel /proc/sys/kernel/hostname.

 Question 2

Parmi ces fichiers, lequel contient des informations sur les cartes réseau ?

/var/log/auth.log

/var/log/dmesg

/var/log/wtmp
Le fichier /var/log/dmesg contient les traces du système et donc les informations
sur la détection des cartes réseau.

 Question 3
Vous venez de terminer la configuration de votre carte réseau avec la
commande ip, pouvez-vous redémarrer sans risque ?

Oui.

Non.
Non, la commande ip permet de configurer le réseau de manière dynamique, les
informations sont perdues au redémarrage. Pour les conserver, il faut configurer le
réseau dans les fichiers.

 Question 4

Sous Debian, quel est le fichier de configuration des cartes réseau par
défaut ?

/etc/network/interfaces

/etc/sysconfig/network-scripts/ifcfg-enp0s3

/etc/resolv.conf
Sous Debian, le fichier de configuration des cartes réseau
est /etc/network/interfaces (une "interface" est l'autre nom des cartes réseau en
langage SI).

 Question 5

Quel est le fichier qui permet de définir l'ordre de résolution des noms de
domaine sous Linux ?

/etc/hosts
o

/etc/resolv.conf

/etc/nsswitch.conf
Le fichier /etc/nsswicth.conf permet de configurer les sources de résolution de
noms domaine et l'ordre dans lequel elles sont lues par le système.

 Question 6

Qu'utilise le protocole SSH ?

La cryptographie symétrique uniquement.

La cryptographie asymétrique uniquement.

La cryptographie symétrique et asymétrique.


Les deux, le protocole SSH utilise la cryptographie asymétrique pour sécuriser la
connexion et la cryptographie symétrique pour sécuriser les données.

 Question 7

En cryptographie asymétrique, à quoi sert la clé publique ?

Chiffrer le message.

Déchiffrer le message.
En cryptographie asymétrique, la clé publique sert à chiffrer le message, qui sera
déchiffré grâce à la clé privée.
 Question 8

Vous souhaitez communiquer votre clé publique pour vous authentifier sur
un service SSH sans mot de passe. Quelle commande utilisez-vous ?

La commande ssh-keygen

La commande ssh-copy-id
La commande ssh-copy-id permet de transférer une clé publique sur un serveur
par SSH.
La commande ssh-keygen permet notamment de générer un jeu de clés
privée/publique.

 Question 9

Vous voulez transférer un fichier sur le réseau de manière sécurisée. Quelle


commande utilisez-vous ?

La commande wget

La commande scp

La commande curl

La commande ftp
La commande scp permet de transférer des fichiers sur le réseau de manière
sécurisée via le protocole SSH.

 Question 10
Pour profiter d'un service de "FTP par SSH", qu'avez-vous besoin d'installer ?

Un service FTP.

Un service SSH.

Les deux.
Le protocole SFTP s'appuie sur SSH, il est donc nécessaire d'installer un service
SSH. SFTP n'utilise pas le protocole FTP. Un service FTP n'est donc pas
nécessaire.

Vous aimerez peut-être aussi