SlideShare une entreprise Scribd logo
1  sur  44
Télécharger pour lire hors ligne
Cours Cisco
ICND1
Rassemblé par :
Administrateur réseau :
Ahmed OUADAH
EL-WADEH
SOMMAIRE :
LE PROTOCOLE IPV4 : LES BASES III
Masque de (sous-)réseau VIII
L’adresse de (sous-)réseau IX
L’adresse de diffusion (broadcast) du (sous-)réseau X
Plage d’adresses utilisables XI
Exemple récapitulatif XI
exemple de table de routage sous Windows 7 XII
Exemple de table de routage sur un routeur Cisco XIII
SWITCHING FUNDAMENTALS XIV
-TABLE D’ADRESSES MAC & CONTENT-ADDRESSABLE MEMORY (CAM
TABLE)- XIV
Remettons cela dans l’ordre… XV
Avantages du switch XV
Mais ce n’est pas tout… XVI
Un peu de pratique ? XVI
ROUTAGE INTER-(V)LAN : DU PHYSIQUE AU VIRTUEL XXII
CONFIGURATION DHCP SUR UN ROUTEUR CISCO XXX
CONFIGURATION DU NAT SUR UN ROUTEUR CISCO XXXVI
Sur ISP: XXXVII
Sur R1 XXXVIII
Test de C1 à R1 XXXVIII
Test de C1 à C2 XXXIX
Test de R1 à 8.8.8.8 XXXIX
III
Introduction
IPv4 est un protocole « routable », de la couche réseau du modèle OSI (couche 3),
entendez par là qu’il définit principalement un système d’adressage permettant de router
des paquets.
Ce protocole est décrit dans la RFC791 publiée en 1981. Son objectif initial était de
permettre l’interconnexion de réseaux.
Le principe sur lequel il est bâtit est relativement simple: attribuer aux machines une (ou
plusieurs) adresses(s) d’une taille donnée afin que celle-ci puissent s’échanger des
paquets de données. Ces adresses permettent aux machines composant le réseau de
choisir un itinéraire pour acheminer les données depuis une source vers une destination.
Le protocole IPv4 : les bases
Analogie
Si je veux transmettre une lettre à un voisin qui habite la même rue que moi, je ne me
préoccupe pas de l’adresse de la rue. Tout ce que j’ai besoin de savoir c’est ce qui
distingue sa maison de la mienne. Une caractéristique physique de sa maison.
Par contre, si je souhaite envoyer une lettre à un correspondant à l’étranger, je vais
généralement faire appel à un service qui acheminera ma lettre à son destinataire. Pour
que ce service puisse faire son travail, je dois lui indiquer à qui j’envoie la lettre, mais
surtout, où cette personne habite. Hors pour préciser cette information, je dois disposer
d’un système d’adressage. Le service postal utilisera l’adresse du destinataire pour
définir l’itinéraire que prendra la lettre.
En y réfléchissant de plus près, même moi j’ai besoin de cet adressage. Sans lui je ne
pourrais raisonnablement pas définir si le destinataire est dans la même rue que moi.
Donc au final, quand j’envoie la lettre, le compare l’adresse du destinataire à la mienne,
si nous sommes dans la même rue, je lui apporte moi-même (c’est plus simple non ?), si
ce n’est pas le cas, je fais appel à un service qui l’acheminera vers sa destination.
Le système postal que nous connaissons fonctionne (Si si, il fonctionne… ou pas… )
parce que nous utilisons un protocole qui consiste à indiquer sur l’enveloppe l’adresse du
destinataire à un endroit défini, au dos, nous marquons notre propre adresse, pour un
retour éventuel, nous l’affranchissons, indiquons aussi d’éventuelles options (courrier
prioritaire, colis fragile…) etc.
Du point de vue réseau, le concept est similaire…
L’en-tete IPv4
Lorsque des données doivent être véhiculées sur un réseau, les machines les
encapsulent dans un paquet muni d’un en-tête qui comporte toutes les informations
nécessaires au routage des données. Voici l’en-tête:
V
Chacune des case représente un champs qui apporte une information précise pour le
traitement du paquet IPv4:
 Version: indique la version du protocole (toujours égal à 4 pour IPv4)
 IHL: Longueur de l’en-tête IPv4 (nécessaire en raison de la présence possible d’options)
 ToS: Marquage différentiel pour la qualité de service (permet de marquer un paquet comme
étant plus important).
 TPL: Longueur totale du paquet IPv4.
 Fragment ID: Identification d’un fragment de paquet, permet de le reconstituer plus tard.
Utilisé lorsqu’un paquet doit être fragmenté parce que sa taille dépasse la capacité du réseau
sur lequel il doit être émis.
 FLAG: Marqueurs permettant d’indiquer si un paquet peut/doit ou ne peut pas être fragmenté.
 Fragment Offset: Indique la position du fragment au sein du paquet original.
 TTL: Time To Live, représente le nombre d’intermédiaire (routeurs) par lesquels le paquet
peut encore passer avant d’être détruit. Il s’agit d’un mécanisme permettant d’éviter qu’un
paquet ne tourne indéfiniment dans un réseau suite à un problème de routage. On peut
comparer cela à une date de péremption.
 Protocol: Contient une valeur numérique qui identifie la nature du contenu du paquet.
 Checksum: SOmme de contrôle calculée sur l’en-tête du paquet IPv4. Permet de contrôler
l’intégrité de l’entête et donc de le détruire s’il avait été altéré.
 Source IP: Adresse IPv4 de la machine qui a émis le paquet.
 Destination IP: Adresse IPv4 de la machine à laquelle est destinée le paquet.
 Options: Permet d’ajouter différentes informations optionnelles et rarement utilisées.
 Data: Les données véhiculées dans le paquet.
Chaque machine travaillant au niveau de la couche réseau (couche 3) du modèle OSI
analysera cette en-tête et agira en conséquence. Par exemple, les routeurs l’utiliseront
pour acheminer les données vers la destination en fonction de l’adresse IPv4 de
destination.
Types de communications IPv4
Il existe en IPv4, trois manières de communiquer…
 Le paquet unicast: Un paquet émis par une machine, destiné à une et une seule autre machine.
Une communication de un-à-un.
 Le paquet broadcast (de diffusion): Un paquet émis par une machine et destiné à toutes les
machines d’un réseau. Une communication de un-à-tous.
 Le paquet multicast (de multi diffusion): Un paquet émis par une machine et destiné à un
groupe de machine. Une communication de un-à-plusieurs.
La majorité des échanges de données sont des communications unicast. Par exemple,
lorsque je surfe sur un site web, c’est ma machine (le client) qui dialogue avec le site
distant (le serveur). On a donc bien une relation de un à un.
Chaque type de communication utilise un adressage différent bien que défini dans une
structure unique.
L’adressage IPv4
Pierre angulaire du protocole IPv4, l’adresse IPv4 est donc une valeur numérique codée
sur 32 bits (soit 2^32 adresses IPv4 au total) que l’on attribue principalement aux
interfaces des machines afin que celles-ci puissent s’échanger des données.
Malheureusement, toutes ces adresses ne sont pas utilisables pour adresser une
machine, nous y reviendrons.
Ces adresses sont représentées généralement sous la forme de 4 octets exprimés en
valeur décimale, séparés par un point. (Ex: 192.168.0.1, 80.200.14.58, etc.)
Un octet étant composé de 8 bits, sa valeur ne peut pas excéder 255. Toutes les
adresses IPv4 sont donc comprises entre 0.0.0.0 et 255.255.255.255.
Pour comprendre la structure d’une adresse IPv4, le plus simple est de réfléchir à
l’adresse d’une série de maisons dans une rue:
 Toutes les maisons d’une même rue auront une partie de leur adresse commune (le nom de la
rue, la commune, la ville, le pays, etc.)
 Chaque maison aura dans son adresse un élément qui lui est propre: le numéro de la maison
dans la rue.
L’adressage IPv4 fonctionne exactement sur le même principe. Toutes les interfaces de
machines dans un même réseau auront une partie de leur adresse qui sera commune:
l’identifiant réseau et une deuxième partie qui lui sera propre: l’identifiant hôte. Ces deux
éléments ensembles formant l’adresse complète de la machine dans son réseau. Voici
ce que ça donne d’un point de vue conceptuel:
VII
L’identifiant réseau est formé par un certain nombre de bits (à gauche, les bits de poids
fort), et l’identifiant hôte (à droite, les bits de poids faible) représenté par ce qui reste de
bits.
Normalement une question doit vous venir à l’esprit… « Combien de bits côté réseau ? et
donc combien côté hôte ? »… Et c’est ici que les Romains s’empoignèrent!
Comment définir la limite entre l’identifiant réseau et l’identifiant hôte ?
Les classes
La première idée était de faire simple, enfin, humainement simple en tout cas: on définit
5 classes. A chaque classe correspond une définition en terme de limite d’identifiant
réseau/hôte ou autre etc.
 Classe A: Toutes les adresses dont le premier bit vaut 0 (donc de 0.0.0.0 à 127.255.255.255).
Ces adresses ont 8 bits pour la partie réseau, et donc 24 pour la partie hôte.
 Classe B: Toutes les adresses dont les deux premiers valent 10 (donc de 128.0.0.0 à
191.255.255.255). Ces adresses ont 16 bits pour la partie réseau, et donc 16 pour la partie
hôte.
 Classe C: Toutes les adresses dont les trois premiers valent 110 (donc de 192.0.0.0 à
223.255.255.255). Ces adresses ont 24 bits pour la partie réseau, et donc 8 pour la partie hôte.
 Classe D: Toutes les adresses dont les quatre premiers valent 1110 (donc de 224.0.0.0 à
239.255.255.255). Ce sont les adresses multicast. Elles représentent une groupe de machine et
n’entrent donc pas dans la logique d’adresse d’une machine unique.
 Classe E: Toutes les adresses restantes (donc de 240.0.0.0 à 255.255.255.254). Adresses
réservées pour utilisation futures… ou pas… donc non utilisables pour adresser une machine.
Nous nous retrouvons donc avec 3 classes utilisables. La première qui défini des
réseaux pouvant comporter 2^24 machines ( 16,7 millions de machines !!! ), la seconde
qui permet d’adresser des réseaux de 2^16 machines (65536), et enfin la plus petite, qui
permet-elle d’adresser des réseaux de 2^8 machines (256).
Faites une pause de quelques secondes, et demandez-vous combien de sociétés que
vous connaissez disposent de plus de 16 millions de machines ? Et environ 65000
machines ? …
Il faut remettre tout ça dans son contexte. IPv4 est apparu alors qu’Internet n’existait pas
encore. A l’époque, ce qui est maintenant le réseau des réseaux n’était qu’une
interconnexion d’établissements militaires, universitaires etc. nommé ARPAnet. Ce n’est
qu’une bonne dizaine d’années plus tard que les particuliers ont commencé tout
doucement à disposer d’un accès à Internet.
L’idée de base avait du sens: une société forme un réseau de machines, donc, on
attribuait une plage d’adresses plus ou moins grande en fonction de la taille de la
société. Donc si je suis un géant de l’informatique de l’époque, je reçois une classe A,
par exemple toutes les adresses de 23.0.0.0 à 23.255.255.255. Dés lors lorsqu’un
paquet doit être transmis à une machine, en fonctionne de l’adresse de destination je
peux déterminer la classe de celle-ci, et donc savoir combien de bits représentent le
réseau. Dans l’exemple précédent, cela signifie que toutes les adresses dont le premier
octet vaut 23 sont dans le même réseau.
C’est donc un principe qui suivait la logique de l’époque mais qui manquait cruellement
de vision. Quand l’accès à Internet a commencé à se démocratiser, d’abord pour les
entreprises, et ensuite pour les particuliers, un problème est apparu: il était impossible de
fournir suffisamment de plages d’adresses et ce parce que les classes ont découpé
l’espace global d’adresses IPv4 en des ensembles trop grossiers qui ne correspondent
plus aux besoins.
Autre problème, mais celui-là inhérent à IPv4, le nombre d’adresse IPv4 disponible au
total est insuffisant. 2^32 adresses au total, soit un peu moins de 4,3 milliards
d’adresses, pour à l’heure actuelle quelques 7 milliards d’êtres humains. Si en plus on
attribue les adresses par classe, gaspillant ainsi une quantité énorme d’adresses, on
comprend vite que ça ne peut mener qu’à une impasse.
Si j’attribue toutes les adresses de 23.0.0.0 à 23.255.255.255 à une société mais que
celle-ci n’en utilise que 10%, cela représente approximativement 15 millions d’adresses
« perdues » puisqu’on ne peut pas donner une adresse de cette classe à une machine
qui n’est pas dans ce réseau. Cela reviendrait à mettre le même nom de rue à des
maisons qui ne sont pas physiquement dans la même rue.
Le CIDR (Classless Inter-Domain
Routing)
La seule chose à faire était donc d’abandonner les classes de définir des réseaux dont la
taille peut être ajustée en fonction des besoins réels afin d’éviter tant que faire se peut le
gaspillage de ces adresses.
Si on abandonne les classes, on abandonne donc aussi la définition de leur taille en
terme d’identifiant réseau et identifiant hôte. Il faut donc un nouvel élément qui servira de
délimitation: le masque de réseau.
Masque de (sous-)réseau
Le masque est une valeur numérique qui comme l’adresse IPv4 est codé sur 32bits et
représenté en décimal sous forme de 4 octets séparés par des points. (Ex:
255.255.255.0, 255.255.224.0). Son rôle est d’indiquer quels sont les bits de l’adresse
qui identifient la partie réseau et donc aussi ceux qui identifient la partie hôte.
Les bits de poids fort (à gauche) représentent la partie réseau et ont leur valeur à 1. Les
bits de poids faible (à droite) ont leur valeur à 0 et identifient la partie hôte de l’adresse.
C’est donc le masque du réseau qui détermine sa taille, et donc le nombre d’adresses
qui font partie de ce réseau. Plus le masque est grand (plus il y a de bits à 1) plus le
réseau est petit (il y a moins de bits côté hôte). Plus le masque est petit, plus le réseau
est grand.
IX
Prenons par exemple le masque suivant:
En binaire cela donne:
Il y a 26 bits à 1, donc 26 bits qui identifient la partie réseau. Il en reste donc 32-26=6 bits
pour les adresses hôtes, soit 2^6=64.
Par contre avec le masque…
Qui s’écrit en binaire…
Il y a 19 bits côté réseau et donc 32-19=13 bits côtés hôte. Ce qui donne 2^13=8192
adresses dans un même réseau.
Une autre notation du masque est également souvent utilisée, en suivant le format
suivant: adresse IP / bits réseaux
Exemple: 21.58.63.250/26, cette notation revient à écrire 21.56.63.250 /
255.255.255.192
Au lieu d’écrire l’expression décile du masque, on indique uniquement
Avec le CIDR, une adresse seule n’a plus de sens. Elle doit toujours être accompagnée
d’un masque. Sans quoi il est impossible de déterminer à quel réseau elle appartient.
L’adresse de (sous-)réseau
A chaque réseau correspond une adresse qui l’identifie. Il s’agit de la première adresse
du réseau lui même. Celle pour laquelle tous les bits hôtes vallent 0.
Une opération simple (un ET logique) entre une adresse quelconque et le masque qui lui
est joint permet de retrouver l’adresse du réseau auquel elle appartient.
Prenons par exemple l’exemple d’une machine qui aurait la configuration suivante:
 Adresse IPv4: 158.98.45.33
 Masque réseau: 255.255.255.0
