samedi 26 mars 2011

Exercices Corrigés Routage et configuration Station ou Routeur Sous Windows et Linux

Objectifs : - Définir une interface réseau.
                  - Configurer une interface sous Windows et sous Linux.
                  - Utilisation des commandes : ifconfig - ipconfig - route
  

1 Configuration d'un hôte (Station ou Routeur)

1.1 Configuration des interfaces (ifconfig et ipconfig)

1.1.1  Rappels sur les interfaces



Une interface identifie un périphérique permettant de se connecter à un réseau ainsi que les méthodes d’accès à ce réseau. Ce peut être un modem, une carte réseau, un port série, un port USB, ou autre. Une station ne possède et n’utilise généralement qu’une seule carte réseau. Les routeurs possèdent en revanche une interface par réseau auquel ils sont connectés.

Sur Unix, une interface correspond à un point d’entrée dans le noyau (cœur du système). Envoyer des messages via les interfaces réseaux revient à passer des données à des procédures spéciales du noyau chargées d’effectuer les opérations d’entrées-sorties physiques. Une interface est généralement identifiée par un nom logique indiquant le type d’interface et le numéro d’ordre de la carte. Par exemple, sous Linux, une carte Ethernet classique sera identifiée par :

•    eth0 pour la première carte,
•    eth1 pour la seconde,
•    etc.

Sur SunOS 7.0 (Unix de Sun MicroSystems), une carte Ethernet sera identifiée par :
•    le0 pour la première,
•    le1 pour la seconde,
•    etc.
Une exception concerne l’interface loopback    identifiée par lo    suivi ou non d’un numéro. Cette interface correspond aux adresses IP commençant par 127. La plus communément utilisée étant l’adresse 127.0.0.1. Généralement, les stations sont configurées pour que cette interface puisse être désignée par le nom localhost
(cas des stations Unix et Windows). L’interface loopback n’est pas rattachée à une carte réseau. C’est en fait une adresse permettant de tester en local uniquement des programmes utilisant TCP/IP, sans même disposer d’une liaison réseau. Cela permet donc de réaliser des tests sans pour autant provoquer de transmission sur le réseau, ou d’utiliser localement des services réseaux.

Une interface possède (généralement) une adresse physique. C’est cette adresse qui est utilisée pour les communications dans le réseau. Pour que cette interface puisse être une destination dans l’Internet, il faut lui associer une adresse IP (une seule suffit). Ainsi, une station va posséder une seule adresse IP alors qu’un routeur va posséder une adresse IP par réseau auquel il est connecté, via une interface. Pour réaliser cette association, il faut configurer l’interface.

NB : La commande permettant de configurer une interface sous Unix est  ifconfig    (interface configuration), qui se trouve aussi dans le répertoire /sbin. Son homologue sous Windows est ipconfig.
 
La configuration d’une interface comprend :

•    l’adresse IP qui lui sera associée ;
•    le masque de sous-réseau ;


Note : l’adresse du réseau de l’hôte est déduite de l’adresse IP et du masque. En effet, en appliquant le masque à l’adresse IP, on obtient son adresse de réseau.

•    l’adresse IP de diffusion (si possible) dans le réseau concerné. Un datagramme envoyé vers cette adresse est aussi destiné à cette interface.

NB : l’adresse de diffusion est aussi déduite de l’adresse IP et du masque, en mettant à 1 dans l’adresse IP, les bits qui sont à zéro dans le masque.

•    un état actif (up) ou inactif (down) ;
•    un certain nombre d’options :

- le MTU (Maximum Transmission Unit : taille maximale d’une trame émise sur le réseau concerné) ;
- la possibilité de diffuser ou non via l’interface (BROADCAST) ;
- la possibilité de recevoir des messages émis en multi-diffusion (MULTICAST) ;
- l’activation du mode promiscuous, donnant la possibilité de recevoir toutes les trames émises sur le réseau, même celles n’étant pas destinées à l’adresse physique de cette interface...


 
2.1.2     Exercices


Exercice 1 (ifconfig sur Linux)

Consulter le manuel en ligne Linux de ifconfig sur allegro en tapant :

man ifconfig

afin de répondre aux questions suivantes :
1. Quelle est la ligne de commande Linux permettant d’obtenir la configuration de toutes les interfaces ?
2. Quelle est l’adresse Ethernet de allegro (il s’agit de l’information HWaddr) ?
3. Et son adresse IP associée ?
4. Quel est le MTU de notre réseau local ?
5. Quelle est la ligne de commande permettant de configurer l’interface Ethernet eth1 (une deuxième carte)
avec :

