Outils pour utilisateurs

Outils du site


si5:confres

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:Ethernetformat de trame Ethernet II
HWaddr Adresse MAC de la carte réseau
Informations sur la couche réseau (3)
inet adradresse IP de l'interface
Bcastadresse de diffusion du réseau
Masquemasque de sous-réseau
Informations sur l'état de l'interface
UP BROADCAST RUNNING MULTICASTinterface de diffusion active
MTU:1500Maximum Transmission Unit. La taille maximum des trames Ethernet transmises sur Internet est fixée par le document RFC1191 Path MTU discovery
Metric:1nombre de sauts autorisés pour obtenir un routage vers n'importe quelle destination
Statistiques et paramètres de l'interface
StatistiquesCes informations sont essentielles pour déterminer la qualité du réseau
Paramètres d'entrées/sortiesCes 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
searchFacultatif : 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
domaineLe FQDN du domaine constituant le suffixe de recherche
nameserverIndique 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_ipAdresse 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
addIndique que l’on ajoute une route à la table de routage
-netIndique que la destination est un réseau
réseau_destLe réseau à atteindre par la route statique qu’on paramètre
0.0.0.0La route par défaut. 0.0.0.0 représente tous les réseaux possibles
gwAnnonce la valeur de la passerelle
ip_passerelleAdresse IP de la passerelle à utiliser
defaultÉquivalent à -net 0.0.0.0
masqueLe 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
autoIndique que l’interface devra être activée automatiquement au démarrage
interfaceLe nom linuxien de l’interface à configurer (exemple : eth0)
inetIndique qu’on va affecter une adresse IPv4
staticIndique que l’adresse IP configurée sera statique
adresse_ipAdresse IP à affecter à l’interface
masqueMasque de sous-réseau à affecter à l’interface
ip_passerelleAdresse IP de la passerelle par défaut
dhcpIndique 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
interfaceLe nom Linux de l’interface à configurer (exemple : eth0)
BOOTPROTO=dhcpIndique que l’adresse IP configurée sera dynamique et obtenue par requête DHCP
ONBOOT=yesIndique que l’interface devra être activée automatiquement au démarrage
adresse_ipAdresse IP à affecter à l’interface
masqueMasque de sous-réseau à affecter à l’interface
ip_passerelleAdresse IP de la passerelle par défaut
si5/confres.txt · Dernière modification: 2013/12/25 18:59 (modification externe)