CONFIGURATION RESEAU DU SERVEUR

Ici, on va uniquement s'intéresser au paramétrage des cartes réseaux d'un serveur en evironnement Linux. Vous êtes censé savoir ce qu'est une adresse IPv4, un masque de sous-réseau, une adresse passerelle et à quoi correspond un serveur DNS.

On ne s'intéresse pas ici à l'adressage IPv6 que l'on étudiera en deuxième année option SISR.

DETERMINATION DES INTERFACES RESEAU

Les systèmes Linux utilisent un nom symbolique par interface réseau, qu’il s’agisse d’une interface réelle ou virtuelle, Ethernet ou autre. Dans le cas courant où le système est connecté à un réseau Ethernet et n’utilise qu’une seule carte, cette carte sera désignée « eth0 ».

On pourra déterminer la liste de toutes les interfaces réseaux existant sur un système, configurée ou non par la commande ifconfig.

hannibal@box:~$ ifconfig -a
eth0 Link encap:Ethernet HWaddr 00:25:4b:9e:9f:02
inet adr:192.168.0.108 Bcast:192.168.0.255 Masque:255.255.255.0
adr inet6: fe80::225:4bff:fe9e:9f02/64 Scope:Lien
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Packets reçus:328750 erreurs:0 :0 overruns:0 frame:0
TX packets:337643 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:1000
Octets reçus:312714270 (312.7 MB) Octets transmis:37879808 (37.8 MB)
Interruption:44
eth2 Link encap:Ethernet HWaddr 00:24:36:f1:bf:53
adr inet6: fe80::224:36ff:fef1:bf53/64 Scope:Lien
UP BROADCAST MULTICAST MTU:1500 Metric:1
Packets reçus:0 erreurs:0 :0 overruns:0 frame:161
TX packets:0 errors:29 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:1000
Octets reçus:0 (0.0 B) Octets transmis:0 (0.0 B)
Interruption:23
lo Link encap:Boucle locale
inet adr:127.0.0.1 Masque:255.0.0.0
adr inet6: ::1/128 Scope:Hôte
UP LOOPBACK RUNNING MTU:16436 Metric:1
Packets reçus:19462 erreurs:0 :0 overruns:0 frame:0
TX packets:19462 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:0
Octets reçus:2017753 (2.0 MB) Octets transmis:2017753 (2.0 MB)
hannibal@box:~$

Analysons tout ça :

Informations sur la couche liaison (2)
encap:Ethernet	format de trame Ethernet II
HWaddr	Adresse MAC de la carte réseau
Informations sur la couche réseau (3)
inet adr	adresse IP de l'interface
Bcast	adresse de diffusion du réseau
Masque	masque de sous-réseau
Informations sur l'état de l'interface
UP BROADCAST RUNNING MULTICAST	interface de diffusion active
MTU:1500	Maximum Transmission Unit. La taille maximum des trames Ethernet transmises sur Internet est fixée par le document RFC1191 Path MTU discovery
Metric:1	nombre de sauts autorisés pour obtenir un routage vers n'importe quelle destination
Statistiques et paramètres de l'interface
Statistiques	Ces informations sont essentielles pour déterminer la qualité du réseau
Paramètres d'entrées/sorties	Ces informations indiquent si la carte réseau est correctement reconnue par le système

CONFIGURATION IP D'UNE INTERFACE

Typiquement, on configure une interface Ethernet avec une commande du type :

# ifconfig eth0 192.168.1.1 netmask 255.255.255.0 broadcast 192.168.1.255 up

La commande ifconfig possède de nombreuses options. Les principales sont :

up : activation de l'interface,

down : désactivation de l'interface,

[-]arp : activation/désactivation du protocole ARP sur l'interface,

netmask <addr> : valeur du masque de réseau,

broadcast <addr> : valeur de l'adresse de diffusion.

Pour obtenir la syntaxe de toutes les options disponibles, il faut utiliser la commande man ifconfig

CAS PARTICULIER : CONFIGURATION DE SOUS-INTERFACES

Il est possible de définir des sous-interfaces pour une interface réseau physique. Chaque sous-interface aura son propre paramétrage IP.

hannibal@box:~$ sudo ifconfig eth2:0 192.168.100.2
[sudo] password for hannibal:
hannibal@box:~$ sudo ifconfig eth2:1 192.168.200.2
hannibal@box:~$

Vérification :