•   l’adresse IP 192.168.10.20 et
•   le masque de sous-réseau de la classe B et
•    l’adresse IP de diffusion (à déduire des deux précédents points même si la commande le fait
seule. . .), et
•   l’état actif ?

 NB : Comme pour arp, vous n’êtes pas autorisés à modifier la configuration de allegro ; il faut être root pour cela. Même si la commande tapée est correcte, elle provoquera des erreurs de type :

SIOCSIFNETMASK : Permission non accordée
SIOCGIFADDR : Aucun périphérique de ce type
SIOCSIFBROADCAST : Permission non accordée
SIOCSIFBRDADDR : Permission non accordée
eth1 : interface inconnue : Aucun périphérique de ce type
eth1 : interface inconnue : Aucun périphérique de ce type
SIOCSIFADDR : Permission non accordée
eth1 : interface inconnue : Aucun périphérique de ce type

 
6. Quelle     est    la    ligne    de    commande    permettant    d’utiliser    comme    adresse    physique    (MAC) 00:0F:1B:13:34:9A   qui est différente de celle “fondue” dans la carte (si ! si ! c’est possible si le pilote le permet) ?

Exercice 2 (ipconfig sur Windows)

Consulter l’aide de ipconfig sous Windows en tapant :

C:>   ipconfig /?

afin de répondre aux questions suivantes :

1. Quelle est l’adresse IP de votre PC ?
2. Quel est son masque de sous-réseau ?
3. Quelle est son adresse MAC ?

2.2    Configuration d’une table de routage

La configuration de la table de routage se fait au moyen de la commande route sur Unix et Windows. Cette commande permet d’ajouter ou de supprimer des routeurs vers des réseaux ou des stations. Les informations
importantes à spécifier lorsqu’on rajoute une route sont :
•    le type de destination (réseau ou hôte) ;
•    son adresse IP ;
         •    le masque de cette adresse (afin de prendre en compte des regroupements de réseaux) s’il est 
              différent de celui de la classe du réseau ;   

•    le routeur associé (0.0.0.0 si la destination est directement accessible) ;
•    l’interface permettant de contacter le routeur (lo, eth0,. . .).



Exercice 3 (route sur Linux)

NB : Linux, la commande route se trouve dans le répertoire /sbin

Consulter le manuel en ligne de route sur allegro en tapant :

man route

afin de répondre aux questions suivantes :
1. Quelles sont les routes connues sur allegro ?
2. Quelle est la commande permettant d’ajouter le routeur  139.124.187.250  pour l’adresse de réseau 138.125.0.0 (masque normal), qui est accessible par l’interface eth0 ?

Note : Comme précédemment, vous n’êtes pas autorisés à modifier la configuration de allegro.Même si la commande tapée est correcte, elle provoquera des erreurs de type :
SIOCADDRT : Opération non permise
  
3. Quelle est la commande permettant d’ajouter le routeur 139.124.187.251, accessible par l’interfaceeth0, avec pour destination le sous-réseau   194.199.220.128, où l’identifiant de sous-réseau a été prélevé aux 2 premiers bits de l’identifiant station pour réaliser le subnetting du réseau 194.199.220.0 ?

4. Quelle est la commande permettant de supprimer la route précédente ?
5. Quelle est la commande permettant d’ajouter les adresses de l’interface loopback ainsi qu’elle est définie dans la table ?

Exercice 4 (route sur Windows)

Consulter l’aide de route sous Windows en tapant :

C:>   route /?

afin de répondre aux questions suivantes :
1. Quelles sont les routes connues sur votre station ?

2. Quelle est la commande permettant d’ajouter le routeur 139.124.187.252 pour l’adresse de réseau 129.150.0.0 (masque normal), qui est accessible par l’interface correspondant à la carte réseau ?

Note : Sous Windows non plus, vous ne pouvez pas modifier la configuration de la station. Ainsi, même si la commande tapée est correcte, elle provoquera des erreurs de type :
L’ajout de l’itinéraire a échoué : Accès au réseau refusé.

3. Quelle est la commande permettant de modifier la route précédente afin d’utiliser plutôt le routeur 139.124.187.253 ?
    4. Quelle est la commande permettant de supprimer la route précédente ?
------------------------------------------------------------------------------
 
- Correction des exercices.


Corrigé de l’exercice 1 (ifconfig sur Linux)

1.      C’est : ifconfig -a. Cela permet notamment d’afficher les informations sur les interfaces non actives (DOWN). Sans l’option -a, on n’obtient que les interfaces actives (UP). Cela rend :

[cpb@allegro ~]$         /sbin/ifconfig –a


·         allegro dispose donc des 4 interfaces eth0, eth1, eth2 et lo, où :
•    eth0 est l’interface d’accès au réseau Ethernet ;
•    eth1 et eth2 sont des interfaces Ethernet désactivées
•    lo est l’interface loopback

