Le réseau
Prérequis et objectifs
1. Prérequis
Avoir des connaissances de base sur le fonctionnement d’un réseau.
Disposer d’une connexion Ethernet.
Pouvoir accéder à d’autres machines sur le réseau.
Avoir l’accès administrateur root.
2. Objectifs
À la fin de ce chapitre, vous serez en mesure :
De comprendre le fonctionnement des réseaux IP.
De configurer les interfaces réseau.
De connaître les principales commandes de gestion du réseau.
De gérer les principaux fichiers de configuration.
De configurer un client DNS.
De mettre en place les services xinetd.
D’utiliser les clients et serveurs SSH.
De configurer un agent de transfert de courrier basique.
TCP/IP
L’origine de l’architecture de réseau TCP/IP (Transmission Control Protocol / Internet Protocol) provient des recherches du DARPA (Defense Advanced Research Project Agency) qui débutent en 1970. L’université de Berkeley a intégré ensuite les protocoles de base de TCP/IP au sein de son système UNIX.
TCP/IP s’est popularisé grâce à son interface générique de programmation d’échanges de données entre les machines d’un réseau, les primitives sockets, et l’intégration de protocoles applicatifs. Les protocoles de TCP/IP sont supervisés par l’IAB (Internet Architecture Board) lui-même supervisant deux autres organismes :
-
L’IRTF (Internet Research Task Force) qui est responsable du développement des protocoles.
-
L’IETF (Internet Engineering Task Force) qui est responsable du réseau Internet.
Les adresses réseau sont distribuées par le NIC (Network Information Center) et en France l’INRIA. L’ensemble des protocoles de TCP/IP est décrit dans des documents RFC (Request For Comments) (voir la RFC 793) comprenant entre autres :
-
La couche réseau est gérée par le protocole IP (Internet Protocol). Elle peut utiliser divers protocoles de niveau physique et liaison.
-
La couche de transport est gérée par les protocoles TCP (Transmission Control Protocol) ou UDP (User Datagram Protocol).
-
Les couches supérieures sont les couches des protocoles applicatifs, par exemple :
-
HTTP (HyperText Transfer Protocole) : protocole du Web.
-
NFS (Network File System) : partage de fichiers à distance.
-
DNS (Domain Name System) : association noms d’hôtes ou de services ó adresses IP.
-
FTP (File Transfer Protocol) : transfert de fichiers.
La version du protocole IP la plus utilisée est la version 4, le protocole IP version 6 devant la remplacer à terme. Compatible IPv4, IPv6 propose un adressage sur 128 bits permettant d’étendre les capacités du réseau notamment en matière de taille et d’adressage.
1. L’adressage IPv4
Il est important de savoir, avant l’installation, dans quel type de réseau TCP/IP doit s’intégrer le nouveau serveur. Il faut lui assigner au moins une adresse IP et le masque de sous-réseau...
Services réseau xinetd
Le daemon xinetd est un « super-service » permettant de contrôler l’accès à un ensemble de services, telnet par exemple. Beaucoup de services réseau peuvent être configurés pour fonctionner avec xinetd, comme les services ftp, ssh, samba, rcp, HTTP, etc. Des options de configuration spécifiques peuvent être appliquées pour chaque service géré.
systemd, qui permet de contrôler à la fois un socket et un service, rend caduque l’utilisation de xinetd sur les distributions récentes. Cependant, xinetd reste présent sur certains systèmes en production et fait partie des connaissances requises pour la certification LPIC-1.
Lorsqu’un hôte client demande à se connecter sur un port contrôlé par xinetd, ce dernier reçoit la requête et vérifie tout d’abord les autorisations d’accès TCP (voir tcp_wrappers au prochain chapitre) puis les règles définies pour ce service (autorisations spécifiques, ressources allouées, etc.). Une instance du service associé au port est alors démarrée et xinetd lui transmet la demande de connexion. À partir de ce moment xinetd n’interfère plus dans la connexion entre le client et le serveur.
1. Configuration
Les fichiers de configuration sont :
-
/etc/xinetd.conf: configuration globale.
-
/etc/xinetd.d/* : répertoire contenant les fichiers spécifiques aux services. Il existe un fichier par service, du même nom que celui précisé dans /etc/services.
Exemple
$ ls -l /etc/xinetd.d
total 92
-rw-r--r-- 1 root root 313 sep 22 2007 chargen
-rw-r--r-- 1 root root 333 sep 22 2007 chargen-udp
-rw-r--r-- 1 root root 256 mar 20 22:11 cups-lpd
-rw-r--r-- 1 root root 409 nov 4 2005 cvs
-rw-r--r-- 1 root root 313 sep 22 2007 daytime ...
OpenSSH
OpenSSH est un protocole de shell sécurisé, un mécanisme qui permet l’authentification sécurisée, l’exécution à distance et la connexion à distance. Il permet aussi le transport sécurisé du protocole X Window. Enfin, il est capable d’encapsuler des protocoles non sécurisés en redirigeant les ports.
Les paquets logiciels à utiliser pour un serveur sont openssh, openssl et openssh-clients. La liste des paquets à installer dépend de chaque distribution.
L’utilisation la plus commune est l’accès distant sécurisé au serveur, en mode terminal via le client ssh.
1. Configuration du serveur ssh
Le fichier de configuration est /etc/ssh/sshd_config, complété par les fichiers *.conf du répertoire /etc/ssh/sshd_config.d/. Quelques options sont éventuellement à modifier :
-
Port : le numéro de port, par défaut 22.
-
Protocol : fixé à 2 par défaut. Configuré à 1 il autorise SSH1 et SSH2. On préférera SSH2 et donc on laissera la valeur 2 seule.
-
ListenAddress : par défaut ssh écoute sur toutes les adresses IP du serveur. On peut autoriser uniquement l’écoute sur une interface donnée.
-
PermitRootLogin : ssh autorise ou non les connexions avec le compte administrateur root. On peut placer la valeur à « no ». Dans ce cas, il faut se connecter en simple utilisateur et passer par su ou sudo pour utiliser le compte administrateur root.
-
Banner : chemin d’accès d’un fichier dont le contenu sera affiché aux utilisateurs lors de la connexion.
ssh peut être un service System V à lancer avec la commande service ou par /etc/init.d/sshd, ou être géré par une unité systemd.
Exemple
# service sshd start
Via systemd :
# systemctl status sshd
● sshd.service - OpenSSH server daemon
Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; preset: enabled)
Active: active (running) since Mon 2023-07-24 14:58:27 CEST; 1 day 3h ago
Docs: man:sshd(8)
man:sshd_config(5)
Main...
Courrier électronique
Le courrier électronique implique différents services entre l’émetteur et le récepteur, fonctionnant en mode client-serveur :
-
Quand un client (un utilisateur) envoie un message, il utilise un MUA (Mail User Agent), par exemple Thunderbird, Evolution, Kmail, Mutt, Outlook Express, etc.
-
Le MUA adresse le message au MTA (Mail Transport Agent). Le MTA étudie l’adresse électronique pour déterminer l’utilisateur et le domaine de destination, puis il recherche les informations DNS de type MX (Mail Xchanger) pour le domaine choisi, pour savoir à quel serveur transmettre le courrier. Si aucun MTA distant n’est disponible, le message est placé en file d’attente et le MTA relance la distribution plus tard (le délai dépend de la configuration du MTA).
-
Le MX peut être soit un autre MTA, qui jouera le rôle de routeur (cas d’une redirection vers un sous-domaine par exemple), soit un MDA (Mail Delivery Agent). Le MDA place le message dans un fichier temporaire, peut le filtrer, etc.
-
Le destinataire reçoit le message : soit il le récupère en lisant directement le fichier temporaire (cas de la commande mail par exemple) soit il passe par un protocole de type POP ou IMAP.
-
Le protocole de transport de messages est le SMTP (Simple Mail Transfer Protocol) sur le port 25.
-
Les protocoles de réception de messages...
Validation des acquis : questions/réponses
1. Questions
Si l’état de vos connaissances sur ce chapitre vous semble suffisant, répondez aux questions ci-après.
Bases TCP/IP
1 De combien de bits est composée une adresse IPv4 ?
2 Parmi les adresses suivantes, lesquelles sont valides pour un équipement relié à Internet ?
-
A - 171.27.43.10
-
B - 172.18.25.128
-
C - 34.352.28.17
-
D - 192.169.194.69
3 Une entreprise utilise une plage d’adresses IP de type 10.x.y.z. Quelle est la classe IP correspondante ?
4 Cette même entreprise souhaite créer des sous-réseaux d’environ mille machines. Quel est le masque de sous-réseau associé ?
5 Comment est appelée la passerelle vers laquelle tous les paquets sont envoyés si aucune autre route ne convient ?
6 Une entreprise exploite un réseau en 10/22 (255.255.252.0). La passerelle par défaut de chaque sous-réseau est celle dont tous les 10 derniers bits sont à 1 sauf le dernier à 0. Quelle est l’IP de la passerelle du sous-réseau 10.17.32.0 ?
Configuration IP
7 Configurez à l’aide d’une commande, avec NetworkManager, l’interface eth0 avec l’IP 10.17.32.28/22, passerelle 10.17.32.254, et activez l’interface.
8 Sur une distribution de type Red Hat utilisant l’ancien système de configuration réseau, quel est le chemin du fichier de configuration de l’interface eth1 ?
9 Sur une distribution de type Red Hat, quelle entrée du fichier de configuration de la carte eth0 permet de déclarer la carte cliente DHCP ?
-
A - ONBOOT=DHCP
-
B - MASTER=DCHP
-
C - BOOTPROTO=DHCP
-
D - IPADDR=DHCP
10 Sous Debian, comment stopper et redémarrer l’interface eth0 ?
11 Sous Debian, que définissent les lignes « auto eth2 » et « iface eth2 inet dhcp » du fichier /etc/network/interfaces ?
12 Comment supprimer la route par défaut ?
13 Quel est le port par défaut utilisé pour se connecter sur un serveur FTP ?
-
A - 20
-
B - 21
-
C - 22
-
D - 23
Outils réseau de base
14 Est-il conseillé d’utiliser telnet ?
15 Comment émettre 10 demandes d’echo ICMP vers tous les équipements du sous-réseau 10.17.32.28/22 ?
16 Le trafic réseau sur la carte...
Travaux pratiques
1. Configuration TCP/IP
But : configurer une carte réseau avec une nouvelle adresse IP statique sur une distribution utilisant NetworkManager.
1. |
Déterminez les paramètres nécessaires à la configuration minimale de la carte d’interface réseau. |
2. |
Créez un profil de connexion pour la carte réseau avec nmcli, avec la nouvelle adresse IPv4 statique. |
3. |
Activez le profil de connexion de la carte réseau avec nmcli. Vérifiez la connectivité. Supprimez l’ancien profil de connexion de la carte d’interface, s’il existait. |
4. |
Redémarrez le système puis vérifiez que la carte d’interface est active et correctement configurée. |
Solutions possibles
But : configurer une carte réseau avec une nouvelle adresse IP statique sur une distribution utilisant NetworkManager.
1. |
Déterminez les paramètres nécessaires à la configuration minimale de la carte d’interface réseau. Nouveaux paramètres :
Afficher les cartes d’interface disponibles :
Affichez la configuration IPv4 courante de la carte à configurer :
|
2. |
Créez un profil de connexion pour la carte réseau avec nmcli, avec la nouvelle adresse IPv4 statique. Créer... |