L’application d’un ET logique (une opération binaire) entre ces deux valeurs donnent
l’adresse du réseau:
L’adresse du réseau dans lequel se trouve la machine est donc 158.98.45.0. Notez que
si on tenait compte des classes. Les adresses 158… commencent par 10… en binaire et
donc auraient fait partie de la classe B 158.98.0.0.
Autre exemple:
 Adresse IPv4: 89.27.250.45
 Masque réseau: 255.255.255.248
On retrouve donc l’adresse réseau de cette machine par l’opération suivante:
L’adresse réseau de cette machine est donc 89.27.250.40
Il est important de noter que l’adresse du réseau ne peut pas être attribuée à une
machine. Une machine est un élément du réseau et non le réseau lui-même.
L’adresse de diffusion (broadcast) du (sous-)réseau
Pour chaque réseau, il existe une adresse dite de diffusion (de broadcast). Cette adresse
a pour but d’émettre un paquet et de l’adresser à l’ensemble des machines du réseau en
question (Communication de un à tous). Il s’agit de la dernière adresse du réseau. Celle
pour laquelle tous les bits hôtes vallent 1.
XI
Exemple:
 Adresse: 121.43.98.205
 Masque: 255.255.255.128
On obtient donc l’adresse réseau par l’opération logique ET (comme plus haut):
L’adresse du réseau est donc 121.43.98.128.
A partir de là il suffit de mettre tous les bits hôtes, c’est à dire les 7 bits à droite à 1:
L’adresse broadcast de ce réseau est donc 121.43.89.255.
Plage d’adresses utilisables
Puisque l’adresse du réseau est la première adresse dans ce réseau et que l’adresse
broadcast est la dernière. Tout ce qui se trouve entre les deux forme la plage d’adresses
utilisables.
On obtient le nombre d’adresses utilisable dans un réseau par la formule suivante: nb
adresses = 2^n-2, où n est le nombre de bits hôtes. On soustrait deux unités pour
l’adresse du réseau et l’adresse broadcast.
Exemple récapitulatif
Les données de bases étant les suivantes:
 Adresse: 188.56.58.39
 Masque: 255.255.248.0
On obtient l’adresse réseau en appliquant le masque à l’adresse…
L’adresse réseau est donc 188.56.56.0
Pour obtenir l’adresse broadcast, il faut remplacer mettre les bits hôtes à 1…
L’adresse broadcast est donc 188.56.63.255
Les adresses comprises entre 188.56.56.0 et 188.56.63.255 forment donc la plage
d’adresses utilisables.
Leur nombre est de 2^11-2 = 2046 adresses.
Routage IPv4
Router un paquet consiste à l’acheminer vers la destination en fonction de sa table de
routage. Cette table contient la liste des réseaux vers lesquels elle est apte à acheminer
les données ainsi que les informations nécessaires au traitement du paquet.
Table de routage
La table de routage est une liste de routes, c’est-à-dire, une liste de réseaux auxquels
sont attachés les informations nécessaires au routage du paquet: un next-hop (la
prochaine machine à qui le paquet doit être transmis), une interface (celle par laquelle le
paquet devra être émis), une métrique (une valeur permettant de comparer deux routes),
etc.
exemple de table de routage sous Windows 7
XIII
 Destination réseau: L’adresse du réseau de destination.
 Masque réseau: Détermine la taille du réseau en question.
 Adresse passerelle: L4adresse IPv4 de la machine à qui le paquet doit être transmis pour
l’acheminer vers le réseau en question.
 Adresse Interface: L’adresse de l’interface par laquelle le paquet devra être émis/routé.
 Métrique: permet de choisir en plusieurs routes qui indiquerait la même destination.
Exemple de table de routage sur un routeur Cisco
Lorsqu’on n’y est pas habitué, cet affichage put perturber. Ceci dit, chaque route est
précédée d’un symbole. Dans le cas présent, les routes commençant par un « C »
indiquent une route directement connectée. Donc un réseau directement attaché au
routeur (dans Windows 7, on le voit avec la mention « On-link »).
Les routes commençant par « O » sont des routes apprises à l’aide d’un protocole de
routage, OSPF. Ce sont des routes vers des réseaux qui se trouvent au-delà d’une autre
machine.
Pour chacun de ces routes on a donc un format du genre:
Le terme « AD » représente la distance administrative. Il s’agit d’une notion que l’on
retrouve surtout sur les routeurs Cisco. Cette élément permet lui aussi de différencier des
routes. Chaque source d’information aura sa distance administrative. Par exemple une
route connectée a une AD=0, une route statique AD=1, une route OSPF AD=110, etc.
(valeurs par défaut).
Switching Fundamentals
-Table d’adresses MAC & Content-
Addressable Memory (CAM Table)-
Qu’est-ce qu’un switch Ethernet ?
Un switch (ou commutateur) Ethernet est un équipement qui relie plusieurs segments
(entendez câble ou liaison physiques) d’un réseau. Il s’agit d’un dispositif de niveau 2
(couche Liaison de données du modèle OSI), ce qui signifie qu’il ne se contente pas de
propager un signal à l’instar du HUB (ou concentrateur), mais, au contraire qu’il
interprète ce signal et utilise les informations contenues dans l’entête de la trame
Ethernet pour prendre ses décisions.
La décision principale qu’un switch doit prendre est « filtrer ou propager » (« Filter or
Forward ») une trame. En quelque mots, le switch analyse l’adresse MAC destination
contenue dans l’entête de la trame Ethernet et doit choisir par quel(s) port(s) (ou
interface) il doit la transmettre. Pour cela il consulte sa table d’adresses MAC à la
recherche d’une entrée correspondant à l’adresse MAC destination concernée et où une
interface de sortie est renseignée.
Cependant avant de prendre cette décision, le switch doit d’abord connaître l’interface à
laquelle est reliée la machine pour l’adresse MAC donnée. Pour ce faire, il analyse
l’adresse MAC source des trames qu’il reçoit. Pour chaque trame entrant sur une de ses
interface, le switch analyse l’adresse MAC source. Si celle-ci n’est pas encore connue, il
l’associe à l’interface par laquelle la trame est entrée. Si elle est déjà connue et associée
à la même interface, l’information est rafraîchie. Enfin si l’adresse MAC est déjà connue
mais associée à une autre interface, le switch crée une nouvelle entrée et supprime
l’ancienne.
Il reste à savoir ce que fait un switch quand il ne connaît pas l’adresse MAC destination.
La réponse est simple: lorsque l’adresse MAC destination n’est pas présente dans sa
table d’adresses MAC, le switch propagera la trame par toutes les interfaces, sauf celle
d’où elle provient, c’est ce qui est généralement appelé « unicast flooding ».
Deux autres cas restent à déterminer: les trames de diffusion (ou de broadcast) et les
trames de multi-diffusion (ou multicast). Ces trames ont la particularité d’avoir une
adresse MAC destination spéciale, qu’aucune machine ne peut avoir. Ces adresses
MAC particulières ( FFFF.FFFF.FFFF pour le broadcast, 0001.5Exx.xxxx pour le
multicast IPV4 et 3333.xxxx.xxxx pour le multicast IPv6) seront par défaut toutes traitées
de la même manière; le switch propagera la trame par toutes les interfaces sauf celle
d’où elle provient.
XV
Remarque: Certains switches sont capables de traiter les trames multicast intelligemment grâce à
des fonctionnalités comme le protocole CGMP (Cisco Group Management Protocol) ou encore
l’IGMP Snooping, mais cela sort du cadre du fonctionnement fondamental du switch.
En dehors de l’analyse des adresses MAC, le switch a aussi pour tâche, comme
n’importe quelle machine capable d’analyser le contenu de la trame Ethernet, de vérifier
l’intégrité de celle-ci. Pour ce faire, la trame Ethernet est munie d’un champ spécifique, le
FCS (Frame Check Sequence). Il s’agit d’une valeur numérique calculée sur base de
l’entête et du contenu de la trame, de telle sorte qu’une trame qui aurait le moindre bit de
différent ait un FCS différent.
A l’arrivée de la trame, le switch calcule la valeur du FCS et la compare à celle fournie en
fin de trame. Si les deux valeurs correspondent, la trame est considérée comme intègre
et peut donc être traitée. Par contre, si le switch calcule une valeur différente du FCS, la
trame est considérée comme altérée et est tout simplement détruite, ni plus, ni moins. Il
n’y a a ce niveau pas de mécanisme de correction ou récupération d’erreur … c’est entre
autre le rôle de la couche Transport.
Remettons cela dans l’ordre…
1. Le switch reçoit une trame Ethernet
2. Il vérifie la validité de celle-ci grâce au FCS contenu en fin de trame, si elle est valide on
passe au n°3, sinon il la détruit.
3. Le switch analyse l’adresse MAC source de la trame.
1. Si elle n’est pas présente dans sa table d’adresse MAC il rajoute une nouvelle entrée en
l’associant à l’interface par laquelle elle est entrée (ainsi qu’au vlan associé) et lui attribue une
durée de vie (300 secondes par défaut sur un switch Cisco).
2. Si elle est présente et associée à la même interface, le switch rafraîchit la durée de vie.
3. Si elle est présente mais associée à une autre interface, le switch crée une nouvelle entrée
comme si il s’agissait d’une nouvelle adresse MAC et ensuite supprime l’ancienne entrée.
4. Le switch analyse l’adresse MAC destination.
1. Si l’adresse MAC existe dans la table d’adresse MAC et associée à une interface dans le
même vlan que celle d’entrée, le switch propage la trame uniquement par cette interface.
2. Si l’adresse MAC n’est pas présente dans la table d’adresse MAC, le switch propage la trame
par toutes les interfaces du même vlan sauf celle d’où elle provient.
3. Si l’adresse MAC est soit l’adresse broadcast soit une adresse multicast, le switch propage la
trame par toutes les interfaces du même vlan sauf celle d’où elle provient.
Avantages du switch
Un switch disposant d’une table d’adresse MAC complète n’enverra les trames qu’à la
machine concernée, ce qui en plus d’éviter d’occuper une partie du réseau pour rien,
évite que n’importe quelle machine ne reçoive n’importe quelle trame et améliore donc la
sécurité du réseau (par rapport à un HUB par exemple qui se contente de propager un
signal propre et fort par tous ses ports sauf celui d’où il vient).
Autre fait important, le switch permet de créer une micro-segmentation du réseau. C’est
à dire réduire les domaines de collisions à leur plus strict minimum. Si (et seulement si) à
chaque interface d’un switch est connecté un et un seul autre équipement (sauf un HUB
qui se comporte comme une multiprise en quelque sorte), alors le domaine de collision
de chacune de ses interface ne comporte que deux machines (le switch et celle à
laquelle il est connecté). L’émission et la réception ne sont plus partagés. Dés lors il n’y a
plus de collision possible. Le switch et l’autre machine peuvent alors dialoguer en Full-
Duplex (envoyer et recevoir simultanément). Réduisant à zéro les risques de collision (et
donc de retransmission etc.) et doublant potentiellement la bande passante ( ex:
100Mbits/s en émission + 100Mbits/s en réception).
Mais ce n’est pas tout…
Pour que le switch puisse accomplir ses tâches sans impact sur les performances du
réseau (principalement la latence), celui-ci dispose de circuits électroniques spécialisés
et dédiés (ASICs) lui permettant de traiter une multitude d’informations en parallèle. C’est
en quelque sorte le même principe que la carte graphique d’un PC. Celle-ci permet de
délester l’unité centrale (le CPU) de certaines tâches. Les fonctionnalités d’une carte
graphique sont plus limitées mais beaucoup plus spécialisées.
Parmi les éléments spécialisés du switch, il y a la « Content Addressable Memory
Table » (CAM Table) qui n’est rien d’autre que l’endroit où il stocke les informations
nécessaires au switching des trames. Toute la logique expliquée précédemment reste
bien entendu vraie. La CAM table est une zone de mémoire spécialisée dédiée au
stockage de ces informations et donc plus performante dans son fonctionnement.
Grossièrement dit… afficher le contenu de la table d’adresse MAC ou de la CAM table,
c’est la même chose.
Un peu de pratique ?
Commençons par afficher la table d’adresse MAC d’un switch auquel rien n’est
connecté…
XVII
Rien de connecté mais quand même 20 entrées? En effet, mais tout ceci a une
explication logique. Il s’agit des adresses MAC utilisées par le switch pour certains
protocoles comme CDP (Cisco Discovery Protocol), DTP (Dynamic Trunking Protocol) ou
encore STP (Spanning-Tree). Donc pour l’analyse vous pouvez omettre ces
informations, vous les retrouverez à chaque fois.
Ce serait déjà mieux si on ne pouvait afficher que les entrées apprises dynamiquement
par le switch…
Nous y voilà, à part ce qui est « hard-codé » le switch ne connait encore aucune adresse
MAC. Branchons maintenant une machine à une des interface et voyons ce qui se
passe…
On voit ici que le switch a ajouté l’adresse MAC de la machine connectée à son interface
Fa1/0/1 comme prévu. Et donc désormais quand il recevra une trame adressée à
0015.5d01.0e08, il la transmettra uniquement par l’interface Fa1/0/1.
Que se passe-t-il quand la machine est déconnectée du switch ? (On éteint la machine
ou on débranche le câble).
L’interface du switch est passée de UP/UP à DOWN/DOWN(not connected), de ce fait, il
supprime toutes les entrées de la table d’adresses MAC associées à cette interface.
Que se passe-t-il si l’adresse MAC passe d’ine interface à une autre sans que celle-ci ne
passe down/down ? Ce serait le cas si par exemple vous avez une machine connectée
au réseau en WiFi et que celle-ci passe d’un point d’accès à un autre. Pour simuler cela,
je vais simplement intercaler d’autres switches mais ne me concentrer que sur le
changement de la table d’adresse MAC de clui qui nous concerne.
Au départ nous avons par exemple ceci:
XIX
Si la machine 0015.5d01.0e00 passe sur une autre interface, voici le résultat immédiat…
Comme expliqué plus tôt, le switch a détecté qu’une adresse MAC connue est
maintenant associée à une autre interface, il crée donc une nouvelle entrée associée à
sa Fa1/0/2 et supprime l’ancienne. On ne peut donc pas avoir la même adresse MAC
associée à plusieurs interfaces. C’est toujours l’entrée la plus récente qui reste.
Si ce passage a lieu trop fréquemment, cela peut être un symptôme d’une boucle entre
les switches, vous verrez alors apparaître un message d’alerte de « flapping » d’une
adresse MAC entre plusieurs interfaces.
Il est également possible de rechercher une adresse MAC dans la table:
Ou encore d’afficher les adresses MAC associées à une interface donnée:
Ou aussi d’afficher les adresses MAC apprises dynamiquement dans un VLAN donné:
Enfin, dans de rares cas, vous pourriez souhaiter ajouter manuellement une adresse
MAC dans la table..
Par exemple pour ajouter l’adresse MAC 1234.5678.abcd à l’interface Fa1/0/2 dans le
vlan 1:
Ce qui donnera le résultat suivant:
Remarque: j’ai ici profité des astuces de la ligne de commande pour filtrer la sortie du show et
n’afficher que les lignes qui ne contiennent pas le mot clé « CPU ».
XXI
Et si maintenant vous voulez que les trames émises depuis une machine dont vous
connaissez l’adresse MAC soient automatiquement détruites dans un VLAN donné (par
exemple, les trames provenant de 1234.1234.1234 dans le VLAN1):
Petite vérification d’usage…
Pour terminer, vous pouvez également afficher « l’aging-time » des entrées dans la table
des adresses MAC (le temps au delà duquel l’entrée est supprimée si elle n’a pas été
rafraîchie, par défaut 300 secondes).
Cette valeur peut également être ajustée globalement…
… ou encore vlan par vlan …
Le résultat:
On a donc bien un aging-time global de 150 secondes, et de 100 secondes pour les
entrées relatives au vlan 1.
Routage Inter-(V)LAN : Du physique
au virtuel
Routage entre LANs ou routage Inter-VLAN … même combat! Pour qu’un routeur puisse
router un paquet d’un domaine de diffusion à un autre il doit posséder une interface
configurée dans chacun d’eux …
Je vais tenter par le biais de cet article de clarifier cette notion de « routage Inter-Vlan ».
Pour cela, nous allons prendre comme base un routeur connecté à deux domaines de
diffusions, le Subnet A (192.168.0.0/24) et le Subnet B (192.168.1.0/24).
Ceci est ce qu’on peut appeler la topologie logique. Elle reprend les subnets (domaines
de diffusions) et l’équipement qui les interconnecte, le routeur.
A partir de là il y a plusieurs façon de réaliser cette topologie…
La methode « physique »
Sans aucun doute la méthode la plus évidente. Il suffit de connecter chacune des
interfaces du routeur à un switch par exemple et de lui configurer l’adresse adéquate.
XXIII
Sans aucune suprise, on constate que deux routes connectées apparaissent dans la
table de routage…
Avantage:
 Simplicité de mise en place
 Ne fait appel à aucune technologie avancée et donc peut être implémenté sur quasi n’importe