2. En regardant la configuration de l’interface eth0 de allegro, on voit que c’est 00:15:17:70:0c:fe
3. C’est 139.124.187.4
4. Toujours en regardant cette configuration, on voit que le MTU du réseau Ethernet (carte eth0) est 1500
5.  ifconfig eth1 netmask 255.255.0.0 broadcast 192.168.255.255 up 192.168.10.20

·         on peut quand même s’émouvoir de l’étrangeté d’utiliser une masque de classe B pour une adresse de classe C. . .

    6.  ifconfig eth0 hw ether 00:0F:1B:13:34:9A

NB : Cette modification n’est pas permanente et l’adresse d’"usine" sera de nouveau utilisée après un redémarrage. On peut s’interroger sur les motivations de cette modification. . .
               Sur Windows, cette manipulation est aussi possible en modifiant les  
               propriétés de la carte, ce qui peut se faire par la base de registres.
              
   
Corrigé de l’exercice 2 (ipconfig sur Windows)

1. Un simple ipconfig permet d’obtenir l’adresse IP (139.124.187.x)
2. Toujours avec ipconfig on voit le masque de sous-réseau (255.255.255.0)
3. Cette fois, il faut utiliser ipconfig /all pour faire afficher aussi l’adresse physique (6 octets hexadécimaux séparés par un tiret).

NB : On remarque que ipconfig donne beaucoup plus de renseignements que ifconfig et qu’elle a d’autres fonctions.

Corrigé de l’exercice 3 (route sur Linux)

1. En tapant route on obtient la table suivante :
Table de routage IP du noyau


Elle est plus lisible en utilisant l’option -n et en tapant route -n :
Table de routage IP du noyau



Pour certaines distributions, la route vers l’interface loopback est aussi écrite. On aurait alors une ligne supplémentaire :

127.0.0.0               0.0.0.0               255.0.0.0         U        0       0                 0  lo
 
 ·         Détail des routes renvoyées :
•   la première destination est le réseau du département informatique. C’est un réseau de classe B subnetté. Son masque est 255.255.255.0. Pour information, l’adresse 139.124.5.0 correspond à un réseau situé à Luminy (Marseille).
•    la dernière est la destination default  (soit 0.0.0.0). Son masque est 0.0.0.0 car n’importe quelle adresse doit correspondre à la destination par défaut. On voit qu’on n’utilise qu’un seul routeur d’adresse 139.124.187.1.
•    pour la route vers l’interface loopback. Elle a été automatiquement rajoutée lors de la configuration de l’interface lo. Sa destination est 127.0.0.0 et son masque est 255.0.0.0 car toutes les adresses commençant par 127 sont des adresses locales.
On note que la dernière colonne indique quelle interface il faut utiliser selon la destination.

2.  route add -net 138.125.0.0 netmask 255.255.0.0 gw 139.124.187.250 dev eth0

NB : Si le masque est normal, ce n’est pas la peine de le spécifier. On aurait pu écrire : route add -net 138.125.0.0 gw 139.124.187.250 dev eth0

3.  route add -net 194.199.220.128 netmask 255.255.255.192 gw 139.124.187.251 dev eth0
4.  route del -net 194.199.220.128
5.  route add -net 127.0.0.0 netmask 255.0.0.0 gw 0.0.0.0 dev lo

Corrigé de l’exercice 4 (route sur Windows)

1. Sur l’invite de commandes MS-DOS, il faut taper : route print.

Note : On remarque qu’au lieu de l’adresse 0.0.0.0 comme passerelle pour les destinations directement accessibles, Windows affiche plutôt l’adresse IP de la machine sur le réseau concerné.
D’autre part, Windows affiche aussi une route pour les adresses de classe D (destination 224.0.0.0 avec comme masque 240.0.0.0), ce que ne fait pas Linux.

2. Il faut d’abord déterminer le numéro de l’interface correspondant à la carte réseau. Ce numéro obtenu avec route print où les premières lignes listent les interfaces : la première (0x1 en hexadécimal) correpond à l’interface loopback, la seconde (0x2 sur certains postes et 0x100003 (si si ! ! !) sur d’autres) devrait correspondre à la carte réseau. On peut écrire le numéro d’interface en hexadécimal (en laissant le 0x) ou en décimal. Ainsi, cela donne :

route ADD 129.150.0.0 MASK 255.255.0.0 139.124.187.252 IF 0x2
ou route ADD 129.150.0.0 MASK 255.255.0.0 139.124.187.252 IF 0x100003

NB : le masque étant normal, il n’est normalement pas nécessaire de l’indiquer

3.  route CHANGE 129.150.0.0 MASK 255.255.0.0 139.124.187.253

NB : en principe, on n’a encore moins besoin ici de préciser le masque

4.  route DELETE 129.150.0.0

 

0 commentaires:

Enregistrer un commentaire

Share

Twitter Delicious Facebook Digg Stumbleupon Favorites

 

IP