hannibal@box:~$ ifconfig -a
eth0 Link encap:Ethernet HWaddr 00:25:4b:9e:9f:02
inet adr:192.168.0.108 Bcast:192.168.0.255 Masque:255.255.255.0
adr inet6: fe80::225:4bff:fe9e:9f02/64 Scope:Lien
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Packets reçus:332087 erreurs:0 :0 overruns:0 frame:0
TX packets:340545 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:1000
Octets reçus:315495552 (315.4 MB) Octets transmis:38142624 (38.1 MB)
Interruption:44
eth2 Link encap:Ethernet HWaddr 00:24:36:f1:bf:53
adr inet6: fe80::224:36ff:fef1:bf53/64 Scope:Lien
UP BROADCAST MULTICAST MTU:1500 Metric:1
Packets reçus:0 erreurs:0 :0 overruns:0 frame:205
TX packets:0 errors:29 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:1000
Octets reçus:0 (0.0 B) Octets transmis:0 (0.0 B)
Interruption:23
eth2:0 Link encap:Ethernet HWaddr 00:24:36:f1:bf:53
inet adr:192.168.100.2 Bcast:192.168.100.255 Masque:255.255.255.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
Interruption:23
eth2:1 Link encap:Ethernet HWaddr 00:24:36:f1:bf:53
inet adr:192.168.200.2 Bcast:192.168.200.255 Masque:255.255.255.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
Interruption:23
lo Link encap:Boucle locale
inet adr:127.0.

RENDRE LA CONFIGURATION PERMANENTE

Avec la distribution Debian GNU/Linux, les paramètres de configuration des interfaces réseau sont stockés dans le répertoire /etc/network/. Le fichier interfaces de ce répertoire rassemble la configuration des interfaces réseau.

Voici l'exemple d'une interface ethernet configurée à l'aide du protocole DHCP :

# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
# The loopback interface
auto lo
iface lo inet loopback
# The first network card - this entry was created during the Debian installation
# (network, broadcast and gateway are optional)
auto eth0
iface eth0 inet dhcp
Pour une configuration statique de l'interface :
...
auto eth0
iface eth0 inet static
address 192.168.1.1
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255

CONFIGURATION DU CLIENT DNS : FICHIER /etc/resolv.conf

Les machines Linux disposent nativement d’un client DNS appelé resolver. Toute application fonctionnant sur Linux et ayant besoin de faire une requête DNS s’appuiera sur ce composant.

Il exploite le fichier de configuration simple /etc/resolv.conf où doit se trouver la référence d’au moins un serveur DNS.

Format simplifié du fichier /etc/resolv.conf

search domaine
nameserver adresse_ip

Fichier /etc/resolv.conf : directives et variables utilisées
search	Facultatif : indique le suffixe de recherche employé sur le poste Linux. Permet de ne pas taper l’intégralité du nom de domaine pleinement qualifié (FQDN) dans les applications. Le fichier /etc/resolv.conf admet plusieurs domaines de recherches précisés par search
domaine	Le FQDN du domaine constituant le suffixe de recherche
nameserver	Indique l’adresse IP du serveur DNS qui assurera les résolutions. Le fichier /etc/resolv. conf admet plusieurs serveurs DNS précisés par nameserver
adresse_ip	Adresse IP du serveur DNS à interroger

CONFIGURATION DE LA PASSERELLE PAR DÉFAUT : route

La commande route permet de définir des routes statiques sur une machine Linux. Dans le cadre d’une configuration simple et ponctuelle, on pourra l’utiliser pour définir la passerelle par défaut. Il s’agira en fait de déclarer une route statique indiquant la route par défaut.

Syntaxe de la commande route pour indiquer une route statique

route add -net réseau_dest netmask masque gw ip_passerelle

Syntaxe de la commande route pour indiquer la passerelle par défaut

route add -net 0.0.0.0 gw ip_passerelle

ou bien

route add default gw ip_passerelle

Un exemple :

hannibal@box:/etc/network$ route
Table de routage IP du noyau
Destination Passerelle Genmask Indic Metric Ref Use Iface
default 192.168.0.1 0.0.0.0 UG 0 0 0 eth0
link-local * 255.255.0.0 U 1000 0 0 eth0
192.168.0.0 * 255.255.255.0 U 1 0 0 eth0
192.168.100.0 * 255.255.255.0 U 0 0 0 eth2
192.168.200.0 * 255.255.255.0 U 0 0 0 eth2