quel équipement (une routeur Linux et deux switch non manageables par exemple).
Inconvénient:
 S’adapte difficilement à un grand nombre de subnets (il faut une interface physique par
subnet)
 Coût élevé en matériel, chaque subnet requiert également un switch supplémentaire.
Integration des VLANs
Les VLANs (Virtual LANs) permettent entre autre de diviser un même switch en plusieurs
domaines de diffusions. Dans le cas présent, on recrée donc le principe précédent, à
savoir deux domaines de diffusions distincts. Dans chacun de ses VLANs on place une
partie des interfaces du switch, ensuite on connecte chaque interface du routeur à une
interface placée dans le VLAN souhaité.
Configuration du switch:
Configuration du routeur:
Résultat:
Côté routeur rien ne change… (la configuration est identique)
XXV
Côté switch, les interfaces sont placées dans deux VLANs différents. Une machine
connectée dans le VLAN10 ne pourra donc pas communiquer directement avec une
machine du VLAN20. Elle doit passer par le routeur… comme dans la version 100%
physique.
Avantage:
 Simplicité de mise en place côté routeur.
 Il n’est plus nécessaire d’avoir un switch par subnet.
Inconvénient:
 S’adapte difficilement à un grand nombre de subnets (il faut une interface physique par
subnet) côté routeur mais également côté switch!
 Il faut utiliser un switch manageable qui supporte les VLANs
Methode « Router on-a-stick »
L’idée est la suivante: on veut limiter le nombre de connexions physiques et les partager
entre plusieurs domaines de diffusions. Cependant côté switch, il est impossible de
placer une interface dans deux VLANs … C’est là qu’intervient le concept de Trunk!
Un trunk est une liaison sur laquelle les trames Ethernet sont taguées (ou encapsulée
suivant le protocole utilisé). Ce tag (ou entête supplémentaire) contient entre autre
l’identifiant du VLAN d’où provient la trame de sorte que l’équipement qui la reçoit puisse
la réattribuer au bon domaine de diffusion.
Un switch peut être configuré pour établir un trunk sur une interface … mais pas un
routeur… De ce côté là, il faut respecter le principe de base … une interface par domaine
de diffusion. Dés lors on fait appel à la notion de sub-interface. Pour faire simple, c’est un
peu comme si on découpait l’interface physique en plusieurs morceaux. Chacun de ses
morceau est ensuite configuré pour accepter les trames taguées avec un identifiant de
VLAN défini.
Configuration du switch:
Configuration du routeur:
Resultat:
Sans la moindre surprise, le routeur dispose d’une interface dans chacun des domaines
de diffusion. Toutefois, cette fois-ci il s’agit d’interface virtuelles, des subdivisions de
l’interface physiques.
Remarque: le nom de la sub-interface (Fa0/0.10 par exemple) n’a aucun lien avec
l’identifiant du VLAN associé, c’est la commande « encapsulation dot1q xxx » qui associe
le VLAN xxx à la sub-interface en question.
XXVII
Avantage:
 Une seule liaison physiques pour plusieurs domaines de diffusion
 Facilement extensible, il suffit de créer une nouvelle sub-interface sur le routeur et un
nouveau vlan sur le switch.
Inconvénient :
 Tous les domaines de diffusions passent par la même liaison physique qui devient le goulot
d’étranglement
 Il faut faire appel à un switch manageable qui supporte les trunks dot1q et à un routeur
capable de prendre en charge le protocole dot1q également.
Le switch multi-layer
Certainement la méthode la plus utilisée pour le routage inter-vlan. Pour simplifier à la
limite de la caricature, c’est un peu comme si on installait un routeur dans un switch et
qu’on les reliait en interne. Bien sur c’est plus complexe que cela, mais l’idée générale
est facilement compréhensible.
Un switch multi-layer est un switch (sérieux?) mais capable de faire bien plus que son job
de niveau 2. Par configuration on peut y activer le routage IP ce qui le transforme en
routeur potentiel.
Pour la configuration, le principe d’origine reste valable, il nous faut une interface par
domaine de diffusion… mais ici, vu que tout est interne au MLS (multi layer switch), on
ne fait plus appel aux interfaces physiques du tout. On utilise les SVIs (Switched Virtual
Interface) qui sont ni plus ni moins que les « interface VLAN ». Les portes d’accès du
switch pour émettre des trames dans les différents domaines de diffusion.
Il n’y pas grande chose à faire si ce n’est:
 Créer les VLANs
 Placer les interfaces du switch dans les VLANs
 Activer le routage IP
 Créer et configurer les SVIs
