Blog ENI : Toute la veille numérique !
🐠 -25€ dès 75€ 
+ 7 jours d'accès à la Bibliothèque Numérique ENI. Cliquez ici
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Livres et vidéos
  2. Debian GNU/Linux
  3. Intégration dans un réseau
Extrait - Debian GNU/Linux Administration du système (Nouvelle édition)
Extraits du livre
Debian GNU/Linux Administration du système (Nouvelle édition)
3 avis
Revenir à la page d'achat du livre

Intégration dans un réseau

L’interpréteur de commandes et son environnement

1. Variables d’environnement

Comme dans toute distribution Linux, Debian emploie un interpréteur de commandes ou shell pour ouvrir une session dans une console, ce qui est l’état par défaut dans le cas d’un serveur.

a. Principes d’une variable d’environnement

Des informations conditionnent le shell pour déterminer son comportement et définir son accès aux ressources : ce sont les variables d’environnement. Elles ont la forme d’une égalité de type clé = valeur(s) et par convention la clé s’écrit en majuscules.

On liste ces valeurs par la commande printenv (ou simplement env) et dont voici un extrait du résultat :


... 
LANG=fr_FR.UTF-8 
SUDO_GID=1000 
USERNAME=root 
SUDO_COMMAND=/bin/bash 
USER=root 
PWD=/root 
HOME=/root 
SUDO_USER=adminux 
SUDO_UID=1000 
MAIL=/var/mail/root 
SHELL=/bin/bash 
TERM=linux 
SHLVL=1 
LOGNAME=root 
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 
...
 

Les variables commençant par sudo_ montrent le fait que la commande a été réalisée par la machine virtuelle serinux, dans une console en root mais avec les droits hérités par sudo via l’utilisateur adminux.

Ceci est normal car la commande printenv affiche à la fois les variables d’environnement pour le shell définies dans une configuration et les variables de shell, résultant de données comme par exemple le répertoire de travail actuel (variable /HOME).

b. Variables d’environnement du système

À la fin du processus d’initialisation du système, les spécifications de sa configuration sont lues pour le shell au moment de la connexion avec l’exécution du script /etc/profile :


# /etc/profile: system-wide .profile...

Configuration du réseau

Debian ne déroge pas aux classiques fichiers de configuration, même si la version Stretch apporte son lot de nouveautés.

1. Fichiers de configuration

a. Identification du module réseau

La carte réseau est détectée à l’installation du système et se charge par un module du noyau au lancement. Le résultat de la commande dmesg (très connue de l’administrateur car affichant les messages du noyau) accompagnée d’un tube pour filtrer les sorties nous en montre le bon fonctionnement :


root@serinux:~# dmesg | grep enp0s3 
[    2.890098] e1000 0000:00:03.0 enp0s3: renamed from eth0 
[    3.607614] IPv6: ADDRCONF(NETDEV_UP): enp0s3: link is not ready 
[    5.613937] e1000: enp0s3 NIC Link is Up 1000 Mbps Full Duplex,  
Flow Control: RX 
[    5.614744] IPv6: ADDRCONF(NETDEV_CHANGE): enp0s3: link becomes ready
 

Pour information, la commande modinfo <nom de module> donne tous les renseignements sur le module (ici e1000).

Un changement de taille par rapport aux anciennes versions de Debian : l’interface réseau ne s’appelle plus eth0 (pour la première) mais enp0s3. Ce changement est dû au remplacement d’InitV par systemd et la nouvelle implémentation SPNIN (Staleless Persistent Network Interface Names) qui base le nom non plus à partir du noyau mais plutôt à partir du BIOS et/ou du firmware utilisé.

Bien que l’on puisse revenir à l’ancienne appellation, ce retour en arrière est déconseillé.

Sous VirtualBox, la deuxième carte réseau aura pour nom enp0s8, la troisième enp0s9, etc. Techniquement, et suivant la nouvelle nomenclature les noms commencent par « en » suivi de :

La lettre « s » pour les numéros d’index fournis par le firmware ou le BIOS...

Échanges entre les machines virtuelles

Ce chapitre sur l’intégration d’une machine dans le réseau donne l’occasion de procéder à des actions que peut réaliser un administrateur Debian dans le cadre d’une fourniture de services et dans l’exploitation des commandes d’installation de logiciels.

1. Prérequis sur les machines virtuelles

Les deux machines virtuelles doivent communiquer entre elles. Suivant leurs méthodes de communication, il faut ajouter aux deux systèmes Serinux et Burinux, une carte configurée en mode Réseau privé hôte.

a. Ajout d’une deuxième carte réseau

 Pour les deux machines virtuelles, préalablement éteintes, ouvrez les paramètres de la machine, puis cliquez sur la ligne Réseau, onglet Carte 2 et activez la nouvelle carte en mode d’accès réseau : Réseau privé hôte.

Voici une copie d’écran comme exemple pour le poste de travail burinux :

images/imgCH06_01.png

On aura donc pour les deux machines virtuelles une liaison avec l’extérieur via la première interface réseau en NAT et une liaison entre elles via la deuxième interface en VirtualBox Host-Only Ethernet Adapter. Il faut également changer le paramètre du mode promiscuité en : Autoriser les VMs.

Un peu de « hacking » : mettre le mode promiscuité en Tout autoriser fait que la carte réseau acceptera tous les paquets qu’elle reçoit. Cela permet une attaque avec un « sniffer » pour lire des paquets qui ne lui sont pas adressés.

b. Configuration de la deuxième carte

Sur Debian, l’administrateur insère manuellement la configuration de la deuxième carte dans le fichier /etc/network/interfaces.

 Insérez en fin de fichier les éléments ci-dessous pour obtenir le contenu modifié pour le serveur :


# This file describes the network interfaces available on your system 
# and how to activate them. For more information, see interfaces(5). 
 
source /etc/network/interfaces.d/* 
 
# The loopback network interface 
auto lo 
iface lo inet loopback 
 
# The primary network interface 
allow-hotplug enp0s3 
iface enp0s3 inet dhcp 
 
# Deuxième interface 
allow-hotplug...