Commande route : options et paramètres
add	Indique que l’on ajoute une route à la table de routage
-net	Indique que la destination est un réseau
réseaudest|Le réseau à atteindre par la route statique qu’on paramètre| |0.0.0.0|La route par défaut. 0.0.0.0 représente tous les réseaux possibles| |gw|Annonce la valeur de la passerelle| |ippasserelle	Adresse IP de la passerelle à utiliser
default	Équivalent à -net 0.0.0.0
masque	Le masque de sous-réseau associé à la route ajoutée

CONFIGURATION DU NOM D’HÔTE : hostname

Le nom d’hôte de la machine peut être affecté dynamiquement avec la commande hostname. Il permet aussi d’afficher le nom d’hôte du système s’il est appelé sans argument.

Syntaxe de la commande hostname pour affecter un nom d’hôte

hostname nom_hote

nom_hote représentant le nom qu’on souhaite affecter au système.

Attention, cette valeur est conservée en mémoire vive, et sera perdue dès que le système redémarrera. Les systèmes ordinaires en production doivent donc conserver cette valeur dans un fichier de configuration qui est lu à chaque démarrage. Ce fichier dépend de la distribution. C’est par exemple /etc/hostname pour les distributions d’origine Debian, et /etc/sysconfig/network pour les distributions d’origine RedHat.

Les scripts exécutés au démarrage du système se chargent d’appeler la commande hostname et récupèrent la valeur du nom du système dans le fichier.

Exemple de contenu d’un fichier /etc/hostname

hannibal@box:~$ cat /etc/hostname
box
hannibal@box:~$

SPÉCIFICITÉ DES DISTRIBUTIONS

Les seules règles universelles pour la configuration du réseau sont celles décrites dans les paragraphes précédents. Les distributions Linux courantes ont néanmoins des procédures de configuration par scripts et fichiers de configuration qu’on peut classer en deux grandes familles :

celles dont la configuration réseau est située dans le répertoire /etc/network,

celles dont la configuration réseau est située dans le répertoire /etc/sysconfig/network-scripts.

Configuration réseau dans /etc/network (A LA MODE DEBIAN)

C’est le cas des distributions Debian et dérivées. Les éléments de configuration sont situés dans un fichier au format simple : /etc/interfaces.

Format du fichier de configuration /etc/network/interfaces pour une adresse IP statique

auto interface
iface interface inet static
address adresse_ip
netmask masque
gateway ip_passerelle

Format du fichier de configuration /etc/network/interfaces pour une adresse IP dynamique

auto interface
iface interface inet dhcp

Fichier interfaces : options et paramètres
auto	Indique que l’interface devra être activée automatiquement au démarrage
interface	Le nom linuxien de l’interface à configurer (exemple : eth0)
inet	Indique qu’on va affecter une adresse IPv4
static	Indique que l’adresse IP configurée sera statique
adresseip|Adresse IP à affecter à l’interface| |masque|Masque de sous-réseau à affecter à l’interface| |ippasserelle	Adresse IP de la passerelle par défaut
dhcp	Indique que l’adresse IP configurée sera dynamique et obtenue par requête DHCP

Ces fichiers n’ont évidemment aucune action en eux-mêmes, ils sont appelés par le script de lancement du service réseau (en général /etc/init.d/networking), lequel script invoquera la commande ifup (interface up) pour activer les interfaces avec leurs paramètres réseau.

Configuration réseau dans /etc/sysconfig/network-scripts (A LA MODE REDHAT)

C’est le cas des distributions RedHat et dérivées. Les éléments de configuration sont situés dans un fichier au format simple par interface situé dans le répertoire /etc/sysconfig/network-scripts. Ces fichiers ont tous le préfixe ifcfg- suivi du nom de l’interface à configurer.

Format du fichier ifcfg-interface pour une adresse IP statique

DEVICE=interface
BOOTPROTO=none
ONBOOT=yes
IPADDR=adresse_ip
NETMASK=masque
GATEWAY=ip_passerelle

Format du fichier ifcfg-interface pour une adresse IP dynamique

DEVICE=interface
BOOTPROTO=dhcp
ONBOOT=yes

Fichier ifcfg : options et paramètres
interface	Le nom Linux de l’interface à configurer (exemple : eth0)
BOOTPROTO=dhcp	Indique que l’adresse IP configurée sera dynamique et obtenue par requête DHCP
ONBOOT=yes	Indique que l’interface devra être activée automatiquement au démarrage
adresseip|Adresse IP à affecter à l’interface| |masque|Masque de sous-réseau à affecter à l’interface| |ippasserelle	Adresse IP de la passerelle par défaut