Au final le MLS possède une interface dans chacun des domaines de diffusion et sa
table e routage reprend les deux routes connectées.
Remarque: Pour qu’une SVI soit UP/UP (et donc par conséquent que la route connectée
associée apparaisse dans la table de routage, il faut qu’il y ait au moins une interface
active dans le VLAN concerné (ou un Trunk qui laisse passer ce VLAN).
XXIX
Avantage:
 Le routage inter-vlan n’est plus dépendant de la bande passante d’une liaison physique.
 Facilement extensible, il suffit de créer un nouveau VLAN et une nouvelle SVI associée.
Inconvénients:
 Les MLS sont des équipements bien plus cher qu’un switch ou un routeur standard (voire
même les deux rassemblés).
Conclusion:
Quelque soit la méthode utilisée, l’équipement en charge du routage DOIT avoir une
interface connectée dans chacun des domaines de diffusion, qu’elle soit physique ou
virtuelle!
Configuration DHCP sur un routeur
Cisco
Le protocole DHCP (Dynamic Host Configuration Protocol) a pour fonctionnalité de
fournir aux machines qui le demandent une configuration IP complète, adresse IPv4,
masque de sous-réseau, passerelle par défaut, serveur dns… Cet article a pour sujet la
configuration d’un routeur Cisco en serveur DHCP.
Topologie de la configuration
Nous allons ici réaliser la configuration de R1, routeur d’accès à internet du réseau et
DHCP, routeur faisant office de serveur DHCP. Bien entendu les services DHCP auraient
pu être configurés sur R1, mais pour des raisons didactiques j’ai choisi de séparer cette
fonctionnalité. vous comprendre pourquoi plus tard dans l’article.
La configuration ne reprendra que ce qui est relatif au DHCP, R1 est donc censé être
configuré selon les besoins standards (adresses IPv4 sur les interfaces, route par défaut
pointant vers ISP, et bien sûr un peu de NAT pour permettre l’accès au réseau publique).
Configuration initiale
Afin d’éviter de finir avec un article de plusieurs pages de long, je ne mettrai ici que la
configuration nécessaire. Les paramètres par défaut ne sont pas inclus.
XXXI
Sur ISP
Sur R1
Sur DHCP
Attention, la route par défaut sur DHCP est nécessaire pour la suite de la configuration,
j’en toucherai un mot plus loin.
Piqure de rappel
Le protocol DHCP est véhiculé directement dans une trame. De plus la machine qui émet
une requête DHCP, n’ayant encore aucune identité (adresse IPv4 etc) n’a d’autre
possibilité que de communiquer par broadcast. Cela signifie donc que la requête DHCP
émise par cette machine est une trame broadcast.
Cela peut paraître sans importance, mais il ne faut pas oublier qu’un broadcast est
confiné dans son domaine de diffusion, autrement dit, il ne dépasse pas un routeur.
Hors, ici, entre le serveur DHCP et le LAN1 il y a R1… un routeur!
Nous devrons donc par la suite s’assurer que R1 soit configuré pour relayer la requête
DHCP à destination du serveur DHCP.
Methode de configuration
Afin que DHCP puisse distribuer des adresses à la fois dans le LAN1 et dans le LAN2
nous allons devoir configurer les points suivants:
 Exclure les adresses qu’on souhait ne pas distribuer (celle de la passerelle, ou de machines
ayant des adresses fixes)
 Pour chaque LAN configurer un pool DHCP dans lequel on spécifiera les options (passerelle,
serveur dns, adresse réseau, …)
 Configurer le relai DHCP pour le LAN1, sur R1.
La configuration
La bonne pratique veut que l’on configure le serveur DHCP dans un ordre qui peut
paraître illogique au premier abord. Ce qu’il faut savoir, c’est qu’une fois le pool DHCP
configuré, le routeur va commencer à attribuer des adresses. Il est donc conseillé de
configurer en premiers les options (adresses à exclure paramètres du pool… le tout
avant de définir la plage d’adresse à prendre en charge), sans quoi il se pourrait que les
premières configurations reçues par les machines soient incomplètes.
Commençons par le routeur DHCP…
Exclusion des adresses nécessaires (adresse des passerelles, du serveur DHCP, …) ici
nous allons exclure les dix premières de chaque LAN (choix arbitraire).
Attention dans la définition des adresses à exclure, la première adresse donne le début
de la plage et la deuxième la fin de la plage à exclure. Si vous ne souhaitez qu’exclure
une adresse, il suffit de ne pas donner d’adresse de fin.
XXXIII
Configurons maintenant le pool DHCP pour la LAN1…
On a donc créé ici un pool DHCP nommé LAN1, dans lequelles les machines recevront
comme passerelle par défaut 192.168.0.1 (l’adresse de R1 dans le LAN1), un serveur
DNS 8.8.8.8 (totalement fictif ici, mais il me semblait indispensable de montrer comment
le configurer)… et cette configuration sera valable pour le réseau 192.168.0.0/24 (plage
d’adresse à distribuer de laquelle il faut soustraire les adresses précédemment exclues).
Faison de même pour le LAN2…
A présent les machnes du LAN2 doivent recevoir leur configuration correctement étant
donné que le serveur DHCP est dans le même domaine de diffusion qu’elles.
Vérifions sur C2…
Le serveur DHCP devrait également avoir gardé ce bail DHCP en mémoire…
Par contre … impossible pour C1 de recevoir sa configuration …
En effet, lorsque R1 reçoit la tramme de broadcast contenant la requête DHCP de C1, vu
qu’il ne sait rien en faire, il la « jette » purement et simplement.
Il nous faut configurer le relai des trames DHCP vers le serveur DHCP. Pour cela nous
devons dire explicitement à R1 de relayer ces trames à 192.168.1.5 (le serveur DHCP)
lorsqu’elles entrent sur son interface Fa0/0. Voici la manipulation:
Notez que la commande « ip helper-address » a plus d’utilité que le simple relai des
requêtes DHCP. Elle sert à relayer les broadcasts UDP de plusieurs protocoles (DHCP,
NTP, Netbios…).
A présent C1 peut aussi obtenir sa configuration par DHCP
DHCP doit également avoir retenu les informations concernant ce bail DHCP…
Quelques explications
complementaires…
Comment fait DHCP pour savoir dans quel pool d’adresse il doit piocher en réponse à
une requête venant du LAN1 ou du LAN2 ?
Dans le cas du LAN2, la requête arrive sous forme de broadcast, sur l’interface ethernet
de DHCP, il lui suffit alors de fournir une configuration pour une machine dansle même
domaine de diffusion que lui, donc le pool LAN2.
Par contre dans le cas du LAN1, la requête arrive à DHCP sous forme d’unicast, car elle
est relayée par R1. R1 a en réalité, construit un paquet unicast, avec comme adresse
source celle de son interface dans le LAN1 et comme destination celle du serveur DHCP.
XXXV
Dés lors quand DHCP reçoit la requête unicast, il propose une adresse provenant du
pool dont la plage d’adresse correspond à celle configurée sur l’interface Fa0/0 de R1.
Quelques parametres en plus…
Bien entendu la configuration du DHCP ne se limite pas à une adresse, un masque, une
passerelle et un serveur DNS. Voici quelques autres paramètres configurables…
Définir le nom de domaine qui sera associé à l’interface recevant la configuration…
Configurer la durée du bail DHCP…
Le format est « lease <jours> <heures> <minutes> ». On peut également défini un bail
illimité en utilisant « lease infinite ».
Il est également possible de configurer des options « brutes ». Ce sont des paramètres
n’ayant pas de nom spécifiques. Mais la syntaxe varie en fonction des données à fournir.
Par exemple, si on doit renseigner une adresse de serveur TFTP pour qu’une machine
puisse y récupérer une image de démarrage (c’est le cas dans avec les systèmes de
déploiement réseau), il faut indiquer l’option 150, avec comme paramètre l’adresse ip du
serveur TFTP.
DHCP(dhcp-config)#option 150 ip 192.168.1.50
Encore une vérification…
Nous avons vu précédemment la commande « show ip dhcp binding » qui affiche la liste
des baux en cours. Il est aussi possible d’afficher les pools DHCP et leurs statistiques…
Configuration du NAT sur un Routeur
Cisco
Quand il s’agit d’interconnecter un réseau privé (que ce soit d’entreprise ou particulier),
en IPv4, il est pratiquement impossible de se passer du NAT. Voici donc une
configuration qui reprend l’essentiel des trois principaux types de NAT que l’on peut
configurer, à savoir:
 Le NAT statique
 Le NAT dynamique avec pool d’adresses
 Le NAT dynamique avec surcharge (NAT overload, aussi connu sous le nom de PAT)
Topologie du labo
XXXVII
Le labo est divisé en deux parties, le côté privé (réseau de l’entreprise) et le côté
publique (le FAI et Internet). le routeur ISP (qui représente le FAI), n’a aucune
connaissance des réseaux privés de l’entreprise et ne peut donc rien router à destination
des réseaux 192.168.x.x. (comme défini dans la RFC1918). Ces adresses sont réservées
pour l’utilisation dans les réseaux privés. Il en va de même pour toutes les adresses
faisant parties des plages suivantes:
 10.0.0.0/8 (de 10.0.0.0 à 10.255.255.255)
 172.16.0.0/12 (de 172.16.0.0 à 172.31.255.255)
 192.168.0.0/16 (de 192.168.0.0 à 192.168.255.255)
Dès lors, nous allons configurer le NAT afin de permettre un accès à Internet (simulé par
l’adresse 8.8.8.8/32 configurée sur une interface loopback de ISP):
 Le réseau 192.168.0.0/24 utilisera du NAT dynamique avec surcharge.
 Le réseau 192.168.1.0/24 utilisera du NAT avec pool d’adresse.
 La machine 192.168.1.100 sera accessible depuis le réseau publique grâce à une configuration
de NAT statique.
Configuration de la topologie de
base
Sur ISP:
Configuration de l’interface loopback
Configuration de la liaison sérielle vers R1
Configuration de la route vers le pool d’adresses publique
Sur R1
Configuration de l’interface sérielle vers ISP
Configuration de l’interface du LAN1
Configuration de l’interface du LAN2
Configuration de la route par défaut
Pour le moment il est possible d’effectuer les tests suivants:
 Effectuer un ping depuis chaque PC vers R1
 Effectuer un ping entre les PCs de LAN différent
 Effectuer un ping depuis R1 vers 8.8.8.8
Test de C1 à R1
XXXIX
Test de C1 à C2
Test de R1 à 8.8.8.8
Par contre impossible par exemple pour C1 de communiquer avec 8.8.8.8
Configuration commune a tout type
de NAT
La première chose à faire lorsque l’on configure du NAT, quel qu’en soit le type, c’est
d’indiquer au routeur où se situe le réseau privé et où se situe le réseau publique.
Le NAT ne prend effet que lorsque qu’un paquet est routé d’une interface « inside » (côté
privé) vers une interface « outside » (côté publique) et vice-versa.
Dans notre cas, les interfaces Fa0/0 et Fa0/1 sont du côté privé et seront déclarées
comme « inside », l’interface S0/0 par contre, étant du côté publique, sera configurée
comme « outside ».
Configuration du NAT statique pour
C3
Ce que nous allons configurer ici c’est une translation statique dans la table de
translation NAT, ce qu’on appelle vulgairement sur du matériel domestique « ouvrir un
port ». Nous allons explicitement indiquer au routeur que ce qui arrive sur son interface
publique (S0/0) et dont l’adresse destination est 201.49.10.30 (une des adresse du pool
publique) doit être redirigé vers 192.168.1.100.
Du point de vue du routeur cela revient à modifier l’adresse IP destionation dans l’en-tête
IPv4 avant de router le paquet. Cela signifie aussi que si C3 envoi un paquet vers
internet, à la sortie de S0/0 de R1 l’adresse source (192.168.1.100) sera remplacée par
l’adresse indiquée dans la translation, soit 201.49.10.30.
La table de translations NAT doit mainentant ressembler à ceci:
A présent C3 doit pouvoir communiquer avec le réseau publique
Chaque paquet a donc été translaté, preuve en est la table de translations juste après
l’émission de ces pings:
XLI
On peut observer le résultat de la translation du côté de ISP aussi à l’aide de la
commande « debug ip packet » qui va afficher le détail de chaque paquet IP traité par le
routeur (Attention, dans un environnement réel cette commande peut gravement saturer
le routeur).
Configuration du NAT avec pool
d’adresses
Pour l’instant seul C3 a accès au réseau publique, nous allons maintenant configurer un
autre type de NAT pour le réseau 192.168.1.0/24 (à l’exception de C3).
Ici, au lieu de configurer une translation statique, nous allons donner au routeur une
plage d’adresses publiques (un pool d’adresse) dans laquelle il peut piocher pour créer
dynamiquement les translations.
Tout d’abord créons le pool d’adresses
Ici on crée donc une plage d’adresse nommée POOL-NAT-LAN2 allant de 201.49.10.17
à 201.49.10.30.
Il nous faut ensuite définir quelles adresses IP sources seront susceptibles d’êtres
translatées … pour cela il faut créer une ACL.
On autorise donc à être translatées les adresses ip du réseau 192.168.1.0/24 sauf
192.168.1.100 (pour laquelle on a déjà une translation statique).
Il ne reste plus qu’à configurer le NAT en lui même
On instruit donc ici le routeur de créer dynamiquement une translation pour les paquets
arrivant sur une interface « inside » routés par une interface « outside » dont l’adresse IP
source correspond à l’ACL 1 et de remplacer l’IP source par une de celles comprises
dans le pool POOL-NAT-LAN2.
Attention, si il y a plus de machine dans le réseau privé que d’adresses publiques
disponibles, il faut alors rajouter le mot clé « overload » à la commande:
Ceci permet de « partager » les adresses publiques en translatant également les
numéros de ports dans l’entête de la couche transport (méthode communément appelée
PAT).
A présent C2 (et les autres machines qui seraient dans le réseau 192.168.1.0/24)
peuvent communiquer avec l’extérieur.
La table de translation de R1 a maintenant une nouvelle entrée crée dynamiquement,
mais qui réserve l’adresse publique pour C2 (tant que l’on ne purge pas la table NAT).
XLIII
Configuration du NAT dynamique
avec surcharge (sans pool)
Il reste encore à configurer R2 pour que le réseau 192.168.0.0/24 puisse accéder à
l’extérieur. Pour cela nous allons configurer le troisième type de NAT, à savoir du NAT
dynamique avec surcharge (overload) en utilisant l’adresse publique configurée sur
l’interface S0/0 de R1.
Notez que c’est la configuration la plus courante dans un réseau modeste (par exemple
dans un réseau domestique). Cette méthode ne requiert pas d’obtenir de nouvelles
adresses publiques auprès du provider.
Nous devons cette fois aussi identifier les adresses sources à faire passer par le NAT,
donc nous créons une nouvelle ACL.
Il ne reste plus qu’à configurer le NAT.
Nous disons ici au routeur de translater les paquets provenant des adresses décrites
dans l’ACL 2 (192.168.0.0/24) et de remplacer l’adresse IP source par celle configurée
sur l’interface Serial 0/0 en la surchargeant pour permettre à plus d’une machine de
communiquer avec l’extérieur (PAT).
C1 (ainsi que toute machine de ce réseau) peut communiquer avec l’extérieur désormais
Le « debug ip packets » sur ISP donne le résultat suivant
On voit là que c’est bien l’adresse de S0/0 qui est utilisé pour remplacer l’IP source du
paquet.

Contenu connexe

Tendances

Cisco et-le-simulateur-packet-tracer
Cisco et-le-simulateur-packet-tracerCisco et-le-simulateur-packet-tracer
Cisco et-le-simulateur-packet-tracer
Med Ali Bhs
 
Adressage ip l_adresse_ip_2
Adressage ip l_adresse_ip_2Adressage ip l_adresse_ip_2
Adressage ip l_adresse_ip_2
finder0000
 
Réseaux et protocoles - Cours + exercices
Réseaux et protocoles - Cours + exercices Réseaux et protocoles - Cours + exercices
Réseaux et protocoles - Cours + exercices
sarah Benmerzouk
 
Cour simulation ns2
Cour simulation ns2Cour simulation ns2
Cour simulation ns2
Gilles Samba
 

Tendances (20)

Travaux Dirigée: Equipements d'interconnexion
Travaux Dirigée: Equipements d'interconnexionTravaux Dirigée: Equipements d'interconnexion
Travaux Dirigée: Equipements d'interconnexion
 
Cours les technologies WAN
Cours les technologies WANCours les technologies WAN
Cours les technologies WAN
 
MISE EN PLACE D’ UN VPN (SITE-TO-SITE) AU SEIN D’ UNE ENTREPRISE : CAS DE LA ...
MISE EN PLACE D’ UN VPN (SITE-TO-SITE) AU SEIN D’ UNE ENTREPRISE : CAS DE LA ...MISE EN PLACE D’ UN VPN (SITE-TO-SITE) AU SEIN D’ UNE ENTREPRISE : CAS DE LA ...
MISE EN PLACE D’ UN VPN (SITE-TO-SITE) AU SEIN D’ UNE ENTREPRISE : CAS DE LA ...
 
Bases de données réparties par la pratique
Bases de données réparties par la pratiqueBases de données réparties par la pratique
Bases de données réparties par la pratique
 
Cisco et-le-simulateur-packet-tracer
Cisco et-le-simulateur-packet-tracerCisco et-le-simulateur-packet-tracer
Cisco et-le-simulateur-packet-tracer
 
Adressage ip l_adresse_ip_2
Adressage ip l_adresse_ip_2Adressage ip l_adresse_ip_2
Adressage ip l_adresse_ip_2
 
cours NAT (traduction d'adresse réseau)
cours NAT (traduction d'adresse réseau)cours NAT (traduction d'adresse réseau)
cours NAT (traduction d'adresse réseau)
 
1 - Généralités - Réseaux Informatiques.pdf
1 - Généralités - Réseaux Informatiques.pdf1 - Généralités - Réseaux Informatiques.pdf
1 - Généralités - Réseaux Informatiques.pdf
 
Methodes d'accès dans les réseaux locaux
Methodes d'accès dans les réseaux locauxMethodes d'accès dans les réseaux locaux
Methodes d'accès dans les réseaux locaux
 
16 - VLSM-CIDR.ppt
16 - VLSM-CIDR.ppt16 - VLSM-CIDR.ppt
16 - VLSM-CIDR.ppt
 
Réseaux et protocoles - Cours + exercices
Réseaux et protocoles - Cours + exercices Réseaux et protocoles - Cours + exercices
Réseaux et protocoles - Cours + exercices
 
Introduction aux réseaux locaux
 Introduction aux réseaux locaux Introduction aux réseaux locaux
Introduction aux réseaux locaux
 
Mise en place de deux réseaux LAN interconnectés par un réseau WAN
Mise en place de deux réseaux LAN interconnectés par un réseau WANMise en place de deux réseaux LAN interconnectés par un réseau WAN
Mise en place de deux réseaux LAN interconnectés par un réseau WAN
 
Snort
SnortSnort
Snort
 
Cour simulation ns2
Cour simulation ns2Cour simulation ns2
Cour simulation ns2
 
étapes de réalisation réseau local
étapes de réalisation réseau localétapes de réalisation réseau local
étapes de réalisation réseau local
 
Les réseaux informatiques 2
Les réseaux informatiques 2Les réseaux informatiques 2
Les réseaux informatiques 2
 
Les architectures client serveur
Les architectures client serveurLes architectures client serveur
Les architectures client serveur
 
Connexion point à point (ppp, hdlc)
Connexion point à point (ppp, hdlc)Connexion point à point (ppp, hdlc)
Connexion point à point (ppp, hdlc)
 
Présentation etherchannel
Présentation etherchannelPrésentation etherchannel
Présentation etherchannel
 

Similaire à Cours cisco icnd1

Copy of communiquer entre applications couche3
Copy of communiquer entre applications couche3Copy of communiquer entre applications couche3
Copy of communiquer entre applications couche3
DGMALY
 
cours-adressage-ip+annexes.pdf
cours-adressage-ip+annexes.pdfcours-adressage-ip+annexes.pdf
cours-adressage-ip+annexes.pdf
arielle61
 
exercice adressage_IP_l_adresse_IP.pdf
exercice adressage_IP_l_adresse_IP.pdfexercice adressage_IP_l_adresse_IP.pdf
exercice adressage_IP_l_adresse_IP.pdf
idir3
 
Tutorielnatpat 120218122614-phpapp02
Tutorielnatpat 120218122614-phpapp02Tutorielnatpat 120218122614-phpapp02
Tutorielnatpat 120218122614-phpapp02
Ahmed Chaouche HADBI
 

Similaire à Cours cisco icnd1 (20)

Exonet adressagei pv6
Exonet adressagei pv6Exonet adressagei pv6
Exonet adressagei pv6
 
Chapitre 6 - Protocoles TCP/IP, UDP/IP
Chapitre 6  - Protocoles TCP/IP, UDP/IPChapitre 6  - Protocoles TCP/IP, UDP/IP
Chapitre 6 - Protocoles TCP/IP, UDP/IP
 
Copy of communiquer entre applications couche3
Copy of communiquer entre applications couche3Copy of communiquer entre applications couche3
Copy of communiquer entre applications couche3
 
Adressage ip stl-cours
Adressage ip stl-coursAdressage ip stl-cours
Adressage ip stl-cours
 
cours-adressage-ip+annexes.pdf
cours-adressage-ip+annexes.pdfcours-adressage-ip+annexes.pdf
cours-adressage-ip+annexes.pdf
 
FR - Les réseaux Ethernet - le format des trames.pdf
FR - Les réseaux Ethernet - le format des trames.pdfFR - Les réseaux Ethernet - le format des trames.pdf
FR - Les réseaux Ethernet - le format des trames.pdf
 
Architecture réseaux
Architecture réseauxArchitecture réseaux
Architecture réseaux
 
Adressage ip
Adressage ipAdressage ip
Adressage ip
 
57750095-08AE-4FEC-BD21-BEE910D62603.pdf
57750095-08AE-4FEC-BD21-BEE910D62603.pdf57750095-08AE-4FEC-BD21-BEE910D62603.pdf
57750095-08AE-4FEC-BD21-BEE910D62603.pdf
 
10 ipv6
10 ipv610 ipv6
10 ipv6
 
exercice adressage_IP_l_adresse_IP.pdf
exercice adressage_IP_l_adresse_IP.pdfexercice adressage_IP_l_adresse_IP.pdf
exercice adressage_IP_l_adresse_IP.pdf
 
ADRESSAGE DANS LES RESEAUX INFORMATIQUE.pptx
ADRESSAGE DANS LES RESEAUX INFORMATIQUE.pptxADRESSAGE DANS LES RESEAUX INFORMATIQUE.pptx
ADRESSAGE DANS LES RESEAUX INFORMATIQUE.pptx
 
Cours couche reseau
Cours couche reseauCours couche reseau
Cours couche reseau
 
186333.ppt
186333.ppt186333.ppt
186333.ppt
 
Tutoriel nat pat
Tutoriel nat patTutoriel nat pat
Tutoriel nat pat
 
CMs-Reseaux.pdf
CMs-Reseaux.pdfCMs-Reseaux.pdf
CMs-Reseaux.pdf
 
De l'IPv4 à l'IPv6, Que ce passe t-il réellement?
De l'IPv4 à l'IPv6, Que ce passe t-il réellement?De l'IPv4 à l'IPv6, Que ce passe t-il réellement?
De l'IPv4 à l'IPv6, Que ce passe t-il réellement?
 
8 adressage ip
8 adressage ip8 adressage ip
8 adressage ip
 
Tutorielnatpat 120218122614-phpapp02
Tutorielnatpat 120218122614-phpapp02Tutorielnatpat 120218122614-phpapp02
Tutorielnatpat 120218122614-phpapp02
 
chapr1_Addressage_Internet_protocol.pptx
chapr1_Addressage_Internet_protocol.pptxchapr1_Addressage_Internet_protocol.pptx
chapr1_Addressage_Internet_protocol.pptx
 

Plus de saqrjareh (6)

Configuration d'un VP IPSEC CISCO
Configuration d'un VP IPSEC CISCOConfiguration d'un VP IPSEC CISCO
Configuration d'un VP IPSEC CISCO
 
Tp sgbd gsi
Tp sgbd gsiTp sgbd gsi
Tp sgbd gsi
 
Ccna icnd2-labs exercices
Ccna icnd2-labs exercicesCcna icnd2-labs exercices
Ccna icnd2-labs exercices
 
Ccna icnd1-labs - exercices
Ccna icnd1-labs - exercicesCcna icnd1-labs - exercices
Ccna icnd1-labs - exercices
 
Glossaire des propriétés CSS
Glossaire des propriétés CSSGlossaire des propriétés CSS
Glossaire des propriétés CSS
 
Etude de cas audit cobit 4.1
Etude de cas audit cobit 4.1Etude de cas audit cobit 4.1
Etude de cas audit cobit 4.1
 

Cours cisco icnd1

  • 1. Cours Cisco ICND1 Rassemblé par : Administrateur réseau : Ahmed OUADAH EL-WADEH
  • 2. SOMMAIRE : LE PROTOCOLE IPV4 : LES BASES III Masque de (sous-)réseau VIII L’adresse de (sous-)réseau IX L’adresse de diffusion (broadcast) du (sous-)réseau X Plage d’adresses utilisables XI Exemple récapitulatif XI exemple de table de routage sous Windows 7 XII Exemple de table de routage sur un routeur Cisco XIII SWITCHING FUNDAMENTALS XIV -TABLE D’ADRESSES MAC & CONTENT-ADDRESSABLE MEMORY (CAM TABLE)- XIV Remettons cela dans l’ordre… XV Avantages du switch XV Mais ce n’est pas tout… XVI Un peu de pratique ? XVI ROUTAGE INTER-(V)LAN : DU PHYSIQUE AU VIRTUEL XXII CONFIGURATION DHCP SUR UN ROUTEUR CISCO XXX CONFIGURATION DU NAT SUR UN ROUTEUR CISCO XXXVI Sur ISP: XXXVII Sur R1 XXXVIII Test de C1 à R1 XXXVIII Test de C1 à C2 XXXIX Test de R1 à 8.8.8.8 XXXIX
  • 3. III Introduction IPv4 est un protocole « routable », de la couche réseau du modèle OSI (couche 3), entendez par là qu’il définit principalement un système d’adressage permettant de router des paquets. Ce protocole est décrit dans la RFC791 publiée en 1981. Son objectif initial était de permettre l’interconnexion de réseaux. Le principe sur lequel il est bâtit est relativement simple: attribuer aux machines une (ou plusieurs) adresses(s) d’une taille donnée afin que celle-ci puissent s’échanger des paquets de données. Ces adresses permettent aux machines composant le réseau de choisir un itinéraire pour acheminer les données depuis une source vers une destination.
  • 4. Le protocole IPv4 : les bases Analogie Si je veux transmettre une lettre à un voisin qui habite la même rue que moi, je ne me préoccupe pas de l’adresse de la rue. Tout ce que j’ai besoin de savoir c’est ce qui distingue sa maison de la mienne. Une caractéristique physique de sa maison. Par contre, si je souhaite envoyer une lettre à un correspondant à l’étranger, je vais généralement faire appel à un service qui acheminera ma lettre à son destinataire. Pour que ce service puisse faire son travail, je dois lui indiquer à qui j’envoie la lettre, mais surtout, où cette personne habite. Hors pour préciser cette information, je dois disposer d’un système d’adressage. Le service postal utilisera l’adresse du destinataire pour définir l’itinéraire que prendra la lettre. En y réfléchissant de plus près, même moi j’ai besoin de cet adressage. Sans lui je ne pourrais raisonnablement pas définir si le destinataire est dans la même rue que moi. Donc au final, quand j’envoie la lettre, le compare l’adresse du destinataire à la mienne, si nous sommes dans la même rue, je lui apporte moi-même (c’est plus simple non ?), si ce n’est pas le cas, je fais appel à un service qui l’acheminera vers sa destination. Le système postal que nous connaissons fonctionne (Si si, il fonctionne… ou pas… ) parce que nous utilisons un protocole qui consiste à indiquer sur l’enveloppe l’adresse du destinataire à un endroit défini, au dos, nous marquons notre propre adresse, pour un retour éventuel, nous l’affranchissons, indiquons aussi d’éventuelles options (courrier prioritaire, colis fragile…) etc. Du point de vue réseau, le concept est similaire… L’en-tete IPv4 Lorsque des données doivent être véhiculées sur un réseau, les machines les encapsulent dans un paquet muni d’un en-tête qui comporte toutes les informations nécessaires au routage des données. Voici l’en-tête:
  • 5. V Chacune des case représente un champs qui apporte une information précise pour le traitement du paquet IPv4:  Version: indique la version du protocole (toujours égal à 4 pour IPv4)  IHL: Longueur de l’en-tête IPv4 (nécessaire en raison de la présence possible d’options)  ToS: Marquage différentiel pour la qualité de service (permet de marquer un paquet comme étant plus important).  TPL: Longueur totale du paquet IPv4.  Fragment ID: Identification d’un fragment de paquet, permet de le reconstituer plus tard. Utilisé lorsqu’un paquet doit être fragmenté parce que sa taille dépasse la capacité du réseau sur lequel il doit être émis.  FLAG: Marqueurs permettant d’indiquer si un paquet peut/doit ou ne peut pas être fragmenté.  Fragment Offset: Indique la position du fragment au sein du paquet original.  TTL: Time To Live, représente le nombre d’intermédiaire (routeurs) par lesquels le paquet peut encore passer avant d’être détruit. Il s’agit d’un mécanisme permettant d’éviter qu’un paquet ne tourne indéfiniment dans un réseau suite à un problème de routage. On peut comparer cela à une date de péremption.  Protocol: Contient une valeur numérique qui identifie la nature du contenu du paquet.  Checksum: SOmme de contrôle calculée sur l’en-tête du paquet IPv4. Permet de contrôler l’intégrité de l’entête et donc de le détruire s’il avait été altéré.  Source IP: Adresse IPv4 de la machine qui a émis le paquet.  Destination IP: Adresse IPv4 de la machine à laquelle est destinée le paquet.  Options: Permet d’ajouter différentes informations optionnelles et rarement utilisées.  Data: Les données véhiculées dans le paquet. Chaque machine travaillant au niveau de la couche réseau (couche 3) du modèle OSI analysera cette en-tête et agira en conséquence. Par exemple, les routeurs l’utiliseront pour acheminer les données vers la destination en fonction de l’adresse IPv4 de destination.
  • 6. Types de communications IPv4 Il existe en IPv4, trois manières de communiquer…  Le paquet unicast: Un paquet émis par une machine, destiné à une et une seule autre machine. Une communication de un-à-un.  Le paquet broadcast (de diffusion): Un paquet émis par une machine et destiné à toutes les machines d’un réseau. Une communication de un-à-tous.  Le paquet multicast (de multi diffusion): Un paquet émis par une machine et destiné à un groupe de machine. Une communication de un-à-plusieurs. La majorité des échanges de données sont des communications unicast. Par exemple, lorsque je surfe sur un site web, c’est ma machine (le client) qui dialogue avec le site distant (le serveur). On a donc bien une relation de un à un. Chaque type de communication utilise un adressage différent bien que défini dans une structure unique. L’adressage IPv4 Pierre angulaire du protocole IPv4, l’adresse IPv4 est donc une valeur numérique codée sur 32 bits (soit 2^32 adresses IPv4 au total) que l’on attribue principalement aux interfaces des machines afin que celles-ci puissent s’échanger des données. Malheureusement, toutes ces adresses ne sont pas utilisables pour adresser une machine, nous y reviendrons. Ces adresses sont représentées généralement sous la forme de 4 octets exprimés en valeur décimale, séparés par un point. (Ex: 192.168.0.1, 80.200.14.58, etc.) Un octet étant composé de 8 bits, sa valeur ne peut pas excéder 255. Toutes les adresses IPv4 sont donc comprises entre 0.0.0.0 et 255.255.255.255. Pour comprendre la structure d’une adresse IPv4, le plus simple est de réfléchir à l’adresse d’une série de maisons dans une rue:  Toutes les maisons d’une même rue auront une partie de leur adresse commune (le nom de la rue, la commune, la ville, le pays, etc.)  Chaque maison aura dans son adresse un élément qui lui est propre: le numéro de la maison dans la rue. L’adressage IPv4 fonctionne exactement sur le même principe. Toutes les interfaces de machines dans un même réseau auront une partie de leur adresse qui sera commune: l’identifiant réseau et une deuxième partie qui lui sera propre: l’identifiant hôte. Ces deux éléments ensembles formant l’adresse complète de la machine dans son réseau. Voici ce que ça donne d’un point de vue conceptuel:
  • 7. VII L’identifiant réseau est formé par un certain nombre de bits (à gauche, les bits de poids fort), et l’identifiant hôte (à droite, les bits de poids faible) représenté par ce qui reste de bits. Normalement une question doit vous venir à l’esprit… « Combien de bits côté réseau ? et donc combien côté hôte ? »… Et c’est ici que les Romains s’empoignèrent! Comment définir la limite entre l’identifiant réseau et l’identifiant hôte ? Les classes La première idée était de faire simple, enfin, humainement simple en tout cas: on définit 5 classes. A chaque classe correspond une définition en terme de limite d’identifiant réseau/hôte ou autre etc.  Classe A: Toutes les adresses dont le premier bit vaut 0 (donc de 0.0.0.0 à 127.255.255.255). Ces adresses ont 8 bits pour la partie réseau, et donc 24 pour la partie hôte.  Classe B: Toutes les adresses dont les deux premiers valent 10 (donc de 128.0.0.0 à 191.255.255.255). Ces adresses ont 16 bits pour la partie réseau, et donc 16 pour la partie hôte.  Classe C: Toutes les adresses dont les trois premiers valent 110 (donc de 192.0.0.0 à 223.255.255.255). Ces adresses ont 24 bits pour la partie réseau, et donc 8 pour la partie hôte.  Classe D: Toutes les adresses dont les quatre premiers valent 1110 (donc de 224.0.0.0 à 239.255.255.255). Ce sont les adresses multicast. Elles représentent une groupe de machine et n’entrent donc pas dans la logique d’adresse d’une machine unique.  Classe E: Toutes les adresses restantes (donc de 240.0.0.0 à 255.255.255.254). Adresses réservées pour utilisation futures… ou pas… donc non utilisables pour adresser une machine. Nous nous retrouvons donc avec 3 classes utilisables. La première qui défini des réseaux pouvant comporter 2^24 machines ( 16,7 millions de machines !!! ), la seconde qui permet d’adresser des réseaux de 2^16 machines (65536), et enfin la plus petite, qui permet-elle d’adresser des réseaux de 2^8 machines (256). Faites une pause de quelques secondes, et demandez-vous combien de sociétés que vous connaissez disposent de plus de 16 millions de machines ? Et environ 65000 machines ? … Il faut remettre tout ça dans son contexte. IPv4 est apparu alors qu’Internet n’existait pas encore. A l’époque, ce qui est maintenant le réseau des réseaux n’était qu’une interconnexion d’établissements militaires, universitaires etc. nommé ARPAnet. Ce n’est qu’une bonne dizaine d’années plus tard que les particuliers ont commencé tout doucement à disposer d’un accès à Internet. L’idée de base avait du sens: une société forme un réseau de machines, donc, on attribuait une plage d’adresses plus ou moins grande en fonction de la taille de la société. Donc si je suis un géant de l’informatique de l’époque, je reçois une classe A, par exemple toutes les adresses de 23.0.0.0 à 23.255.255.255. Dés lors lorsqu’un paquet doit être transmis à une machine, en fonctionne de l’adresse de destination je peux déterminer la classe de celle-ci, et donc savoir combien de bits représentent le réseau. Dans l’exemple précédent, cela signifie que toutes les adresses dont le premier octet vaut 23 sont dans le même réseau.
  • 8. C’est donc un principe qui suivait la logique de l’époque mais qui manquait cruellement de vision. Quand l’accès à Internet a commencé à se démocratiser, d’abord pour les entreprises, et ensuite pour les particuliers, un problème est apparu: il était impossible de fournir suffisamment de plages d’adresses et ce parce que les classes ont découpé l’espace global d’adresses IPv4 en des ensembles trop grossiers qui ne correspondent plus aux besoins. Autre problème, mais celui-là inhérent à IPv4, le nombre d’adresse IPv4 disponible au total est insuffisant. 2^32 adresses au total, soit un peu moins de 4,3 milliards d’adresses, pour à l’heure actuelle quelques 7 milliards d’êtres humains. Si en plus on attribue les adresses par classe, gaspillant ainsi une quantité énorme d’adresses, on comprend vite que ça ne peut mener qu’à une impasse. Si j’attribue toutes les adresses de 23.0.0.0 à 23.255.255.255 à une société mais que celle-ci n’en utilise que 10%, cela représente approximativement 15 millions d’adresses « perdues » puisqu’on ne peut pas donner une adresse de cette classe à une machine qui n’est pas dans ce réseau. Cela reviendrait à mettre le même nom de rue à des maisons qui ne sont pas physiquement dans la même rue. Le CIDR (Classless Inter-Domain Routing) La seule chose à faire était donc d’abandonner les classes de définir des réseaux dont la taille peut être ajustée en fonction des besoins réels afin d’éviter tant que faire se peut le gaspillage de ces adresses. Si on abandonne les classes, on abandonne donc aussi la définition de leur taille en terme d’identifiant réseau et identifiant hôte. Il faut donc un nouvel élément qui servira de délimitation: le masque de réseau. Masque de (sous-)réseau Le masque est une valeur numérique qui comme l’adresse IPv4 est codé sur 32bits et représenté en décimal sous forme de 4 octets séparés par des points. (Ex: 255.255.255.0, 255.255.224.0). Son rôle est d’indiquer quels sont les bits de l’adresse qui identifient la partie réseau et donc aussi ceux qui identifient la partie hôte. Les bits de poids fort (à gauche) représentent la partie réseau et ont leur valeur à 1. Les bits de poids faible (à droite) ont leur valeur à 0 et identifient la partie hôte de l’adresse. C’est donc le masque du réseau qui détermine sa taille, et donc le nombre d’adresses qui font partie de ce réseau. Plus le masque est grand (plus il y a de bits à 1) plus le réseau est petit (il y a moins de bits côté hôte). Plus le masque est petit, plus le réseau est grand.
  • 9. IX Prenons par exemple le masque suivant: En binaire cela donne: Il y a 26 bits à 1, donc 26 bits qui identifient la partie réseau. Il en reste donc 32-26=6 bits pour les adresses hôtes, soit 2^6=64. Par contre avec le masque… Qui s’écrit en binaire… Il y a 19 bits côté réseau et donc 32-19=13 bits côtés hôte. Ce qui donne 2^13=8192 adresses dans un même réseau. Une autre notation du masque est également souvent utilisée, en suivant le format suivant: adresse IP / bits réseaux Exemple: 21.58.63.250/26, cette notation revient à écrire 21.56.63.250 / 255.255.255.192 Au lieu d’écrire l’expression décile du masque, on indique uniquement Avec le CIDR, une adresse seule n’a plus de sens. Elle doit toujours être accompagnée d’un masque. Sans quoi il est impossible de déterminer à quel réseau elle appartient. L’adresse de (sous-)réseau A chaque réseau correspond une adresse qui l’identifie. Il s’agit de la première adresse du réseau lui même. Celle pour laquelle tous les bits hôtes vallent 0. Une opération simple (un ET logique) entre une adresse quelconque et le masque qui lui est joint permet de retrouver l’adresse du réseau auquel elle appartient.
  • 10. Prenons par exemple l’exemple d’une machine qui aurait la configuration suivante:  Adresse IPv4: 158.98.45.33  Masque réseau: 255.255.255.0 L’application d’un ET logique (une opération binaire) entre ces deux valeurs donnent l’adresse du réseau: L’adresse du réseau dans lequel se trouve la machine est donc 158.98.45.0. Notez que si on tenait compte des classes. Les adresses 158… commencent par 10… en binaire et donc auraient fait partie de la classe B 158.98.0.0. Autre exemple:  Adresse IPv4: 89.27.250.45  Masque réseau: 255.255.255.248 On retrouve donc l’adresse réseau de cette machine par l’opération suivante: L’adresse réseau de cette machine est donc 89.27.250.40 Il est important de noter que l’adresse du réseau ne peut pas être attribuée à une machine. Une machine est un élément du réseau et non le réseau lui-même. L’adresse de diffusion (broadcast) du (sous-)réseau Pour chaque réseau, il existe une adresse dite de diffusion (de broadcast). Cette adresse a pour but d’émettre un paquet et de l’adresser à l’ensemble des machines du réseau en question (Communication de un à tous). Il s’agit de la dernière adresse du réseau. Celle pour laquelle tous les bits hôtes vallent 1.
  • 11. XI Exemple:  Adresse: 121.43.98.205  Masque: 255.255.255.128 On obtient donc l’adresse réseau par l’opération logique ET (comme plus haut): L’adresse du réseau est donc 121.43.98.128. A partir de là il suffit de mettre tous les bits hôtes, c’est à dire les 7 bits à droite à 1: L’adresse broadcast de ce réseau est donc 121.43.89.255. Plage d’adresses utilisables Puisque l’adresse du réseau est la première adresse dans ce réseau et que l’adresse broadcast est la dernière. Tout ce qui se trouve entre les deux forme la plage d’adresses utilisables. On obtient le nombre d’adresses utilisable dans un réseau par la formule suivante: nb adresses = 2^n-2, où n est le nombre de bits hôtes. On soustrait deux unités pour l’adresse du réseau et l’adresse broadcast. Exemple récapitulatif Les données de bases étant les suivantes:  Adresse: 188.56.58.39  Masque: 255.255.248.0 On obtient l’adresse réseau en appliquant le masque à l’adresse… L’adresse réseau est donc 188.56.56.0
  • 12. Pour obtenir l’adresse broadcast, il faut remplacer mettre les bits hôtes à 1… L’adresse broadcast est donc 188.56.63.255 Les adresses comprises entre 188.56.56.0 et 188.56.63.255 forment donc la plage d’adresses utilisables. Leur nombre est de 2^11-2 = 2046 adresses. Routage IPv4 Router un paquet consiste à l’acheminer vers la destination en fonction de sa table de routage. Cette table contient la liste des réseaux vers lesquels elle est apte à acheminer les données ainsi que les informations nécessaires au traitement du paquet. Table de routage La table de routage est une liste de routes, c’est-à-dire, une liste de réseaux auxquels sont attachés les informations nécessaires au routage du paquet: un next-hop (la prochaine machine à qui le paquet doit être transmis), une interface (celle par laquelle le paquet devra être émis), une métrique (une valeur permettant de comparer deux routes), etc. exemple de table de routage sous Windows 7
  • 13. XIII  Destination réseau: L’adresse du réseau de destination.  Masque réseau: Détermine la taille du réseau en question.  Adresse passerelle: L4adresse IPv4 de la machine à qui le paquet doit être transmis pour l’acheminer vers le réseau en question.  Adresse Interface: L’adresse de l’interface par laquelle le paquet devra être émis/routé.  Métrique: permet de choisir en plusieurs routes qui indiquerait la même destination. Exemple de table de routage sur un routeur Cisco Lorsqu’on n’y est pas habitué, cet affichage put perturber. Ceci dit, chaque route est précédée d’un symbole. Dans le cas présent, les routes commençant par un « C » indiquent une route directement connectée. Donc un réseau directement attaché au routeur (dans Windows 7, on le voit avec la mention « On-link »). Les routes commençant par « O » sont des routes apprises à l’aide d’un protocole de routage, OSPF. Ce sont des routes vers des réseaux qui se trouvent au-delà d’une autre machine. Pour chacun de ces routes on a donc un format du genre: Le terme « AD » représente la distance administrative. Il s’agit d’une notion que l’on retrouve surtout sur les routeurs Cisco. Cette élément permet lui aussi de différencier des routes. Chaque source d’information aura sa distance administrative. Par exemple une route connectée a une AD=0, une route statique AD=1, une route OSPF AD=110, etc. (valeurs par défaut).
  • 14. Switching Fundamentals -Table d’adresses MAC & Content- Addressable Memory (CAM Table)- Qu’est-ce qu’un switch Ethernet ? Un switch (ou commutateur) Ethernet est un équipement qui relie plusieurs segments (entendez câble ou liaison physiques) d’un réseau. Il s’agit d’un dispositif de niveau 2 (couche Liaison de données du modèle OSI), ce qui signifie qu’il ne se contente pas de propager un signal à l’instar du HUB (ou concentrateur), mais, au contraire qu’il interprète ce signal et utilise les informations contenues dans l’entête de la trame Ethernet pour prendre ses décisions. La décision principale qu’un switch doit prendre est « filtrer ou propager » (« Filter or Forward ») une trame. En quelque mots, le switch analyse l’adresse MAC destination contenue dans l’entête de la trame Ethernet et doit choisir par quel(s) port(s) (ou interface) il doit la transmettre. Pour cela il consulte sa table d’adresses MAC à la recherche d’une entrée correspondant à l’adresse MAC destination concernée et où une interface de sortie est renseignée. Cependant avant de prendre cette décision, le switch doit d’abord connaître l’interface à laquelle est reliée la machine pour l’adresse MAC donnée. Pour ce faire, il analyse l’adresse MAC source des trames qu’il reçoit. Pour chaque trame entrant sur une de ses interface, le switch analyse l’adresse MAC source. Si celle-ci n’est pas encore connue, il l’associe à l’interface par laquelle la trame est entrée. Si elle est déjà connue et associée à la même interface, l’information est rafraîchie. Enfin si l’adresse MAC est déjà connue mais associée à une autre interface, le switch crée une nouvelle entrée et supprime l’ancienne. Il reste à savoir ce que fait un switch quand il ne connaît pas l’adresse MAC destination. La réponse est simple: lorsque l’adresse MAC destination n’est pas présente dans sa table d’adresses MAC, le switch propagera la trame par toutes les interfaces, sauf celle d’où elle provient, c’est ce qui est généralement appelé « unicast flooding ». Deux autres cas restent à déterminer: les trames de diffusion (ou de broadcast) et les trames de multi-diffusion (ou multicast). Ces trames ont la particularité d’avoir une adresse MAC destination spéciale, qu’aucune machine ne peut avoir. Ces adresses MAC particulières ( FFFF.FFFF.FFFF pour le broadcast, 0001.5Exx.xxxx pour le multicast IPV4 et 3333.xxxx.xxxx pour le multicast IPv6) seront par défaut toutes traitées de la même manière; le switch propagera la trame par toutes les interfaces sauf celle d’où elle provient.
  • 15. XV Remarque: Certains switches sont capables de traiter les trames multicast intelligemment grâce à des fonctionnalités comme le protocole CGMP (Cisco Group Management Protocol) ou encore l’IGMP Snooping, mais cela sort du cadre du fonctionnement fondamental du switch. En dehors de l’analyse des adresses MAC, le switch a aussi pour tâche, comme n’importe quelle machine capable d’analyser le contenu de la trame Ethernet, de vérifier l’intégrité de celle-ci. Pour ce faire, la trame Ethernet est munie d’un champ spécifique, le FCS (Frame Check Sequence). Il s’agit d’une valeur numérique calculée sur base de l’entête et du contenu de la trame, de telle sorte qu’une trame qui aurait le moindre bit de différent ait un FCS différent. A l’arrivée de la trame, le switch calcule la valeur du FCS et la compare à celle fournie en fin de trame. Si les deux valeurs correspondent, la trame est considérée comme intègre et peut donc être traitée. Par contre, si le switch calcule une valeur différente du FCS, la trame est considérée comme altérée et est tout simplement détruite, ni plus, ni moins. Il n’y a a ce niveau pas de mécanisme de correction ou récupération d’erreur … c’est entre autre le rôle de la couche Transport. Remettons cela dans l’ordre… 1. Le switch reçoit une trame Ethernet 2. Il vérifie la validité de celle-ci grâce au FCS contenu en fin de trame, si elle est valide on passe au n°3, sinon il la détruit. 3. Le switch analyse l’adresse MAC source de la trame. 1. Si elle n’est pas présente dans sa table d’adresse MAC il rajoute une nouvelle entrée en l’associant à l’interface par laquelle elle est entrée (ainsi qu’au vlan associé) et lui attribue une durée de vie (300 secondes par défaut sur un switch Cisco). 2. Si elle est présente et associée à la même interface, le switch rafraîchit la durée de vie. 3. Si elle est présente mais associée à une autre interface, le switch crée une nouvelle entrée comme si il s’agissait d’une nouvelle adresse MAC et ensuite supprime l’ancienne entrée. 4. Le switch analyse l’adresse MAC destination. 1. Si l’adresse MAC existe dans la table d’adresse MAC et associée à une interface dans le même vlan que celle d’entrée, le switch propage la trame uniquement par cette interface. 2. Si l’adresse MAC n’est pas présente dans la table d’adresse MAC, le switch propage la trame par toutes les interfaces du même vlan sauf celle d’où elle provient. 3. Si l’adresse MAC est soit l’adresse broadcast soit une adresse multicast, le switch propage la trame par toutes les interfaces du même vlan sauf celle d’où elle provient. Avantages du switch Un switch disposant d’une table d’adresse MAC complète n’enverra les trames qu’à la machine concernée, ce qui en plus d’éviter d’occuper une partie du réseau pour rien, évite que n’importe quelle machine ne reçoive n’importe quelle trame et améliore donc la sécurité du réseau (par rapport à un HUB par exemple qui se contente de propager un signal propre et fort par tous ses ports sauf celui d’où il vient). Autre fait important, le switch permet de créer une micro-segmentation du réseau. C’est à dire réduire les domaines de collisions à leur plus strict minimum. Si (et seulement si) à
  • 16. chaque interface d’un switch est connecté un et un seul autre équipement (sauf un HUB qui se comporte comme une multiprise en quelque sorte), alors le domaine de collision de chacune de ses interface ne comporte que deux machines (le switch et celle à laquelle il est connecté). L’émission et la réception ne sont plus partagés. Dés lors il n’y a plus de collision possible. Le switch et l’autre machine peuvent alors dialoguer en Full- Duplex (envoyer et recevoir simultanément). Réduisant à zéro les risques de collision (et donc de retransmission etc.) et doublant potentiellement la bande passante ( ex: 100Mbits/s en émission + 100Mbits/s en réception). Mais ce n’est pas tout… Pour que le switch puisse accomplir ses tâches sans impact sur les performances du réseau (principalement la latence), celui-ci dispose de circuits électroniques spécialisés et dédiés (ASICs) lui permettant de traiter une multitude d’informations en parallèle. C’est en quelque sorte le même principe que la carte graphique d’un PC. Celle-ci permet de délester l’unité centrale (le CPU) de certaines tâches. Les fonctionnalités d’une carte graphique sont plus limitées mais beaucoup plus spécialisées. Parmi les éléments spécialisés du switch, il y a la « Content Addressable Memory Table » (CAM Table) qui n’est rien d’autre que l’endroit où il stocke les informations nécessaires au switching des trames. Toute la logique expliquée précédemment reste bien entendu vraie. La CAM table est une zone de mémoire spécialisée dédiée au stockage de ces informations et donc plus performante dans son fonctionnement. Grossièrement dit… afficher le contenu de la table d’adresse MAC ou de la CAM table, c’est la même chose. Un peu de pratique ? Commençons par afficher la table d’adresse MAC d’un switch auquel rien n’est connecté…
  • 17. XVII Rien de connecté mais quand même 20 entrées? En effet, mais tout ceci a une explication logique. Il s’agit des adresses MAC utilisées par le switch pour certains protocoles comme CDP (Cisco Discovery Protocol), DTP (Dynamic Trunking Protocol) ou encore STP (Spanning-Tree). Donc pour l’analyse vous pouvez omettre ces informations, vous les retrouverez à chaque fois. Ce serait déjà mieux si on ne pouvait afficher que les entrées apprises dynamiquement par le switch… Nous y voilà, à part ce qui est « hard-codé » le switch ne connait encore aucune adresse MAC. Branchons maintenant une machine à une des interface et voyons ce qui se passe…
  • 18. On voit ici que le switch a ajouté l’adresse MAC de la machine connectée à son interface Fa1/0/1 comme prévu. Et donc désormais quand il recevra une trame adressée à 0015.5d01.0e08, il la transmettra uniquement par l’interface Fa1/0/1. Que se passe-t-il quand la machine est déconnectée du switch ? (On éteint la machine ou on débranche le câble). L’interface du switch est passée de UP/UP à DOWN/DOWN(not connected), de ce fait, il supprime toutes les entrées de la table d’adresses MAC associées à cette interface. Que se passe-t-il si l’adresse MAC passe d’ine interface à une autre sans que celle-ci ne passe down/down ? Ce serait le cas si par exemple vous avez une machine connectée au réseau en WiFi et que celle-ci passe d’un point d’accès à un autre. Pour simuler cela, je vais simplement intercaler d’autres switches mais ne me concentrer que sur le changement de la table d’adresse MAC de clui qui nous concerne. Au départ nous avons par exemple ceci:
  • 19. XIX Si la machine 0015.5d01.0e00 passe sur une autre interface, voici le résultat immédiat… Comme expliqué plus tôt, le switch a détecté qu’une adresse MAC connue est maintenant associée à une autre interface, il crée donc une nouvelle entrée associée à sa Fa1/0/2 et supprime l’ancienne. On ne peut donc pas avoir la même adresse MAC associée à plusieurs interfaces. C’est toujours l’entrée la plus récente qui reste. Si ce passage a lieu trop fréquemment, cela peut être un symptôme d’une boucle entre les switches, vous verrez alors apparaître un message d’alerte de « flapping » d’une adresse MAC entre plusieurs interfaces. Il est également possible de rechercher une adresse MAC dans la table: Ou encore d’afficher les adresses MAC associées à une interface donnée:
  • 20. Ou aussi d’afficher les adresses MAC apprises dynamiquement dans un VLAN donné: Enfin, dans de rares cas, vous pourriez souhaiter ajouter manuellement une adresse MAC dans la table.. Par exemple pour ajouter l’adresse MAC 1234.5678.abcd à l’interface Fa1/0/2 dans le vlan 1: Ce qui donnera le résultat suivant: Remarque: j’ai ici profité des astuces de la ligne de commande pour filtrer la sortie du show et n’afficher que les lignes qui ne contiennent pas le mot clé « CPU ».
  • 21. XXI Et si maintenant vous voulez que les trames émises depuis une machine dont vous connaissez l’adresse MAC soient automatiquement détruites dans un VLAN donné (par exemple, les trames provenant de 1234.1234.1234 dans le VLAN1): Petite vérification d’usage… Pour terminer, vous pouvez également afficher « l’aging-time » des entrées dans la table des adresses MAC (le temps au delà duquel l’entrée est supprimée si elle n’a pas été rafraîchie, par défaut 300 secondes). Cette valeur peut également être ajustée globalement… … ou encore vlan par vlan … Le résultat: On a donc bien un aging-time global de 150 secondes, et de 100 secondes pour les entrées relatives au vlan 1.
  • 22. Routage Inter-(V)LAN : Du physique au virtuel Routage entre LANs ou routage Inter-VLAN … même combat! Pour qu’un routeur puisse router un paquet d’un domaine de diffusion à un autre il doit posséder une interface configurée dans chacun d’eux … Je vais tenter par le biais de cet article de clarifier cette notion de « routage Inter-Vlan ». Pour cela, nous allons prendre comme base un routeur connecté à deux domaines de diffusions, le Subnet A (192.168.0.0/24) et le Subnet B (192.168.1.0/24). Ceci est ce qu’on peut appeler la topologie logique. Elle reprend les subnets (domaines de diffusions) et l’équipement qui les interconnecte, le routeur. A partir de là il y a plusieurs façon de réaliser cette topologie… La methode « physique » Sans aucun doute la méthode la plus évidente. Il suffit de connecter chacune des interfaces du routeur à un switch par exemple et de lui configurer l’adresse adéquate.
  • 23. XXIII Sans aucune suprise, on constate que deux routes connectées apparaissent dans la table de routage… Avantage:  Simplicité de mise en place  Ne fait appel à aucune technologie avancée et donc peut être implémenté sur quasi n’importe quel équipement (une routeur Linux et deux switch non manageables par exemple). Inconvénient:  S’adapte difficilement à un grand nombre de subnets (il faut une interface physique par subnet)  Coût élevé en matériel, chaque subnet requiert également un switch supplémentaire. Integration des VLANs Les VLANs (Virtual LANs) permettent entre autre de diviser un même switch en plusieurs domaines de diffusions. Dans le cas présent, on recrée donc le principe précédent, à savoir deux domaines de diffusions distincts. Dans chacun de ses VLANs on place une partie des interfaces du switch, ensuite on connecte chaque interface du routeur à une interface placée dans le VLAN souhaité.
  • 24. Configuration du switch: Configuration du routeur: Résultat: Côté routeur rien ne change… (la configuration est identique)
  • 25. XXV Côté switch, les interfaces sont placées dans deux VLANs différents. Une machine connectée dans le VLAN10 ne pourra donc pas communiquer directement avec une machine du VLAN20. Elle doit passer par le routeur… comme dans la version 100% physique. Avantage:  Simplicité de mise en place côté routeur.  Il n’est plus nécessaire d’avoir un switch par subnet. Inconvénient:  S’adapte difficilement à un grand nombre de subnets (il faut une interface physique par subnet) côté routeur mais également côté switch!  Il faut utiliser un switch manageable qui supporte les VLANs Methode « Router on-a-stick » L’idée est la suivante: on veut limiter le nombre de connexions physiques et les partager entre plusieurs domaines de diffusions. Cependant côté switch, il est impossible de placer une interface dans deux VLANs … C’est là qu’intervient le concept de Trunk! Un trunk est une liaison sur laquelle les trames Ethernet sont taguées (ou encapsulée suivant le protocole utilisé). Ce tag (ou entête supplémentaire) contient entre autre l’identifiant du VLAN d’où provient la trame de sorte que l’équipement qui la reçoit puisse la réattribuer au bon domaine de diffusion. Un switch peut être configuré pour établir un trunk sur une interface … mais pas un routeur… De ce côté là, il faut respecter le principe de base … une interface par domaine de diffusion. Dés lors on fait appel à la notion de sub-interface. Pour faire simple, c’est un peu comme si on découpait l’interface physique en plusieurs morceaux. Chacun de ses morceau est ensuite configuré pour accepter les trames taguées avec un identifiant de VLAN défini.
  • 26. Configuration du switch: Configuration du routeur: Resultat: Sans la moindre surprise, le routeur dispose d’une interface dans chacun des domaines de diffusion. Toutefois, cette fois-ci il s’agit d’interface virtuelles, des subdivisions de l’interface physiques. Remarque: le nom de la sub-interface (Fa0/0.10 par exemple) n’a aucun lien avec l’identifiant du VLAN associé, c’est la commande « encapsulation dot1q xxx » qui associe le VLAN xxx à la sub-interface en question.
  • 27. XXVII Avantage:  Une seule liaison physiques pour plusieurs domaines de diffusion  Facilement extensible, il suffit de créer une nouvelle sub-interface sur le routeur et un nouveau vlan sur le switch. Inconvénient :  Tous les domaines de diffusions passent par la même liaison physique qui devient le goulot d’étranglement  Il faut faire appel à un switch manageable qui supporte les trunks dot1q et à un routeur capable de prendre en charge le protocole dot1q également. Le switch multi-layer Certainement la méthode la plus utilisée pour le routage inter-vlan. Pour simplifier à la limite de la caricature, c’est un peu comme si on installait un routeur dans un switch et qu’on les reliait en interne. Bien sur c’est plus complexe que cela, mais l’idée générale est facilement compréhensible. Un switch multi-layer est un switch (sérieux?) mais capable de faire bien plus que son job de niveau 2. Par configuration on peut y activer le routage IP ce qui le transforme en routeur potentiel. Pour la configuration, le principe d’origine reste valable, il nous faut une interface par domaine de diffusion… mais ici, vu que tout est interne au MLS (multi layer switch), on ne fait plus appel aux interfaces physiques du tout. On utilise les SVIs (Switched Virtual Interface) qui sont ni plus ni moins que les « interface VLAN ». Les portes d’accès du switch pour émettre des trames dans les différents domaines de diffusion.
  • 28. Il n’y pas grande chose à faire si ce n’est:  Créer les VLANs  Placer les interfaces du switch dans les VLANs  Activer le routage IP  Créer et configurer les SVIs Au final le MLS possède une interface dans chacun des domaines de diffusion et sa table e routage reprend les deux routes connectées. Remarque: Pour qu’une SVI soit UP/UP (et donc par conséquent que la route connectée associée apparaisse dans la table de routage, il faut qu’il y ait au moins une interface active dans le VLAN concerné (ou un Trunk qui laisse passer ce VLAN).
  • 29. XXIX Avantage:  Le routage inter-vlan n’est plus dépendant de la bande passante d’une liaison physique.  Facilement extensible, il suffit de créer un nouveau VLAN et une nouvelle SVI associée. Inconvénients:  Les MLS sont des équipements bien plus cher qu’un switch ou un routeur standard (voire même les deux rassemblés). Conclusion: Quelque soit la méthode utilisée, l’équipement en charge du routage DOIT avoir une interface connectée dans chacun des domaines de diffusion, qu’elle soit physique ou virtuelle!
  • 30. Configuration DHCP sur un routeur Cisco Le protocole DHCP (Dynamic Host Configuration Protocol) a pour fonctionnalité de fournir aux machines qui le demandent une configuration IP complète, adresse IPv4, masque de sous-réseau, passerelle par défaut, serveur dns… Cet article a pour sujet la configuration d’un routeur Cisco en serveur DHCP. Topologie de la configuration Nous allons ici réaliser la configuration de R1, routeur d’accès à internet du réseau et DHCP, routeur faisant office de serveur DHCP. Bien entendu les services DHCP auraient pu être configurés sur R1, mais pour des raisons didactiques j’ai choisi de séparer cette fonctionnalité. vous comprendre pourquoi plus tard dans l’article. La configuration ne reprendra que ce qui est relatif au DHCP, R1 est donc censé être configuré selon les besoins standards (adresses IPv4 sur les interfaces, route par défaut pointant vers ISP, et bien sûr un peu de NAT pour permettre l’accès au réseau publique). Configuration initiale Afin d’éviter de finir avec un article de plusieurs pages de long, je ne mettrai ici que la configuration nécessaire. Les paramètres par défaut ne sont pas inclus.
  • 31. XXXI Sur ISP Sur R1 Sur DHCP Attention, la route par défaut sur DHCP est nécessaire pour la suite de la configuration, j’en toucherai un mot plus loin.
  • 32. Piqure de rappel Le protocol DHCP est véhiculé directement dans une trame. De plus la machine qui émet une requête DHCP, n’ayant encore aucune identité (adresse IPv4 etc) n’a d’autre possibilité que de communiquer par broadcast. Cela signifie donc que la requête DHCP émise par cette machine est une trame broadcast. Cela peut paraître sans importance, mais il ne faut pas oublier qu’un broadcast est confiné dans son domaine de diffusion, autrement dit, il ne dépasse pas un routeur. Hors, ici, entre le serveur DHCP et le LAN1 il y a R1… un routeur! Nous devrons donc par la suite s’assurer que R1 soit configuré pour relayer la requête DHCP à destination du serveur DHCP. Methode de configuration Afin que DHCP puisse distribuer des adresses à la fois dans le LAN1 et dans le LAN2 nous allons devoir configurer les points suivants:  Exclure les adresses qu’on souhait ne pas distribuer (celle de la passerelle, ou de machines ayant des adresses fixes)  Pour chaque LAN configurer un pool DHCP dans lequel on spécifiera les options (passerelle, serveur dns, adresse réseau, …)  Configurer le relai DHCP pour le LAN1, sur R1. La configuration La bonne pratique veut que l’on configure le serveur DHCP dans un ordre qui peut paraître illogique au premier abord. Ce qu’il faut savoir, c’est qu’une fois le pool DHCP configuré, le routeur va commencer à attribuer des adresses. Il est donc conseillé de configurer en premiers les options (adresses à exclure paramètres du pool… le tout avant de définir la plage d’adresse à prendre en charge), sans quoi il se pourrait que les premières configurations reçues par les machines soient incomplètes. Commençons par le routeur DHCP… Exclusion des adresses nécessaires (adresse des passerelles, du serveur DHCP, …) ici nous allons exclure les dix premières de chaque LAN (choix arbitraire). Attention dans la définition des adresses à exclure, la première adresse donne le début de la plage et la deuxième la fin de la plage à exclure. Si vous ne souhaitez qu’exclure une adresse, il suffit de ne pas donner d’adresse de fin.
  • 33. XXXIII Configurons maintenant le pool DHCP pour la LAN1… On a donc créé ici un pool DHCP nommé LAN1, dans lequelles les machines recevront comme passerelle par défaut 192.168.0.1 (l’adresse de R1 dans le LAN1), un serveur DNS 8.8.8.8 (totalement fictif ici, mais il me semblait indispensable de montrer comment le configurer)… et cette configuration sera valable pour le réseau 192.168.0.0/24 (plage d’adresse à distribuer de laquelle il faut soustraire les adresses précédemment exclues). Faison de même pour le LAN2… A présent les machnes du LAN2 doivent recevoir leur configuration correctement étant donné que le serveur DHCP est dans le même domaine de diffusion qu’elles. Vérifions sur C2… Le serveur DHCP devrait également avoir gardé ce bail DHCP en mémoire… Par contre … impossible pour C1 de recevoir sa configuration …
  • 34. En effet, lorsque R1 reçoit la tramme de broadcast contenant la requête DHCP de C1, vu qu’il ne sait rien en faire, il la « jette » purement et simplement. Il nous faut configurer le relai des trames DHCP vers le serveur DHCP. Pour cela nous devons dire explicitement à R1 de relayer ces trames à 192.168.1.5 (le serveur DHCP) lorsqu’elles entrent sur son interface Fa0/0. Voici la manipulation: Notez que la commande « ip helper-address » a plus d’utilité que le simple relai des requêtes DHCP. Elle sert à relayer les broadcasts UDP de plusieurs protocoles (DHCP, NTP, Netbios…). A présent C1 peut aussi obtenir sa configuration par DHCP DHCP doit également avoir retenu les informations concernant ce bail DHCP… Quelques explications complementaires… Comment fait DHCP pour savoir dans quel pool d’adresse il doit piocher en réponse à une requête venant du LAN1 ou du LAN2 ? Dans le cas du LAN2, la requête arrive sous forme de broadcast, sur l’interface ethernet de DHCP, il lui suffit alors de fournir une configuration pour une machine dansle même domaine de diffusion que lui, donc le pool LAN2. Par contre dans le cas du LAN1, la requête arrive à DHCP sous forme d’unicast, car elle est relayée par R1. R1 a en réalité, construit un paquet unicast, avec comme adresse source celle de son interface dans le LAN1 et comme destination celle du serveur DHCP.
  • 35. XXXV Dés lors quand DHCP reçoit la requête unicast, il propose une adresse provenant du pool dont la plage d’adresse correspond à celle configurée sur l’interface Fa0/0 de R1. Quelques parametres en plus… Bien entendu la configuration du DHCP ne se limite pas à une adresse, un masque, une passerelle et un serveur DNS. Voici quelques autres paramètres configurables… Définir le nom de domaine qui sera associé à l’interface recevant la configuration… Configurer la durée du bail DHCP… Le format est « lease <jours> <heures> <minutes> ». On peut également défini un bail illimité en utilisant « lease infinite ». Il est également possible de configurer des options « brutes ». Ce sont des paramètres n’ayant pas de nom spécifiques. Mais la syntaxe varie en fonction des données à fournir. Par exemple, si on doit renseigner une adresse de serveur TFTP pour qu’une machine puisse y récupérer une image de démarrage (c’est le cas dans avec les systèmes de déploiement réseau), il faut indiquer l’option 150, avec comme paramètre l’adresse ip du serveur TFTP. DHCP(dhcp-config)#option 150 ip 192.168.1.50
  • 36. Encore une vérification… Nous avons vu précédemment la commande « show ip dhcp binding » qui affiche la liste des baux en cours. Il est aussi possible d’afficher les pools DHCP et leurs statistiques… Configuration du NAT sur un Routeur Cisco Quand il s’agit d’interconnecter un réseau privé (que ce soit d’entreprise ou particulier), en IPv4, il est pratiquement impossible de se passer du NAT. Voici donc une configuration qui reprend l’essentiel des trois principaux types de NAT que l’on peut configurer, à savoir:  Le NAT statique  Le NAT dynamique avec pool d’adresses  Le NAT dynamique avec surcharge (NAT overload, aussi connu sous le nom de PAT) Topologie du labo
  • 37. XXXVII Le labo est divisé en deux parties, le côté privé (réseau de l’entreprise) et le côté publique (le FAI et Internet). le routeur ISP (qui représente le FAI), n’a aucune connaissance des réseaux privés de l’entreprise et ne peut donc rien router à destination des réseaux 192.168.x.x. (comme défini dans la RFC1918). Ces adresses sont réservées pour l’utilisation dans les réseaux privés. Il en va de même pour toutes les adresses faisant parties des plages suivantes:  10.0.0.0/8 (de 10.0.0.0 à 10.255.255.255)  172.16.0.0/12 (de 172.16.0.0 à 172.31.255.255)  192.168.0.0/16 (de 192.168.0.0 à 192.168.255.255) Dès lors, nous allons configurer le NAT afin de permettre un accès à Internet (simulé par l’adresse 8.8.8.8/32 configurée sur une interface loopback de ISP):  Le réseau 192.168.0.0/24 utilisera du NAT dynamique avec surcharge.  Le réseau 192.168.1.0/24 utilisera du NAT avec pool d’adresse.  La machine 192.168.1.100 sera accessible depuis le réseau publique grâce à une configuration de NAT statique. Configuration de la topologie de base Sur ISP: Configuration de l’interface loopback Configuration de la liaison sérielle vers R1 Configuration de la route vers le pool d’adresses publique
  • 38. Sur R1 Configuration de l’interface sérielle vers ISP Configuration de l’interface du LAN1 Configuration de l’interface du LAN2 Configuration de la route par défaut Pour le moment il est possible d’effectuer les tests suivants:  Effectuer un ping depuis chaque PC vers R1  Effectuer un ping entre les PCs de LAN différent  Effectuer un ping depuis R1 vers 8.8.8.8 Test de C1 à R1
  • 39. XXXIX Test de C1 à C2 Test de R1 à 8.8.8.8 Par contre impossible par exemple pour C1 de communiquer avec 8.8.8.8 Configuration commune a tout type de NAT La première chose à faire lorsque l’on configure du NAT, quel qu’en soit le type, c’est d’indiquer au routeur où se situe le réseau privé et où se situe le réseau publique. Le NAT ne prend effet que lorsque qu’un paquet est routé d’une interface « inside » (côté privé) vers une interface « outside » (côté publique) et vice-versa. Dans notre cas, les interfaces Fa0/0 et Fa0/1 sont du côté privé et seront déclarées comme « inside », l’interface S0/0 par contre, étant du côté publique, sera configurée comme « outside ».
  • 40. Configuration du NAT statique pour C3 Ce que nous allons configurer ici c’est une translation statique dans la table de translation NAT, ce qu’on appelle vulgairement sur du matériel domestique « ouvrir un port ». Nous allons explicitement indiquer au routeur que ce qui arrive sur son interface publique (S0/0) et dont l’adresse destination est 201.49.10.30 (une des adresse du pool publique) doit être redirigé vers 192.168.1.100. Du point de vue du routeur cela revient à modifier l’adresse IP destionation dans l’en-tête IPv4 avant de router le paquet. Cela signifie aussi que si C3 envoi un paquet vers internet, à la sortie de S0/0 de R1 l’adresse source (192.168.1.100) sera remplacée par l’adresse indiquée dans la translation, soit 201.49.10.30. La table de translations NAT doit mainentant ressembler à ceci: A présent C3 doit pouvoir communiquer avec le réseau publique Chaque paquet a donc été translaté, preuve en est la table de translations juste après l’émission de ces pings:
  • 41. XLI On peut observer le résultat de la translation du côté de ISP aussi à l’aide de la commande « debug ip packet » qui va afficher le détail de chaque paquet IP traité par le routeur (Attention, dans un environnement réel cette commande peut gravement saturer le routeur). Configuration du NAT avec pool d’adresses Pour l’instant seul C3 a accès au réseau publique, nous allons maintenant configurer un autre type de NAT pour le réseau 192.168.1.0/24 (à l’exception de C3). Ici, au lieu de configurer une translation statique, nous allons donner au routeur une plage d’adresses publiques (un pool d’adresse) dans laquelle il peut piocher pour créer dynamiquement les translations. Tout d’abord créons le pool d’adresses Ici on crée donc une plage d’adresse nommée POOL-NAT-LAN2 allant de 201.49.10.17 à 201.49.10.30. Il nous faut ensuite définir quelles adresses IP sources seront susceptibles d’êtres translatées … pour cela il faut créer une ACL.
  • 42. On autorise donc à être translatées les adresses ip du réseau 192.168.1.0/24 sauf 192.168.1.100 (pour laquelle on a déjà une translation statique). Il ne reste plus qu’à configurer le NAT en lui même On instruit donc ici le routeur de créer dynamiquement une translation pour les paquets arrivant sur une interface « inside » routés par une interface « outside » dont l’adresse IP source correspond à l’ACL 1 et de remplacer l’IP source par une de celles comprises dans le pool POOL-NAT-LAN2. Attention, si il y a plus de machine dans le réseau privé que d’adresses publiques disponibles, il faut alors rajouter le mot clé « overload » à la commande: Ceci permet de « partager » les adresses publiques en translatant également les numéros de ports dans l’entête de la couche transport (méthode communément appelée PAT). A présent C2 (et les autres machines qui seraient dans le réseau 192.168.1.0/24) peuvent communiquer avec l’extérieur. La table de translation de R1 a maintenant une nouvelle entrée crée dynamiquement, mais qui réserve l’adresse publique pour C2 (tant que l’on ne purge pas la table NAT).
  • 43. XLIII Configuration du NAT dynamique avec surcharge (sans pool) Il reste encore à configurer R2 pour que le réseau 192.168.0.0/24 puisse accéder à l’extérieur. Pour cela nous allons configurer le troisième type de NAT, à savoir du NAT dynamique avec surcharge (overload) en utilisant l’adresse publique configurée sur l’interface S0/0 de R1. Notez que c’est la configuration la plus courante dans un réseau modeste (par exemple dans un réseau domestique). Cette méthode ne requiert pas d’obtenir de nouvelles adresses publiques auprès du provider. Nous devons cette fois aussi identifier les adresses sources à faire passer par le NAT, donc nous créons une nouvelle ACL. Il ne reste plus qu’à configurer le NAT. Nous disons ici au routeur de translater les paquets provenant des adresses décrites dans l’ACL 2 (192.168.0.0/24) et de remplacer l’adresse IP source par celle configurée sur l’interface Serial 0/0 en la surchargeant pour permettre à plus d’une machine de communiquer avec l’extérieur (PAT). C1 (ainsi que toute machine de ce réseau) peut communiquer avec l’extérieur désormais
  • 44. Le « debug ip packets » sur ISP donne le résultat suivant On voit là que c’est bien l’adresse de S0/0 qui est utilisé pour remplacer l’IP source du paquet.