TP 8-9 Réseaux Administration d un réseau local C. Pain-Barre, A. Meyer et F. Dumas INFO - IUT Aix-en-Provence version du 3/5/2011 Manipulez le matériel avec la plus grande précaution! Ne tirez pas sur les prises! Au moins 15 minutes avant la fin de la séance, procédez à la remise en état du matériel : sauver une copie de votre running-config et l ajouter à votre rapport dans une partie intitulée «configuration de fin de séance» créer une archive de ce que vous devez remettre à votre enseignant copier votre travail sur clé USB restaurer sur le routeur la configuration startup-config.defaut puis la supprimer débrancher le matériel et le remettre à sa place (routeurs, hubs/switch, câbles, etc.). Les câbles et cordons doivent être correctement enroulés et attachés rebrancher le PC A sur le réseau du département et remettre les routes en exécutant $ sudo reroute et vérifier que les routes ont été remises avec /sbin/route -n éteindre proprement les PC et procéder à la restauration de Linux sur le PC A Dans ce sujet, il sera souvent fait référence au document de préparation du TP, qu on appellera DP. Reportez-vous aux sections concernées lorsque c est précisé. Table des matières I Installation 4 I.1 Préparation des PC...................................... 5 I.1.A Groupe dialout et port série.............................. 5 Exercice 1........................................ 5 I.1.B Création du rapport.................................. 5 Exercice 2........................................ 5 I.2 Préparation du PC A...................................... 6 I.2.A Démontage de net-home............................... 6 I.2.B Lancement de la machine virtuelle.......................... 6 Exercice 3........................................ 6 I.2.C Suppression des routes et débranchement du réseau............... 6 Exercice 4........................................ 7 I.3 Matériel............................................. 7 Exercice 5............................................ 7 INFO - IUT Aix-en-Provence C. Pain-Barre, A. Meyer et F. Dumas, 2010
TP 8-9 Réseaux Version du 3/5/2011 2/54 II Familiarisation avec le routeur 8 II.1 Utilisation de la console.................................... 8 II.1.A Liaison série PC - routeur............................... 8 II.1.B Minicom pour émuler la console........................... 8 II.2 Utilisation des aides à la saisie................................ 10 III Contrôle du routeur et configurations élémentaires 11 III.1 Relevé d informations principales sur le routeur....................... 11 Exercice 6............................................ 12 III.2 Prise de contrôle du routeur.................................. 12 Exercice 7............................................ 13 III.3 Relevé d informations complémentaires........................... 17 III.3.A Les espaces de stockage............................... 17 Exercice 8........................................ 17 III.3.B Information sur les interfaces réseau......................... 18 Exercice 9........................................ 19 III.4 Configurations élémentaires du routeur........................... 20 III.4.A Protection du mode privilégié par un mot de passe................. 20 Exercice 10....................................... 20 III.4.B Désactivation de services et interfaces inutiles................... 21 Exercice 11....................................... 22 III.4.C Changer le nom du routeur.............................. 22 Exercice 12....................................... 22 IV Conception Réseau 23 Exercice 13.............................................. 23 V Configurations Réseau 23 V.1 Interface WAN du routeur................................... 23 Exercice 14........................................... 27 V.2 Interfaces du réseau local................................... 28 V.2.A Interface LAN du routeur............................... 28 Exercice 15....................................... 28 V.2.B Interface LAN du PC A................................. 28 Exercice 16....................................... 29 V.3 Sauvegarde de la configuration par TFTP.......................... 29 Exercice 17........................................... 29 V.4 Accès à la CLI par TELNET.................................. 30 Exercice 18........................................... 30 V.5 Accès à l interface Web du routeur.............................. 30 Exercice 19........................................... 31 V.6 Configuration du routage et du DNS sur le routeur..................... 31 Exercice 20........................................... 32 Exercice 21........................................... 32 V.7 Configuration du routage et du DNS sur le PC A...................... 33 Exercice 22........................................... 33 V.8 Configuration du service DHCP sur le routeur........................ 33 V.8.A Configuration de l allocation dynamique....................... 33 Exercice 23....................................... 35 V.8.B Configuration de l allocation statique......................... 36 Exercice 24....................................... 36 C. Pain-Barre, A. Meyer et F. Dumas, 2010 INFO - IUT Aix-en-Provence
3/54 Version du 3/5/2011 TP 8-9 Réseaux VI Configuration du NAT/PAT 37 VI.1 Le PAT sur le routeur d accès vers Internet......................... 37 VI.2 Principes et terminologie du NAT............................... 39 VI.2.A Traductions inside et outside............................. 41 VI.2.B Variantes du NAT.................................... 42 VI.3 Configuration du PAT dynamique............................... 43 Exercice 25........................................... 44 VI.4 Fonctionnement de la traduction dynamique PAT...................... 45 VI.4.A Initiation d une traduction dynamique PAT...................... 45 VI.4.B Traduction dynamique PAT des messages sortants................. 46 VI.4.C Traduction dynamique PAT des messages entrants................. 48 VI.4.D Table de traduction : mise à jour et gestion..................... 48 Exercice 26....................................... 49 VI.4.E Interactions entre le NAT et les autres protocoles.................. 50 Exercice 27....................................... 51 VI.5 PAT statique pour la redirection de port des connexions entrantes............. 51 Exercice 28........................................... 52 VII Annexe 53 VII.1 Message ICMP de test d accessibilité et d état (PING)................... 53 VIIIVue d ensemble de la salle de TP 54 INFO - IUT Aix-en-Provence C. Pain-Barre, A. Meyer et F. Dumas, 2010
TP 8-9 Réseaux Version du 3/5/2011 4/54 I Installation Installez-vous à la place que vous a communiquée votre enseignant. Retenez bien votre numéro de binôme. Vous disposez de 2 PC. En choisir un comme PC A qui sera utilisé plus tard en mettant en place le réseau local. L autre le PC B va servir dès le début pour contrôler le routeur. réseau Ethernet d accès vers Internet d adresse 10.0.0.0/8 et commun à tous les binômes 10.255.255.254 réseau local Ethernet du binôme x routeur (NAT/PAT) d accès vers Internet 139.124.187.94 d adresse 192.168.x.0/24 Hub ou Switch IP LAN IP WAN routeur du binôme port console (RJ 45)...... câble "console" (liaison série) routeurs des réseaux des autres binômes PC à connecter au réseau local du binôme A B port série RS232 (DB 9) PC pour administrer le routeur réseau Ethernet du Département Informatique d adresse 139.124.187.0/24 Environnement de travail du binôme x 139.124.187.1 routeur de l IUT Internet FIGURE 1 Environnement de travail du binôme x Se reporter au schéma global du réseau de la figure 3 page 54 afin de situer votre environnement de travail dans la salle de TP. C. Pain-Barre, A. Meyer et F. Dumas, 2010 INFO - IUT Aix-en-Provence
5/54 Version du 3/5/2011 TP 8-9 Réseaux I.1 Préparation des PC I.1.A Groupe dialout et port série Ceci est toujours à faire en début de séance, avant d ouvrir une session graphique sous Linux sur les deux PC. Nous avons besoin d utiliser le port série du PC B afin de "discuter" avec le routeur via son port console. Sous Linux, il faut faire partie du groupe dialout pour pouvoir utiliser le port série. Vous ne faites pas partie de ce groupe mais vous allez pouvoir vous y ajouter en suivant la procédure de l exercice qui suit. Même si le PC A n est pas destiné à la même chose, il fera tourner une machine virtuelle configurée pour utiliser le port série. C est pourquoi il faut aussi réaliser cette opération sur le PC A. Exercice 1 (ajout dans dialout) Sur les 2 PC, suivre la procédure suivante pour s ajouter dans le groupe dialout avant de démarrer une session graphique : 1. Démarrer le PC sous Linux 2. Une fois l invite graphique d authentification affichée, taper Ctrl + Alt + F1 pour afficher le terminal 1 (mode texte) 3. Se loger 4. Sur l invite de commandes, taper : $ sudo addme et taper votre mot de passe si cela vous est demandé. En retour, un message indiquant vous avez été ajouté dans le groupe dialout devrait être affiché, ce qui est nécessaire pour utiliser le port série sous Linux ; 5. Taper : $ exit afin de terminer votre session texte ; 6. Taper Ctrl + Alt + F7 pour revenir au terminal graphique ; 7. Ouvrir une session graphique. I.1.B Création du rapport Exercice 2 Sur le PC B, ouvrir OpenOffice Writer et commencer la rédaction de votre rapport en faisant figurer vos noms, prénoms, numéro de groupe et de binôme. L enregistrer sous le nom Nom1_Nom2.odt où Nom1 et Nom2 sont vos noms. Dans l énoncé, l icône précise les informations à rendre, soit dans le rapport, soit dans un fichier séparé. INFO - IUT Aix-en-Provence C. Pain-Barre, A. Meyer et F. Dumas, 2010
TP 8-9 Réseaux Version du 3/5/2011 6/54 I.2 Préparation du PC A Sur le PC A, assurez-vous d appartenir au groupe dialout en tapant la commande id sur un terminal. Si vous n en faites pas partie, fermer la session graphique et reprendre l exercice 1. Le PC A va être déconnecté du réseau de l IUT pour être raccordé à votre LAN. Mais avant, il faut prendre un minimum de précautions. Dans un premier temps, il faut être logé graphiquement. I.2.A Démontage de net-home Comme vous le savez, votre répertoire net-home est un montage SAMBA de votre répertoire personnel sur allegro. Vous n y aurez plus accès une fois le PC débranché du réseau. Afin de ne pas couper brutalement ce montage, le désactiver en tapant : $ sudo nonet-home Vérifier en tapant : $ ls ~/net-home qui ne doit rien afficher. I.2.B Lancement de la machine virtuelle Sur la session, vous êtes un utilisateur normal comme d habitude. Nous allons utiliser VirtualBox afin d exécuter une machine virtuelle Linux, sous laquelle vous serez root. Dans cette machine virtuelle, vous pourrez utiliser toutes les commandes d administration nécessaires pour intégrer le PC de la machine virtuelle sur votre réseau. Pour simplifier, on gardera comme nom PC A pour la machine virtuelle. La version actuellement installée de VirtualBox ne permet pas l utilisation de périphériques USB. Pour sauvegarder des fichiers de la machine virtuelle, il faudra utiliser le partage de fichiers entre le système hôte et invité (voir DP, section 5.IV, page 25). Exercice 3 (Lancement de la machine virtuelle sur le PC A) Se reporter à DP, section 5.I, page 23 et : 1. Exécuter le script NewDebian.sh de création/lancement de la machine virtuelle puis : a. accepter la licence b. cliquer Ok sur la fenêtre d information sur la capture du clavier et de la souris c. le système démarre sous Linux Debian/Lenny 2. Quelle adresse MAC a été donnée à la carte réseau de votre machine virtuelle? 3. Sur la machine virtuelle, se loger graphiquement en tant que root (mot de passe <re>zo++). Cliquer sur Suivant au message d avertissement. I.2.C Suppression des routes et débranchement du réseau Avant de débrancher le PC A du réseau, on va supprimer les routes connues du système hôte, afin qu aucune trame provenant de ce dernier ne soit émise. Seul le système invité (la machine virtuelle) sera ensuite en mesure d utiliser le réseau. C. Pain-Barre, A. Meyer et F. Dumas, 2010 INFO - IUT Aix-en-Provence
7/54 Version du 3/5/2011 TP 8-9 Réseaux Exercice 4 (arrêt réseau du système hôte) 1. Dans un terminal du système hôte, taper la commande suivante : $ sudo noroute 2. Vérifier la suppression en tapant : $ /sbin/route -n Table de routage IP du noyau Destination Passerelle Genmask Indic Metric Ref Use Iface $ où aucune route ne doit apparaître 3. Débrancher le câble réseau À la fin de la séance, vous devrez remettre en ordre le PC A c est-à-dire : 1. arrêter la machine virtuelle 2. rebrancher le câble réseau du Département Informatique 3. remettre les routes sur le système hôte en tapant : $ sudo reroute et vérifier que les routes ont été ajoutées avec /sbin/route -n 4. éteindre proprement le PC 5. le rallumer et restaurer l image linux (choix 4 du menu de démarrage) 6. et enfin, l éteindre ainsi que l écran. I.3 Matériel Exercice 5 (checklist) Se munir du matériel nécessaire avec précaution : 1 routeur CISCO parmi les séries 1700, 2500 et 2600 uniquement pour le binôme ayant le routeur 2514 : 2 transceivers 10Base-T pour ports AUI 1 câble console DB-9/RJ-45 pour connecter le port série du PC B au port console du routeur 1 câble Ethernet de catégorie 6 assez long pour connecter le routeur au réseau commun à tous les binômes 1 Hub (ou Switch) 8, 16, 24 ou 32 ports au minimum 2 câbles Ethernet de catégorie 6 pour connecter votre routeur et le PC A au Hub/Switch 1 rallonge électrique multi-prises (déjà branchée) INFO - IUT Aix-en-Provence C. Pain-Barre, A. Meyer et F. Dumas, 2010
TP 8-9 Réseaux Version du 3/5/2011 8/54 Puis continuer la rédaction du rapport en répondant aux question suivantes : 1. Inspecter le routeur et indiquer : a. le code d identification figurant sur l étiquette de sa face avant (à gauche) Retenez ce code. Il vous permettra de retrouver le même routeur à la séance suivante, ce qui devrait faciliter son démarrage... b. sa série et son modèle c. le nom de ses ports et interfaces réseaux d origine. Ils sont généralement écrits en couleur et cerclés. Si le routeur possède des slots d extension, préciser, pour chaque slot : i. son type (NM ou WIC) ii. pour le type WIC, préciser le code identifiant son emplacement. Par exemple, W0 ou WIC 0 désignent le premier emplacement, W1 ou WIC 1, le second, etc. iii. s il est occupé ou non. S il est occupé, indiquer le nom de la carte ainsi que le nom des interfaces qu elle fournit. 2. Inspecter le hub ou le switch et indiquer : a. sa marque b. son modèle c. son nombre de ports Ethernet RJ-45, et éventuellement d autres types de ports Ethernet d. si c est indiqué, le type de ces interfaces Ethernet (10Base-T,...) II Familiarisation avec le routeur II.1 Utilisation de la console Nous allons procéder à la mise en place de la console, à partir de laquelle nous pourrons prendre le contrôle du routeur. II.1.A Liaison série PC - routeur Se référer à DP, section 4.I, page 19 pour procéder au câblage de la liaison série entre le PC B et le port console du routeur : II.1.B Minicom pour émuler la console Se référer à DP, section 4.II, page 20, concernant minicom, son paramétrage et son utilisation, et réaliser les étapes suivantes pour accéder à la console : C. Pain-Barre, A. Meyer et F. Dumas, 2010 INFO - IUT Aix-en-Provence
9/54 Version du 3/5/2011 TP 8-9 Réseaux 1. Dans une fenêtre terminal sur le PC B, lancer minicom dans son mode de configuration : $ minicom -s 2. Un menu s affiche. Utiliser les flèches pour choisir "Configurer le port série" : 3. Le sous-menu affiché résume les paramètres actuels dont certains doivent être modifiés : 4. Taper A pour modifier le port série (voir DP, section 4.II.A, page 20), puis valider le changement par Entrée 5. Taper E pour modifier les paramètres de communication. Le sous-menu correspondant devrait être : Modifier les paramètres pour obtenir 9600 8N1. Valider les changements en tapant Entrée 6. Taper à nouveau Entrée pour revenir au menu principal, puis choisir "Enregistrer config. sous dfl" afin de sauver la configuration 7. Puis, choisir "Sortir de minicom" afin de revenir au shell 8. Relancer minicom mais cette fois comme émulateur de terminal en tapant : $ minicom -o INFO - IUT Aix-en-Provence C. Pain-Barre, A. Meyer et F. Dumas, 2010
TP 8-9 Réseaux Version du 3/5/2011 10/54 9. Démarrer le routeur. Les premiers messages du routeur devraient apparaître (voir DP, section 4.II.B, page 21) 10. Attendre que le routeur affiche le prompt (tel que Router> ou 2600-2>) ou un message vous invitant à taper sur Entrée (auquel cas, taper Entrée pour afficher le prompt). À ce stade, vous êtes en mode utilisateur (user mode) ; 11. Tenter d entrer en mode privilégié (enable mode). Le résultat doit être similaire à celui-ci : Router>enable Password: Password: Password: % Bad secrets Router> L entrée en mode privilégié devrait échouer (sinon, le routeur a une mauvaise configuration). Si elle réussit, taper exit pour revenir au mode utilisateur, et continuer comme si vous n aviez pas accès au mode privilégié. II.2 Utilisation des aides à la saisie La console étant opérationnelle, on va se familiariser avec la CLI et son aide intégrée qui est aussi disponible en mode utilisateur. Se référer à DP, section 3.IV, page 16 pour la pagination et section 3.V, page 16 pour les différentes aides manipulées ci-après : 1. Sur la CLI, taper : Routeur>? pour afficher la liste des commandes disponibles en mode utilisateur. Comme il y en a de nombreuses, cette liste est paginée. 2. Puis taper : Routeur>sh Tabulation pour faire compléter sh en show 3. Puis taper : Router>show? Pour voir les paramètres que prend la commande show. À nouveau, la liste est longue et paginée 4. Puis taper : Router>show v? Pour voir les paramètres commençant par v que prend show 5. Continuer la commande ainsi : Router>show ve? qui devrait afficher les possibilités restantes. Parmi elles, il y a <cr> qui indique qu on peut terminer la commande. Il y a aussi le pipe qui permet de filtrer l affichage C. Pain-Barre, A. Meyer et F. Dumas, 2010 INFO - IUT Aix-en-Provence
11/54 Version du 3/5/2011 TP 8-9 Réseaux 6. Exécuter Router>show ve pour faire afficher les informations sur le routeur 7. Rappeler la commande avec la flèche du haut puis essayez de la continuer avec le pipe pour ne faire afficher que les lignes contenant Boot 8. Procéder de la même façon pour connaître les utilisations possibles des commandes traceroute et telnet. III III.1 Contrôle du routeur et configurations élémentaires Relevé d informations principales sur le routeur Avant de prendre le contrôle du routeur, vous allez d abord en relever les caractéristiques principales matérielles et logicielles. La commande show version (disponible dans les modes utilisateur et privilégié) permet de les afficher. L affichage obtenu est paginé. Exemple Voici le résultat de la commande show version exécutée sur un routeur : Router>show version Cisco Internetwork Operating System Software IOS (tm) C2600 Software (C2600-I-M), Version 12.2(28), RELEASE SOFTWARE (fc5) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2005 by cisco Systems, Inc. Compiled Wed 27-Apr-04 19:01 by miwang Image text-base: 0x8000808C, data-base: 0x80A1FECC ROM: System Bootstrap, Version 12.1(3r)T2, RELEASE SOFTWARE (fc1) Copyright (c) 2000 by cisco Systems, Inc. ROM: C2600 Software (C2600-I-M), Version 12.2(28), RELEASE SOFTWARE (fc5) System returned to ROM by reload System image file is "flash:c2600-i-mz.122-28.bin" cisco 2620 (MPC860) processor (revision 0x200) with 60416K/5120K bytes of memory Processor board ID JAD05190MTZ (4292891495) M860 processor: part number 0, mask 49 Bridging software. X.25 software, Version 3.0.0. 1 Ethernet/IEEE 802.3 interface(s) 1 FastEthernet/IEEE 802.3 interface(s) 1 Low-speed serial(sync/async) network interface(s) 32K bytes of non-volatile configuration memory. 16384K bytes of processor board System flash (Read/Write) Configuration register is 0x2102 Les informations mises en évidence par les cadres, en commençant en haut, sont : INFO - IUT Aix-en-Provence C. Pain-Barre, A. Meyer et F. Dumas, 2010
TP 8-9 Réseaux Version du 3/5/2011 12/54 La version de l IOS : ici, c est la 12.2(28) pour la série 2600 (indiqué par c2600) La localisation de l image de l IOS chargé : ici, le fichier c2600-i-mz.122-28.bin de la flash Type et modèle du matériel et la taille de mémoire vive (RAM) installée : ici, c est un 2620 utilisant un processeur MPC860 et possédant 65 536 Ko de RAM (60 416 Ko libres et 5 120 Ko utilisés), soit 64 Mo Les interfaces réseaux reconnues par le routeur : ici, il y a une interface Ethernet, une FastEthernet et une interface série La taille de la NVRAM : ici, elle est de 32 Ko La taille de la carte flash : ici, elle fait 16 384 Ko et, pour finir, la valeur du registre de configuration CISCO travaille continuellement pour améliorer son IOS, y ajouter de nouvelles fonctionnalités et corriger des bugs. Par exemple, pour les seuls routeurs de la gamme 2501-2525 le nombre de versions d IOS disponibles a fini par dépasser les 6000! Pour un routeur donné, l administrateur choisit l IOS en fonction de différents paramètres : les fonctionnalités voulues, la taille de la carte flash et la taille de la RAM. Pour trouver l image IOS adéquate, l administrateur CISCO peut employer le CISCO Feature Navigator sur le site web de CISCO (http://tools.cisco.com/itdit/cfn/jsp/index.jsp). Exercice 6 (informations principales sur le routeur) Utiliser show version sur la CLI pour déterminer : 1. la version de l IOS 2. le nom de fichier de l image IOS 3. le type exact de votre routeur (dans la série CISCO 1700, 2500 ou 2600) 4. les interfaces reconnues 5. la taille de la RAM 6. la taille de la Flash 7. la valeur du registre de configuration (de la forme 0xvaleur-en-hexa). Nous aurons besoin de cette valeur par la suite. III.2 Prise de contrôle du routeur Le routeur que vous devez gérer a déjà une configuration. Vous avez dû en effet constater que l accès au mode privilégié est protégé par un mot de passe. Le mot de passe fait partie de la configuration : il est enregistré (de façon chiffrée) dans le fichier startup-config. Nous allons écraser ce fichier de façon à démarrer avec une configuration vierge, sans mot de passe. i La procédure de récupération d un mot de passe est généralement décrite dans le chapitre Recovering a Lost Enable Password 1 du manuel qui accompagne le matériel CISCO. En principe, l objectif de cette procédure est de conserver la configuration actuelle du routeur tout en réinitialisant le mot de passe. C. Pain-Barre, A. Meyer et F. Dumas, 2010 INFO - IUT Aix-en-Provence
13/54 Version du 3/5/2011 TP 8-9 Réseaux Dans les grandes lignes, cette procédure est la suivante (ne pas la suivre pour le moment) : 1. démarrer en mode monitoring de la ROM afin de changer la valeur du registre de configuration pour ignorer la startup-config au démarrage ; 2. redémarrer le routeur et laisser l IOS se charger jusqu à obtenir le prompt de la CLI 3. entrer en mode privilégié : la startup-config ayant été ignorée, la running-config (configuration courante) est vierge, sans mot de passe 4. copier la startup-config dans la running-config. Le routeur a maintenant comme configuration courante, celle qu il aurait eu s il n avait pas ignoré la startup-config. La différence est que l on se trouve en mode privilégié, ce qui aurait nécessité de connaître le mot de passe ; 5. changer le mot de passe 6. copier la running-config dans la startup-config. On aura donc simplement changé le mot de passe. 7. modifier le registre de configuration pour démarrer en prenant en compte la startup-config 8. redémarrer le routeur Dans notre cas, nous ne souhaitons pas conserver la configuration du routeur. Nous en ferons cependant une sauvegarde en NVRAM dans le fichier startup-config.defaut. Elle sera utilisée en fin de séance pour remettre en état le routeur. Pour cela, il suffit de remplacer les points 4 et 5 par une sauvegarde de la startup-config. Exercice 7 (réinitialisation du routeur) Nous avons besoin de la valeur du registre de configuration (0xvaleur-en-hexa) relevée précédemment. Assurez-vous de l avoir fait. Cette partie est très délicate. La moindre erreur peut rendre le routeur HS! Faîtes surtout attention lorsque vous modifiez la valeur du registre de configuration (taper lentement, ne pas copier-coller) et dans les noms des fichiers que vous copiez (un mauvais nom et la copie risque d écraser la flash). 1. Entrée en mode monitoring de la ROM et modification du registre de configuration a. Sans quitter minicom, éteindre le routeur et attendre quelques secondes b. Le rallumer et, sur la fenêtre minicom, dès que le routeur affiche : System Bootstrap, Version... taper Ctrl + A puis F pour envoyer un break. Répéter plusieurs fois cette séquence pour être sûr que le routeur reçoive le break au bon moment. Le routeur démarre alors en mode monitoring de la ROM. En fonction du modèle de routeur, différentes invites sont possibles (rommon 1 >, rom 1 > ou simplement >) : 1. http://www.cisco.com/en/us/products/hw/routers/ps221/products_password_ recovery09186a0080094773.shtml INFO - IUT Aix-en-Provence C. Pain-Barre, A. Meyer et F. Dumas, 2010
TP 8-9 Réseaux Version du 3/5/2011 14/54 System Bootstrap, Version 12.2(7r)XM2, RELEASE SOFTWARE (fc1) TAC Support: http://www.cisco.com/tac Copyright (c) 2003 by cisco Systems, Inc. PC = 0xfff0c93c, Vector = 0x500, SP = 0xff0027a0 PC = 0xfff0c93c, Vector = 0x500, SP = 0xff002780 C1700 platform with 65536 Kbytes of main memory PC = 0xfff0c93c, Vector = 0x500, SP = 0x8000486c monitor: command "boot" aborted due to user interrupt rommon 1 > où les messages en italiques peuvent apparaître quand le routeur reçoit le break c. Taper? puis Entrée à l invite. Il s agit d une demande d aide (synomyme de la commande help), moins élaborée que celle de la CLI. On obtient en résultat une liste de commandes disponibles dans ce mode. Elle dépend du matériel. En voici un extrait en exemple : rommon 1 >?... confreg... dev dir... help... meminfo... reset... tftpdnld... rommon 2 > configuration register utility list the device table list files in file system monitor builtin command help main memory information system reset tftp image download d. Modifier la valeur du registre de configuration pour empêcher le chargement de la startup-config au démarrage. La commande de modification et la valeur à lui affecter dépendent du modèle : Pour un CISCO séries 1700 ou 2600 : rommon 2> confreg 0x2142 Pour un CISCO série 2500 : rommon 2> o/r 0x0142 Dans les deux cas, le routeur répond par un message indiquant qu il faut redémarrer pour que cela ait un effet : You must reset or power cycle for new config to take effect e. On peut maintenant redémarrer le routeur en tapant : C. Pain-Barre, A. Meyer et F. Dumas, 2010 INFO - IUT Aix-en-Provence
15/54 Version du 3/5/2011 TP 8-9 Réseaux Pour un CISCO séries 1700 ou 2600 : rommon 3> reset Pour un CISCO série 2500 : rommon 3> i et le routeur redémarre aussitôt. 2. Sauvegarde et écrasement de la startup-config a. En ignorant la startup-config, le routeur a démarré avec une running-config vierge. Il est susceptible de demander : --- System Configuration Dialog --- Would you like to enter the initial configuration dialog? [yes/no]: ce à quoi, répondre no Ici, le routeur indique les réponses possibles entre crochets "[yes/no]". Quand il n en propose qu une, c est celle par défaut qui est retenue si on ne tape que sur Entrée. Faites attention de bien répondre "no" à cette question car selon l IOS, il se peut que la proposition soit "[yes]". Si vous entrez par mégarde dans le dialogue de configuration, éteignez le routeur et attendre quelques secondes pour le rallumer. b. À l invite du mode utilisateur (user mode), taper enable puis Entrée pour passer en mode privilégié : Router>enable Le mot de passe n est pas demandé car il n existe pas. On peut observer qu on est bien en mode privilégié car le prompt se termine maintenant par # : Router# c. Visualiser la configuration courante en tapant : Router#show running-config Building configuration... Current configuration : 623 bytes!! Last configuration change at 02:36:48 UTC Thu Apr 9 2009! version 12.3 service timestamps debug datetime msec service timestamps log datetime msec no service password-encryption! hostname Router... L affichage de la configuration est paginé, comme tous les affichages excédant 25 lignes. INFO - IUT Aix-en-Provence C. Pain-Barre, A. Meyer et F. Dumas, 2010
TP 8-9 Réseaux Version du 3/5/2011 16/54 d. Copier la startup-config dans la NVRAM en nommant la copie startup-config.defaut : Router#copy startup-config nvram:startup-config.defaut e. Écraser la startup-config par copie de la configuration courante vierge en tapant : Router#copy running-config startup-config Destination filename [startup-config]? Entrée Building configuration... [OK] i La commande ci-dessous aurait eu le même effet : Router#write memory 3. Restauration de la valeur du registre de configuration a. Passer en mode de configuration globale en tapant : Router#configure terminal Enter configuration commands, one per line. Router(config)# End with CNTL/Z. b. Restaurer la valeur du registre de configuration en tapant : Router(config)#config-register 0xvaleur-en-hexa où 0xvaleur-en-hexa est la valeur du registre de configuration, relevée au cours de l exercice 6, page 12 c. Taper Ctrl + Z ou exit pour quitter le mode de configuration globale et revenir au mode privilégié 4. Redémarrage a. Vérifier que le registre a bien été changé en tapant : Router#show version Qu est-ce qui confirme que le registre a été modifié? b. Puis redémarrer le routeur en tapant : Router#reload System configuration has been modified. Save? [yes/no]: no Proceed with reload? [confirm] Entrée c. Après le redémarrage, entrer en mode privilégié et faire afficher la configuration courante : Router>enable Router#show running-config C. Pain-Barre, A. Meyer et F. Dumas, 2010 INFO - IUT Aix-en-Provence
17/54 Version du 3/5/2011 TP 8-9 Réseaux Si un mot de passe vous est demandé pour entrer en mode privilégié, c est que vous avez sûrement omis de copier précédemment la running-config dans la startup-config (étape 2.e). Vous devez reprendre l exercice à zéro! (eh oui, il faut bien lire l énoncé...) Le routeur est maintenant réinitialisé. III.3 Relevé d informations complémentaires Nous avons obtenu précédemment les informations principales sur le routeur. Nous allons pousser un peu plus nos connaissances sur celui-ci, notamment sur ses espaces de stockage ainsi que sur ses interfaces réseau. III.3.A Les espaces de stockage Le routeur possède 2 espaces de stockage (voir DP, section 2.IV, page 10) : la flash (pour les images IOS), et la NVRAM (pour la startup-config). Nous allons relever leur contenu. Exercice 8 (exploration de la flash et de la NVRAM) 1. En mode privilégié, afficher le contenu de la flash. Noter sa taille ainsi que l espace disque encore libre (en ko) : Router#dir flash: 2. Faire de même avec la NVRAM : Router#dir nvram: 3. Histoire de bien se rappeler de la commande, visualiser à nouveau la configuration actuelle (celle actuellement dans la RAM du routeur) en tapant : Router#show running-config ou en abrégé, simplement : sh run 4. Visualiser le fichier startup-config (le fichier de configuration enregistré sur la NVRAM et chargé lors du démarrage de IOS), en tapant l une de commandes suivantes : Router#show startup-config ou en abrégé, simplement : sh start 5. Faire afficher le contenu du fichier startup-config.defaut en tapant : Router#more nvram:startup-config.defaut 6. Effacer le fichier startup-config de la NVRAM en tapant (et en confirmant) : Router#delete nvram:startup-config Delete filename [startup-config]? Entrée Delete nvram:startup-config? [confirm] [OK] INFO - IUT Aix-en-Provence C. Pain-Barre, A. Meyer et F. Dumas, 2010
TP 8-9 Réseaux Version du 3/5/2011 18/54 i La réinitialisation d un espace de stockage se fait avec la commande erase. Elle peut aussi être utilisée pour supprimer un fichier donné en paramètre, mais ce n est pas recommandé car une mauvaise utilisation peut être irreversible, ce qu on remarque dans les messages affichés : Router#erase startup-config Entrée Erasing the nvram filesystem will remove all files! Continue? [confirm] [OK] Erase of nvram: complete enonce_tpcisco_reseauxys-7-nv_block_init: Initialized the geometry of nvram 7. Essayer d afficher le contenu du fichier startup-config. En réalité, il n a pas été effacé mais simplement réduit à son strict minimum (il aurait été vidé en utilisant erase) : Router#sh start Using 5 out of 29688 bytes end 8. La configuration actuelle (running-config) est encore dans la RAM. La sauvegarder en écrasant le fichier startup-config : Router#copy run start Router#sh start (abréviation de copy running-config startup-config) (pour vérifier) III.3.B Information sur les interfaces réseau Les informations sur les interfaces réseau du routeur peuvent être obtenues en mode utilisateur ou privilégié en utilisant la commande show interfaces. Les informations affichées sont de différentes natures et relatives à différentes couches du modèle OSI. Exemple Router>show interfaces FastEthernet0 is up, line protocol is down Hardware is Lance, address is 0002.163e.0320 (bia 0002.163e.0320) MTU 1500 bytes, BW 100000 Kbit, DLY 100 usec, rely 255/255, load 1/255 Encapsulation ARPA, loopback not set ARP type: ARPA, ARP Timeout 04:00:00, Keepalive set (10 sec) Auto-duplex, Auto Speed, 100BaseTX/FX... Serial0 is administratively down, line protocol is down (disabled) Hardware is HD64570 MTU 1500 bytes, BW 128 Kbit, DLY 20000 usec, rely 255/255, load 1/255 Encapsulation HDLC, loopback not set, keepalive set (10 sec)... Ethernet0 is administratively down, line protocol is down (disabled) Hardware is Lance, address is 0001.63b1.a82d (bia 0001.63b1.a82d) MTU 1500 bytes, BW 10000 Kbit, DLY 1000 usec, rely 255/255, load 1/255 Encapsulation ARPA, loopback not set Keepalive set (10 sec) Half-duplex, 10BaseT... C. Pain-Barre, A. Meyer et F. Dumas, 2010 INFO - IUT Aix-en-Provence
19/54 Version du 3/5/2011 TP 8-9 Réseaux Il y a un paragraphe par interface, chacun commençant par le nom IOS de l interface. Ce nom a la forme générale : type[slot/]numéro où type est le type d interface, slot est le numéro du slot d extension et numéro est le numéro de l interface (sur la carte). La partie slot/ ne figure pas forcément, notamment lorsqu il n y a qu une interface sur la carte d extension. Les informations particulièrement intéressantes sont encadrées. Elles diffèrent selon le type de l interface. Sur cet exemple, on déduit qu il y a 3 interfaces réseau : FastEthernet0 : interface Ethernet (numéro 0) activée (up), mais le câble réseau est débranché (line protocol is down). Son adresse MAC figure après address où il faut enlever le premier 00. Au format standard, cette adresse est donc 02:16:3e:03:20. La partie bia... donne la véritable adresse MAC de l interface, car on peut lui demander d en utiliser une autre. Le MTU utilisé est 1500 octets et le débit maximum (BW pour BandWidth) de l interface est de 100 Mbit/s. Enfin, l interface est du type 100BaseTX/FX, actuellement configurée pour négocier le duplex et le débit (Auto-duplex, Auto Speed). Serial0 : interface série (numéro 0) désactivée (administratively down) ce qui fait que la liaison l est aussi (line protocol is down (disabled)). Elle n a pas d adresse MAC. Le MTU utilisé est 1500 et son débit maximum est 128 Kbit/s Ethernet0 : interface Ethernet (numéro 0) 10Base-T désactivée, en half-duplex, d adresse MAC 01:63:b1:a8:2d, de MTU 1500 et de débit max 10 Mbit/s. On note une différence de débit max avec la FastEthernet. i Si l on connecte l interface FastEthernet0 à un équipement réseau actif (hub, switch), un message d information apparaît notifiant l événement : %LINEPROTO-5-UPDOWN : Line Protocol on Interface FastEthernet0/0, changed state to up. Un message similaire est affiché si la liaison est coupée. Les différentes interfaces et cartes éventuelles dont disposent vos routeurs sont recensées dans DP, section 2.II, page 7 et section 2.III, page 8. Les noms IOS des interfaces peuvent aussi être abrégés. Par exemple, on pourra utiliser : fa0 à la place de FastEthernet0 e0 à la place de Ethernet0 s0 à la place de Serial0 fa0/0 à la place de FastEthernet0/0 etc. Exercice 9 (découverte des interfaces) 1. Utiliser la commande show interfaces pour afficher les informations sur les interfaces de votre routeur. Vous pouvez limiter les informations affichées en ajoutant le nom de l interface à la commande. Par exemple : Router#show interfaces nom-interface Router#sh int e0 (en abrégé pour Ethernet0) INFO - IUT Aix-en-Provence C. Pain-Barre, A. Meyer et F. Dumas, 2010
TP 8-9 Réseaux Version du 3/5/2011 20/54 2. En vous basant sur les informations relevées à l exercice 5, page 7, associer les interfaces physiques aux noms IOS et remplir le tableau suivant, avec une ligne par interface : nom sur le routeur nom IOS type débit max MTU adresse MAC si Ethernet.................................... 3. Vérifier que toutes les interfaces (du moins celles susceptibles d être utilisées) sont intégrées dans la configuration initiale (qui a été automatiquement créée par le routeur) : Router#show running-config Router#show startup-config III.4 Configurations élémentaires du routeur La première action de l administrateur sérieux doit être la configuration d un mot de passe pour protéger l accès au mode privilégié de la CLI, ainsi que la désactivation des services et interfaces inutiles. Comme nous avons pu le constater précédemment, le mot de passe n est pas une sécurité absolue, mais il ajoute un certain degré de sécurité et rend beaucoup plus difficile tout accès non autorisé. Ne pas mettre un mot de passe est grossièrement négligent. III.4.A Protection du mode privilégié par un mot de passe L IOS CISCO actuel prend en compte deux types de mots de passe : secret et password. Pour des raisons de sécurité, les nouveaux IOS n utilisent en principe que le mot de passe secret (appelé aussi enable secret) qui est crypté dans la configuration. Pour des raisons de compatibilité le mot de passe password existe toujours mais est enregistré en clair. Les mots de passe se définissent dans le mode de configuration globale. Le mot de passe secret est défini par la commande : Router(config)#enable secret secret-password où secret-password est le mot de passe que l on veut donner. Pour rester compatible avec certaines fonctionnalités IOS et avec des anciens versions d IOS, nous devons également configurer le mot de passe password avec la commande : Router(config)#enable password normal-password où normal-password est le mot de passe que l on veut donner. Exercice 10 (Protection de la console) 1. Sur la CLI, passer en mode de configuration globale. À partir du mode utilisateur, il faut d abord passer en mode privilégié puis en mode de configuration globale : Router>enable Router#configure terminal Router(config)# C. Pain-Barre, A. Meyer et F. Dumas, 2010 INFO - IUT Aix-en-Provence
21/54 Version du 3/5/2011 TP 8-9 Réseaux 2. Utiliser les commandes adéquates pour : spécifier mypassword1 comme mot de passe normal spécifier mypassword2 comme mot de passe secret N utilisez pas d autres mots de passe, cela compliquerait le TP suivant. 3. Taper CTRL + Z ou exit pour revenir au mode privilégié 4. Sauvegarder la nouvelle configuration en tapant : Router#copy running-config startup-config et en confirmant la sauvegarde 5. Puis revenir au mode utilisateur en tapant : Router#exit 6. Vérifier le mot de passe (secret). Pour cela, passer à nouveau en mode privilégié et entrer le mot de passe secret lorsqu il vous est demandé : Router>enable Password: Router# 7. Faire afficher la configuration actuelle du routeur avec la commande show running-config (ou sh run en abrégé). Quelle est la différence évidente entre les deux mots de passe? III.4.B Désactivation de services et interfaces inutiles De nombreux services sont activés par défaut sur les routeurs (et les commutateurs) CISCO. Certains sont très utiles, mais d autres sont au contraire gênants ou peuvent s avérer dangereux pour la sécurité des routeurs. Le fait de désactiver un service permet d éviter qu il soit attaqué par un pirate qui en exploite une faille. D autres services facilitent la vie des pirates, comme le protocole CDP (CISCO Discovery Protocol) qui liste les périphériques CISCO voisins. De nombreux sites sur Internet recensent les failles rencontrées sur les différentes versions du CISCO IOS. La désactivation de services inutiles réduit aussi la consommation mémoire et processeur, rendant le routeur plus performant. A priori, voici une liste de services à désactiver (dont certains seront réactivés plus tard) : les services réseaux basiques (echo, discard, chargen,...) les services BOOTP, FINGER, HTTP et CDP le service de configuration à distance le service Source Routing la résolution DNS qui, dans un premier temps, peut s avérer gênante INFO - IUT Aix-en-Provence C. Pain-Barre, A. Meyer et F. Dumas, 2010
TP 8-9 Réseaux Version du 3/5/2011 22/54 auxquels il faudrait ajouter la désactivation des interfaces inutilisées, surtout si elles sont câblées. La désactivation de ces services se fait en mode de configuration globale, en tapant les commandes suivantes : Router(config)#no cdp run Router(config)#no aaa new-model Router(config)#no service pad Router(config)#no ip bootp server Router(config)#no ip finger Router(config)#no ip http server Router(config)#no ip source-route Router(config)#no ip proxy-arp Router(config)#no ip redirectes Router(config)#no ip domain-lookup Exercice 11 (désactivation des services inutiles) 1. Se placer en mode de configuration globale et utiliser les commandes précédentes afin de désactiver les services inutiles. i Certains sont peut-être déjà désactivés. D autres ne sont peut-être pas reconnus, ce qui provoque une erreur sans gravité. Cela dépend du modèle du routeur et de la version du IOS. 2. En mode privilégié, vérifier les modifications en faisant afficher la running-config. Vérifier aussi que les interfaces réseaux sont désactivées (shutdown) 3. Puis, sauvegarder la configuration : Router#copy run start Préférer cette écriture abrégée à l écriture de la commande complète. Cela vous évitera de votre tromper sur les noms des fichiers et de risquer d écraser la Flash! III.4.C Changer le nom du routeur Le changement du nom du routeur se fait avec la commande hostname en mode de configuration globale. Bien que cela ait peu d intérêt dans notre cas, ce changement modifie le prompt ce qui est permet à un adminsitrateur, qui se connecte à distance sur différents routeurs, de se repérer plus facilement. Exercice 12 (changement du nom du routeur) En mode de configuration globale, utiliser la commande suivante pour changer le nom du routeur (et qui figurera sur le prompt) : Router(config)#hostname nom-routeur où nom-routeur est le nom à donner au routeur. Indiquer dans son nom votre numéro de groupe et de binôme : par exemple, TPGW-G1-B3 pour le binôme 3 du groupe 1. C. Pain-Barre, A. Meyer et F. Dumas, 2010 INFO - IUT Aix-en-Provence
23/54 Version du 3/5/2011 TP 8-9 Réseaux IV Conception Réseau Exercice 13 (conception réseau) 1. Situer votre routeur et votre réseau local (LAN) sur le schéma réseau de la figure 3 page 54 2. Choisir comme interface LAN du routeur, celle qui admet le plus grand débit. En effet, l essentiel du trafic réseau est local dans un LAN. L interface WAN du routeur sera l une de ses autres interfaces Ethernet. On reviendra sur ce choix en cas d impossibilité technique. 3. Dans le LAN, l adresse à attribuer au routeur doit être la plus grande possible, alors que celle du PC A doit être la plus petite 2. Côté WAN (réseau commun aux binômes), cette adresse doit être 10.255.255.x où x est votre numéro de binôme. Sur le schéma réseau, noter les adresses à attribuer au routeur et au PC A. Indiquer pour le routeur le nom IOS des interfaces associées. Noter ces informations dans le rapport. 4. Écrire les tables de routage (contenant les colonnes destination, masque et routeur) que doivent posséder le PC A et le routeur pour accéder à Internet. Pour le moment, nous ignorerons les réseaux des autres binômes. Aussi, vous pouvez omettre les réseaux adjacents et la boucle locale (loopback) dans ces tables. En effet, comme pour tous les systèmes (IOS CISCO, Linux, Windows), ces entrées spécifiques sont créées automatiquement lors de l activation de l interface en consultant sa configuration IP. Penser à la route par défaut (IP 0.0.0.0 et masque 0.0.0.0) pour le routage direction Internet (WAN). V Configurations Réseau V.1 Interface WAN du routeur En principe, les interfaces du routeur sont toutes inactives (down). Avant de les activer, il faut les configurer. Pour l heure, nous allons configurer l interface WAN du routeur (voir figure 2). La configuration et l activation d une interface se fait dans le mode de configuration de l interface (voir DP, section 3.I.D, page 14). Il faut spécifier le nom IOS de l interface pour entrer dans ce mode : Router>enable Router#configure terminal Router(config)#interface nom-interface Router(config-if)# On doit configurer l interface aux niveau 1-2 (Ethernet) et 3 (IP). Aux niveaux 1 et 2, nous devons prendre en considération le matériel que nous utilisons : différents types de hub/switch (10 Mbit/s en half-duplex, FastEthernet en full-duplex) différentes interfaces des routeurs (FastEthernet 100Base-TX full-duplex ou à auto-négociation, Ethernet 10Base-T half-duplex ou full-duplex) 2. Il s agit d une restriction de l énoncé car on peut attribuer n importe quelle adresse valide à n importe quel équipement du réseau, si elle n est pas déjà utilisée. INFO - IUT Aix-en-Provence C. Pain-Barre, A. Meyer et F. Dumas, 2010
TP 8-9 Réseaux Version du 3/5/2011 24/54 réseau Ethernet d accès vers Internet d adresse 10.0.0.0/8 et commun à tous les binômes 10.255.255.254 routeur (NAT/PAT) d accès vers Internet 139.124.187.94 IP WAN routeur du binôme...... routeurs des réseaux des autres binômes Internet FIGURE 2 Côté WAN du routeur L idéal est que les interfaces du routeur fonctionnent au mieux de leurs capacités : à leur plus haut débit et en full-duplex si possible. Alors que les cartes réseau modernes détectent les caractéristiques de la liaison Ethernet et s adaptent à cette liaison, ce n est pas le cas de la plupart des cartes de nos routeurs. Il est nécessaire d adapter les caractéristiques physiques des interfaces Ethernet (802.3i) et FastEthernet (802.3u) à l équipement utilisé. Pour cela, nous disposons de commandes pour la configuration de niveaux 1 et 2 dans le mode configuration de l interface : i Selon l interface (et l IOS), certaines de ces commandes peuvent ne pas être disponibles. Les caractéristiques correspondantes sont alors non modifiables. Configurations de niveaux 1 et 2 : Router(config-if)#speed débit pour fixer le débit de la liaison. Dans notre cas, débit vaut 10 ou 100 voire même auto. Utiliser l aide de la CLI pour voir les paramètres disponibles ; Router(config-if)#full-duplex pour gérer la liaison en full-duplex Router(config-if)#half-duplex pour gérer la liaison en half-duplex Router(config-if)#no shutdown pour activer la liaison. Cela a pour effet de rendre l interface administrativement active (up) et d esssayer de rendre la liaison opérationnelle (up). C. Pain-Barre, A. Meyer et F. Dumas, 2010 INFO - IUT Aix-en-Provence
25/54 Version du 3/5/2011 TP 8-9 Réseaux Configurations de niveau 3 (IP) : Concernant la configuration de niveau 3 (IP), nous devons lui attribuer une adresse IP et spécifier l adresse broadcast sur le réseau correspondant. Pour cela nous disposons des commandes (toujours en mode de configuration de l interface) : Router(config-if)#ip address adresse masque où adresse est l adresse IP de l interface et masque est son masque de sous-réseau en notation décimale pointée ; Router(config-if)#ip broadcast-address adresse-broadcast où adresse-broadcast est l adresse IP de broadcast sur le réseau de l interface Vérifications : Une fois une interface configurée et active, on peut vérifier que tout fonctionne correctement en utilisant la commande ping (echange de messages ICMP de type ECHO) dans le mode privilégié ou utilisateur en spécifiant l adresse IP (ou le nom) d une station (ou routeur) connectée à ce réseau : Router#ping adresse-cible où adresse-cible est l adresse de la station cible. En retour on obtient un taux de réponse pour l envoi de 5 messages ICMP ECHO REQUEST. Si ce taux est nul, il y a un problème quelque part. i N oubliez pas d utiliser l aide contextuelle de la CLI pour voir à chaque fois les paramètres possibles. Exemple Supposons que l on connecte une interface FastEthernet 10/100Base-TX côté WAN (ce qui est peu probable vous concernant). Supposons que le réseau a pour adresse 139.124.187.0/24. Dans un premier temps, on va configurer l interface aux niveaux 1 et 2 : Router#show interfaces FastEthernet0 FastEthernet0 is administratively down, line protocol is down Hardware is PQUICC_FEC, address is 0011.93ca.ffb5 (bia 0011.93ca.ffb5) MTU 1500 bytes, BW 100000 Kbit, DLY 100 usec, reliability 255/255, txload 1/255, rxload 1/255 Encapsulation ARPA, loopback not set Keepalive set (10 sec) Auto-duplex, Auto Speed, 100BaseTX/FX... on voit que l interface est inactive et doit pouvoir négocier la vitesse et le mode duplex. INFO - IUT Aix-en-Provence C. Pain-Barre, A. Meyer et F. Dumas, 2010
TP 8-9 Réseaux Version du 3/5/2011 26/54 Router#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)#interface FastEthernet0 Router(config-if)#no shutdown Router(config-if)#exit *Apr 17 09:46:51.895: %LINK-3-UPDOWN: Interface FastEthernet0, changed state to up Router(config)# *Apr 17 09:46:59.643: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet Router(config)#exit Router# *Apr 17 09:47:09.739: %SYS-5-CONFIG_I: Configured from console by console Router#show interfaces FastEthernet0 FastEthernet0 is up, line protocol is up... Half-duplex, 10Mb/s, 100BaseTX/FX... on a juste activé l interface par le no shutodown et laissé la négociation se faire. L interface s est configurée. Cependant, il arrive que la négociation se fasse à la baisse alors qu on aurait pu obtenir des caractéristiques plus importantes. Dans notre cas, le full-duplex est possible et on va l activer! Router#configure terminal Enter configuration commands, one per line. Router(config)#interface FastEthernet0 Router(config-if)#full-duplex Router(config-if)# CTRL + Z Router#sh int fa0 FastEthernet0 is up, line protocol is up... Full-duplex, 10Mb/s, 100BaseTX/FX... End with CNTL/Z. Dans le mode de configuration de l interface, on configure aussi la couche IP avec les paramètres voulus (on aurait pu tout faire à la fois) : Router#conf ter Router(config)#int f0 Router(config-if)#ip address 139.124.187.50 255.255.255.0 Router(config-if)#ip broadcast-address 139.124.187.255 Router(config-if)# CTRL + Z Router#sh int fa0 FastEthernet0 is up, line protocol is up... Internet address is 139.124.187.50/24... Router#show ip interface fa0 FastEthernet0 is up, line protocol is up Internet address is 139.124.187.50/24 Broadcast address is 139.124.187.255... C. Pain-Barre, A. Meyer et F. Dumas, 2010 INFO - IUT Aix-en-Provence
27/54 Version du 3/5/2011 TP 8-9 Réseaux En supposant que ce réseau comporte une station (ou un routeur) opérationnel d adresse 139.124.187.25, on peut vérifier la configuration avec un ping : Router#ping 139.124.187.25 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 139.124.187.25, timeout is 2 seconds:.!!!! Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/4 ms le taux de réussite est acceptable : tout est ok. Pour annuler une commande, il faut la faire précéder du mot-clé no dans le même mode. Par exemple, on peut annuler l affectation de l adresse précédente en tapant : Router(config-if)#no ip address 139.124.187.50 255.255.255.0 ou encore par : Router(config-if)#no ip address car il n y a pas d ambiguïté. Exercice 14 (configuration de l interface WAN du routeur) 1. Raccorder l interface du routeur que vous avez choisie comme interface WAN (cf. exercice 13), au hub de votre partie du réseau 2. Réaliser la configuration de l interface (niveaux 1-2 et 3) et l activer. Fournir les commandes nécessaires. 3. Essayer d envoyer un ping depuis votre routeur vers le routeur d accès à Internet (cf. figure 1 page 4). En cas d échec répété, reprendre la configuration de l interface (et fournir les bonnes commandes) 4. Explorer et vérifier la configuration des interfaces avec les commandes suivantes : show interfaces nom-interface show ip interface nom-interface show protocols nom-interface 5. Pour terminer la configuration IP, enregistrer la configuration actuelle avec la commande copy run start 6. Essayer d envoyer un ping au routeur d un autre binôme. Préciser le numéro du binôme choisi. 7. Supposons que l on raccorde maintenant un hub 10 Mbit/s fonctionnant en half-duplex sur le port "FastEthernet0" du routeur. Quelles sont les commandes nécessaires pour reconfigurer cette interface sur le routeur (configuration des couches 1 et 2)? 8. Avec quelle commande peut-on vérifier que l interface fonctionne correctement? 9. Essayer d envoyer un ping à l adresse 139.124.187.4. Expliquer ce qui se passe. INFO - IUT Aix-en-Provence C. Pain-Barre, A. Meyer et F. Dumas, 2010
TP 8-9 Réseaux Version du 3/5/2011 28/54 V.2 Interfaces du réseau local Il est préférable de configurer d abord l interface LAN du routeur, puis ensuite connecter le PC A au LAN afin d en configurer l interface. En effet, il pourrait être gênant de connecter le PC A au LAN avant d avoir connecté et configuré le routeur (cas d un mode forcé du hub incompatible avec l interface du routeur). V.2.A Interface LAN du routeur Il est temps de configurer l interface du routeur que vous avez choisie comme interface LAN : réseau local Ethernet du binôme x d adresse 192.168.x.0/24 Hub ou Switch IP LAN routeur du binôme A Exercice 15 (configuration de l interface LAN du routeur) 1. Mettre en place le Hub/Switch à votre disposition et l allumer. Connecter l interface LAN du routeur au Hub par l intermédiaire d un câble Ethernet de petite longueur 2. Réaliser la configuration de l interface (niveaux 1-2 et 3) et l activer. Fournir les commandes nécessaires. 3. Explorer et vérifier la configuration des interfaces avec les commandes suivantes : show interfaces nom-interface show ip interface nom-interface show protocols nom-interface 4. Pour terminer la configuration IP, enregistrez la configuration actuelle avec la commande copy run start V.2.B Interface LAN du PC A Nous allons maintenant configurer l interface réseau de la machine virtuelle. Se reporter à DP, section 6.I, page 25 pour la configuration d une interface réseau sous Linux. C. Pain-Barre, A. Meyer et F. Dumas, 2010 INFO - IUT Aix-en-Provence
29/54 Version du 3/5/2011 TP 8-9 Réseaux Exercice 16 (configuration de l interface du PC A) 1. Connecter l interface réseau du PC au Hub par l intermédiaire d un câble Ethernet de petite longueur 2. Réaliser la configuration de l interface du PC A 3. À partir d un terminal du PC A, tenter d envoyer un ping au routeur. Revoir le câblage et les configurations si cela ne va pas 4. À partir du routeur, envoyer un ping au PC A 5. Exécuter Wireshark sur le PC A, et capturer les trames. Refaire un ping du PC vers le routeur. Arrêter la capture quand 5 requêtes ping ont été émises. Filtrer pour ne garder que les trames relatives au ping. Faire une capture d écran et sauver ces trames dans le fichier captures-ping. 6. Essayer d envoyer un ping vers le routeur d accès à Internet (cf. figure 1 page 4). Expliquer ce qui se passe. V.3 Sauvegarde de la configuration par TFTP Jusqu à maintenant, la sauvegarde de la configuration active (stockée dans la RAM) consistait à la copier dans le fichier startup-config sur la NVRAM. Ainsi la configuration restait conservée pour le prochain redémarrage du routeur. Seulement, cette sauvegarde est effectuée sur le routeur lui-même! Si la startup-config est modifiée par quelqu un d autre (ou perdue suite à une panne du matériel ou par une erreur de saisie) vous n avez plus rien. Nous allons sauvegarder la configuration sur le PC A avec TFTP. Se reporter à DP, section 7 page 28 pour l utilisation d un serveur TFTP sous Linux et le transfert de fichier avec le routeur. Depuis la CLI du routeur la sauvegarde vers le serveur TFTP se fait de la même manière que la sauvegarde locale (mais vous seront demandés l adresse IP du serveur TFTP et le nom sous lequel l on souhaite enregistrer le fichier sur le serveur TFTP) : Routeur#copy running-config tftp Cette fonction de copie permet le transfert dans les deux sens ; vous pouvez copier la running-config (ou la startup-config) vers le serveur TFTP, mais aussi copier un fichier de configuration à partir du serveur TFTP vers la running-config ou la startup-config du routeur. Exercice 17 (transferts par TFTP) 1. Transférer la configuration courante sur votre serveur TFTP en la nommant running-config_exo17. Fournir le fichier. 2. Dans /srv/tftp, copier le fichier dans run.new 3. Avec gedit, modifier l adresse IP LAN du routeur dans run.new et lui donner une autre adresse dans le LAN. Sauver le fichier. Indiquer l adresse choisie. 4. Transférer run.new par TFTP comme running-config du routeur. Afficher la nouvelle configuration sur le routeur. 5. Depuis le PC A, faire un ping vers le routeur 6. Restaurer la running-config par transfert TFTP de running-config_exo17 7. Refaire l étape 1 en utilisant une adresse broadcast. Quelle adresse broadcast faut-il utiliser pour que cela fonctionne? INFO - IUT Aix-en-Provence C. Pain-Barre, A. Meyer et F. Dumas, 2010
TP 8-9 Réseaux Version du 3/5/2011 30/54 V.4 Accès à la CLI par TELNET Puisque notre routeur et notre PC possèdent maintenant une adresse IP, nous pouvons légitimement penser accéder au routeur via le réseau. Essayez de le contacter avec telnet depuis un terminal (de la machine virtuelle) du PC A. La réponse négative vient du fait qu un routeur CISCO n accepte une connexion sur son interface telnet que si elle a été activée et qu un mot de passe a été défini pour celle-ci. Il va donc falloir encore utiliser un peu la console pour la configuration de ce mot de passe (qui est un complètement indépendant du secret ou password du mode privilégié). Un accès à distance est vu comme un terminal réseau par le routeur. Ces terminaux sont dénommés des VTY (Virtual Terminal). Pour configurer le mot de passe du terminal telnet, il faut entrer dans le mode de configuration de cette interface en tapant line vty 0 4 depuis le mode de configuration globale. Le prompt devrait alors changer pour devenir (config-line)# : Router>enable Router#conf ter Router(config)#line vty 0 4 Router(config-line)#password Router(config-line)#login Router(config-line)#end Router#copy run start mon-vty-password une fois dans la configuration du VTY, on peut entrer un le mot de passe mon-vty-password (avec la commande password) et activer la possibilité de se connecter (avec la commande login sans paramètre) Une fois connecté par TELNET, on peut afficher sur le routeur les sessions TELNET en cours avec la commande show user. i Lorsqu on est connecté à la console, on ne figure pas dans la liste affichée par show user. Exercice 18 (accès par TELNET) 1. Configurer l accès par TELNET sur le routeur. Les configurations qui suivront seront à faire via TELNET. Garder le câble console et la liaison par minicom. Elle nous servira occasionnellement, en particulier pour du "debugging" 2. Se connecter au routeur par TELNET à partir (de la machine virtuelle) du PC A. Cela doit fonctionner 3. Afficher les utilisateurs TELNET connectés 4. Sauvegarder la configuration actuelle avec la commande copy run start V.5 Accès à l interface Web du routeur Le serveur Web n est pas toujours disponible. Cela dépend du modèle de routeur et de sa version d IOS. Le serveur HTTP se configure à partir du mode de configuration globale : C. Pain-Barre, A. Meyer et F. Dumas, 2010 INFO - IUT Aix-en-Provence
31/54 Version du 3/5/2011 TP 8-9 Réseaux Router>en Router#conf ter Router(config)#ip http server Router(config)#ip http port 80 Router(config)#exit Router#copy run start Exercice 19 (accès par HTTP) 1. Tenter de configurer le serveur HTTP du routeur 2. Sur le PC A, ouvrir un navigateur Web et tester l accès HTTP au routeur. Le mot de passe demandé est le mot de passe secret. Fournir la capture d écran de votre navigateur Web. V.6 Configuration du routage et du DNS sur le routeur Pour le moment, le routeur ne sert pas à grand chose. Il ne peut même pas envoyer un ping vers le réseau du Département Informatique, ni même vers Internet. Nous devons configurer son routage. D autre part, pour pouvoir utiliser des noms d hôtes plutôt que les adresses IP, il nous faut configurer la résolution DNS. Le routage Tout d abord il est conseillé de vérifier que le routage est activé sur le routeur. Si nécessaire, le routage pourra être activé avec la commande ip routing : Router#show protocols Router(config)#ip routing La configuration de la table de routage est simple : on ajoute ligne par ligne les destinations qui nous intéressent (les lignes pour les réseaux adjacents sont générées automatiquement par le système). Exemple Si l on doit ajouter la route suivante : Destination Masque Interface Routeur 150.151.152.0 255.255.255.0 Serial0 195.196.20.254 on utilisera, en mode de configuration globale, la commande : Router(config)#ip route 150.151.152.0 255.255.255.0 Serial0 195.196.20.254 et on utilise : Router(config)#no ip route 150.151.152.0 255.255.255.0 Serial0 195.196.20.254...pour l enlever. Dans votre configuration, il ne faudra pas oublier la route par défaut (default gateway) dont la destination est 0.0.0.0 de masque 0.0.0.0! INFO - IUT Aix-en-Provence C. Pain-Barre, A. Meyer et F. Dumas, 2010
TP 8-9 Réseaux Version du 3/5/2011 32/54 L état de la table de routage est affiché avec : Router#show ip route Exercice 20 (configuration du routage du routeur) 1. En vous basant sur la conception réseau faite sur papier, configurer correctement les routes de votre routeur. Ajouter les routes vers les réseaux de deux ou trois autres binômes. 2. Essayer d envoyer un ping à la station 139.124.187.10 (l adresse d allegro). En cas d échec répété, revoir la table de routage 3. Essayer d envoyer un ping à la station 64.170.98.47 (serveur web de www.rfc-editor.org). En cas d échec répété, revoir la table de routage 4. Vérifier la table de routage en mode privilégié avec la commande show ip route. Fournir la sortie écran. Quelle entrée (ligne) que vous trouvez habituellement dans les tables de routage manque? Quelles sont les entrées auto-générées? 5. Essayer d envoyer un ping à la station allegro.iut.univ-aix.fr. Expliquer ce qui se passe. La résolution DNS Pour permettre une résolution de noms sur le routeur (notamment sur la CLI) et pouvoir ainsi utiliser des noms d hôtes plutôt que des adresses IP, il est nécessaire d indiquer le ou les serveur(s) DNS à utiliser par le système de résolution des noms (resolver) d IOS et d activer le service de résolution. Exemple Router(config)#ip name-server 139.124.187.10 139.124.1.2 139.124.187.3 Router(config)#ip domain-lookup la première commande liste les serveurs DNS à utiliser, dans l ordre de préférence. La seconde active la résolution DNS. Si tout va bien on pourra utiliser des noms à la place des adresses IP Exercice 21 (configuration de la résolution DNS du routeur) 1. Vérifier l accessibilité aux différents serveurs DNS de l exemple précédent avec un ping depuis le routeur 2. Configurer et activer la résolution DNS en utilisant les adresses de ces serveurs 3. Vérifier la résolution DNS en envoyant un ping vers allegro.iut.univ-aix.fr à partir du routeur. Cela doit fonctionner 4. Vérifier la résolution DNS en envoyant un ping vers www.rfc-editor.org à partir du routeur. Cela doit fonctionner C. Pain-Barre, A. Meyer et F. Dumas, 2010 INFO - IUT Aix-en-Provence
33/54 Version du 3/5/2011 TP 8-9 Réseaux V.7 Configuration du routage et du DNS sur le PC A Le PC A n est pas encore vraiment opérationnel au niveau réseau : il lui manque des routes ainsi que les serveurs DNS à utiliser. Exercice 22 (configuration du routage et du DNS sur le PC A) 1. Se référer à DP, section 6.II page 26 pour configurer la table de routage de la machine virtuelle du PC A 2. Essayer d effectuer un ping sur le routeur d accès à Internet (cf. figure 1 page 4). En cas d échec répété, revoir la configuration. 3. Éditer le fichier /etc/hosts et lui ajouter les deux lignes suivantes : adresse-routeur adresse-routeur-internet myrouteur tprouteur où adresse-routeur est l adresse IP de votre routeur dans le LAN et adresse-routeur-internet est l adresse IP (côté salle de TP) du routeur d accès à Internet. Sauver le fichier. 4. Essayer d effectuer un ping vers myrouteur puis vers tprouteur. Cela devrait fonctionner. 5. Éditer le fichier /etc/resolv.conf et lui ajouter autant de lignes de la forme : nameserver adresse-serveur-dns qu il y a de serveurs DNS à utiliser, puis ajouter la ligne : search iut.univ-aix.fr Sauver le fichier. 6. Depuis le PC A, essayer de faire un ping de www.rfc-editor.org, puis des adresses des serveurs DNS. Expliquer ce qui se passe. V.8 Configuration du service DHCP sur le routeur Nous allons configurer un serveur DHCP sur le routeur puis demander au PC A de se configurer par DHCP. V.8.A Configuration de l allocation dynamique L allocation (ou attribution) dynamique consiste à attribuer une adresse IP non utilisée à un client qui en fait la demande. Exemple Soit le réseau d adresse 195.196.20.0/24 sur lequel le routeur 195.196.20.254/24 doit faire office de serveur DHCP : INFO - IUT Aix-en-Provence C. Pain-Barre, A. Meyer et F. Dumas, 2010
TP 8-9 Réseaux Version du 3/5/2011 34/54 195.196.20.0/24 195.196.20.254 (Ethernet0) routeur CISCO PC (client DHCP) et où les adresses IP 195.196.20.250 à 195.196.20.254 ne doivent pas être allouées dynamiquement : elles sont déjà utilisées par des stations, ou sont à attribuer statiquement (voir section suivante). Une configuration possible du routeur pourrait être la suivante : Router#show running-config... ip dhcp excluded-address 195.196.20.250 195.196.20.254! ip dhcp pool my-pool network 195.196.20.0 255.255.255.0 dns-server 195.196.20.1 195.196.110.10 150.151.152.3 domain-name un.domaine.fr default-router 195.196.20.254 lease 0 2! interface Ethernet0 ip address 195.196.20.254 255.255.255.0 duplex auto speed auto no shutdown! service dhcp... où les quatre parties de cette configuration comprennent : l exclusion des adresses 195.196.20.250 à 195.196.20.254 du panel d adresses attribuables dynamiquement la définition d un pool d attribution dynamique nommé my-pool définissant les adresses attribuables ainsi que les informations à communiquer aux clients : le réseau a pour adresse 195.196.20.0 de masque 255.255.255.0. Ces informations, comme celles qui suivent, sont communiquées au client. Aussi cette information indique au routeur les adresses qu il doit allouer dynamiquement (moins celles exclues). On en déduit que le routeur allouera dynamiquement les adresses 195.196.20.1 à 195.196.20.249 C. Pain-Barre, A. Meyer et F. Dumas, 2010 INFO - IUT Aix-en-Provence
35/54 Version du 3/5/2011 TP 8-9 Réseaux les serveurs DNS à utiliser, par ordre de préférence, sont 195.196.20.1, 195.196.110.10 et 150.151.152.3 le domaine DNS par défaut est un.domaine.fr. Pour un client DHCP, cela correspondant au champ search de /etc/resolv.conf le routeur par défaut est 195.196.20.254 la durée du bail est fixée à 0 jour et 2 heures la configuration de l interface du routeur sur le réseau 195.196.20.0/24 l activation du service DHCP Exercice 23 (configuration du service DHCP sur le routeur) On va configurer le service DHCP du routeur et le tester : 1. Sur le routeur, passer d abord en mode configuration globale. Puis, utiliser la commande Router(config)#ip dhcp excluded-address début-adr-exclue [ fin-adr-exclue] pour exclure du "pool" d adresses allouées dynamiquement, celles qui ne doivent pas l être (et uniquement celles-ci). Considérer que l adresse du PC A n est pas à allouer. Le paramètre fin-adr-exclue est optionnel. S il est manquant, seule début-adr-exclue est exclue. Vous pouvez utiliser plusieurs fois cette commande, s il y a plusieurs plages ou adresses à exclure. 2. Passer ensuite en mode dhcp pool configuration avec la commande : Router(config)#ip dhcp pool nom-pool où nom-pool est un nom pour cette configuration 3. En mode dhcp pool configuration, taper? pour obtenir la liste des commandes disponibles. 4. Configurer ce pool en adaptant les paramètres de l exemple précédent à votre environnement (plage d adresses IP, serveur DNS, nom de domaine, routeur par défaut et durée de bail), sachant que les serveurs DNS à utiliser et le nom de domaine sont ceux de l exercice précédent, et que le bail doit durer 1 heure. 5. Retourner au mode de configuration globale, et activer le service DHCP avec la commande : Router(config)#service dhcp 6. En mode privilégié, sauvegarder votre configuration avec copy run start 7. Sur le PC A, utiliser le service DHCP pour configurer l interface (voir DP, section 6.III page 27). Essayer d envoyer un ping vers votre routeur. Cela doit fonctionner! 8. Faire afficher la configuration de l interface du PC, sa table de routage, le fichier /etc/resolv.conf, ainsi que le fichier /var/lib/dhcp3/dhclient.leases qui contient le bail (ne garder que la partie concernant l interface que vous venez de configurer) 9. Vérifier 3 le serveur DHCP comme suit : 3. On peut faire afficher les opérations liées au DHCP sur la console avec : debug ip dhcp server events INFO - IUT Aix-en-Provence C. Pain-Barre, A. Meyer et F. Dumas, 2010
TP 8-9 Réseaux Version du 3/5/2011 36/54 Routeur#show ip dhcp server statistics Memory usage 13906 Address pools 1... Routeur#show ip dhcp binding IP address Hardware address Lease expiration Type 195.196.20.2 0021.9bdf.dbf9 Mar 01 2010 02:28 AM Automatic... V.8.B Configuration de l allocation statique L inconvénient avec l allocation dynamique d adresse est qu on ne sait jamais trop quelle adresse on va obtenir, puisque le serveur DHCP nous donnera la première disponible. C est parfois gênant et on peut souhaiter que le serveur nous attribue toujours la même adresse : c est l allocation statique. Cette allocation particulière de type BOOTP demande à ce que le serveur soit configuré pour reconnaître des clients en particulier, en se basant sur leur adresse MAC, et leur allouer toujours la même adresse. Sur un routeur CISCO, il faut définir un pool par client "statique". Exemple Supposons que le routeur/serveur DHCP précédent doit attribuer statiquement l adresse 195.196.20.250 à la station possédant l adresse MAC 00:21:9b:df:db:f9, alors en plus du pool précédent, on peut ajouter un autre pool pour cette allocation : ip dhcp pool pool-toto host 195.196.20.250 255.255.255.0 hardware-address 0021.9bdf.dbf9 client-name ordidetoto où l on voit que l adresse MAC du client est au "format CISCO", et le paramètre client-name communique au client son nom court (information ignorée par défaut par le client). Les mêmes paramètres que précédemment peuvent être définis dans ce pool, mais puisque le paramètre host indique une adresse IP appartenant au réseau indiqué en paramètre network du pool précédent (my-pool), l ensemble des paramètres de my-pool sont hérités par ce pool (mais peuvent être redéfinis). On remarque que l adresse allouée statiquement est une des adresses qui avaient été exclues de l ensemble des adresses allouables dynamiquement. Exercice 24 (configuration de l allocation statique) 1. Sur le PC A, résilier le bail obtenu précédemment en tapant : $ dhclient -r interface où interface est l interface qui a été configurée par DHCP 2. Sur le routeur, définir un pool statique pour le PC A en lui associant l adresse qu il devrait avoir (cf. exercice 13 page 23) C. Pain-Barre, A. Meyer et F. Dumas, 2010 INFO - IUT Aix-en-Provence
37/54 Version du 3/5/2011 TP 8-9 Réseaux 3. Sur le PC A, configurer l interface par DHCP avec dhclient 4. S assurer que l adresse obtenue est celle attendue. Fournir le résultat de ifconfig, la partie de /var/lib/dhcp3/dhclient.leases concernant l interface ainsi configurée, le résulat de show ip dhcp binding et enfin la partie du show run qui concerne DHCP (uniquement) 5. En mode privilégié sur le routeur, sauvegarder votre configuration VI Configuration du NAT/PAT Vous avez pu constater que la discussion entre le PC A et Internet n est pas possible. En fait, il peut tout à fait envoyer un datagramme à un hôte d Internet. C est la réponse qui ne peut lui revenir! En effet, la réponse a pour adresse de destination celle du PC. C est une adresse dans votre LAN 192.168.x.0/24 et ces adresses font partie des plages d adresses privées non routables sur Internet (RFC 1918 et RFC 3927) : 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 et 169.254.0.0/16. En clair, les réponses sont toutes bloquées. Mais vous avez pu aussi constater que votre routeur a accès à Internet, alors qu il utilise lui aussi une adresse privée côté WAN (10.255.255.x/8). Ceci parce que le NAT/PAT est activé sur le routeur d accès vers Internet pour permettre aux hôtes du réseau 10.0.0.0/8 de communiquer avec Internet. Afin de permettre l accès à Internet aux stations de votre LAN, vous devrez configurer le NAT/PAT sur votre routeur. VI.1 Le PAT sur le routeur d accès vers Internet Avant d entrer dans les détails, présentons dès maintenant ce que fait le routeur d accès vers Internet : LAN du binôme 1 LAN du binôme 2 LAN du binôme 3 réseau routeur (NAT/PAT) d accès vers Internet LAN du binôme 4 10.0.0.0/8 10.255.255.254 139.124.187.94 Internet LAN du binôme x Il met en œuvre le PAT (Port Address Tranlsation) contraction de NAPT (Network Address and Port Translation), soit en français «traduction d adresse réseau et de port». Le PAT est aussi appelé «single address NAT» ou encore «port-level multiplexed NAT», une variante du NAT (Network Address Translation), en français «traduction d adresse réseau». Aujourd hui, le terme NAT (ou aliasing) est souvent utilisé pour désigner l ensemble des techniques NAT y compris le PAT. Vu d Internet, le réseau 10.0.0.0/8 n existe pas. Seule est connue (et routable) l adresse IP 139.124.187.94 : celle de l interface publique du routeur PAT. Pour permettre aux stations du LAN 10.0.0.0/8 de communiquer avec l extérieur, ce dernier doit modifier les messages envoyés afin que les réponses puissent revenir. INFO - IUT Aix-en-Provence C. Pain-Barre, A. Meyer et F. Dumas, 2010
TP 8-9 Réseaux Version du 3/5/2011 38/54 Exemple Suivons un exemple pour en comprendre le principe. Dans les schémas, on utilisera les abréviations suivantes : AS : adresse IP source ; AD : adresse IP destination ; PS : port TCP source et PD : port TCP destination. 1. l hôte 10.0.0.1 du réseau privé envoie un message TCP de port source 10000 à direction du port 25 (serveur SMTP) de l hôte 165.87.29.11 d Internet : IP AS : 10.0.0.1 PS : 10000 AD : 165.87.29.11 LAN 10.0.0.0/8 TCP PD : 25 routeur PAT Internet 10.0.0.1 10.255.255.254 139.124.187.94 165.87.29.11 2. arrivé au routeur d accès vers Internet, celui-ci remplace l adresse source du datagramme par la sienne 139.124.187.94 et le port source par le port 15000, met à jour sa table de traductions PAT, puis route le datagramme vers Internet : LAN 10.0.0.0/8 routeur PAT AS : 139.124.187.94 PS : 15000 AD : 165.87.29.11 PD : 25 Internet 10.0.0.1 10.255.255.254 139.124.187.94 165.87.29.11 IP TCP 3. le serveur SMTP de 165.87.29.11 envoie en réponse un message à destination du port 15000 de 139.124.187.94 : LAN 10.0.0.0/8 10.255.255.254 139.124.187.94 10.0.0.1 165.87.29.11 IP TCP routeur PAT AD : 139.124.187.94 Internet AS : 165.87.29.11 PS : 25 PD : 15000 4. arrivée au routeur d accès vers Internet, celui-ci consulte sa table PAT, qui lui dit de remplacer l adresse 139.124.187.94 et le port 15000 par 10.0.0.1 et 10000. Puis il route le datagramme sur le réseau 10.0.0.0/8 : LAN 10.0.0.0/8 10.255.255.254 139.124.187.94 10.0.0.1 165.87.29.11 IP TCP AS : 165.87.29.11 PS : 25 AD : 10.0.0.1 PD : 10000 routeur PAT Internet 5. la réponse parvient alors à 10.0.0.1 et est remise à l application utilisant le port TCP 10000. L exemple précédent montre une partie d une communication TCP. Ce peut être aussi une communication UDP ou ICMP. Le routeur PAT traduit (translate) les adresses IP et les ports afin que ne sortent vers Internet que C. Pain-Barre, A. Meyer et F. Dumas, 2010 INFO - IUT Aix-en-Provence
39/54 Version du 3/5/2011 TP 8-9 Réseaux des datagrammes ayant pour adresse source son adresse publique, et que les réponses revenant soient correctement acheminées vers leurs destinataires réels du LAN. C est exactement les opérations des *Box que les FAI mettent à disposition des particuliers. VI.2 Principes et terminologie du NAT Le NAT (Network Address Translation) ou traduction d adresse réseau a été proposé en 1994 dans la RFC 1631 4 comme solution à court terme face au manque d adresses IPv4, le temps de mettre au point IPv6 et de le déployer. Le NAT a des inconvénients parce qu il contredit le principe selon lequel les adresses IP des datagrammes doivent être celles des extrémités du dialogue. Il complique alors considérablement les communications pour certains protocoles (DNS, FTP, peer-to-peer, authentification/chiffrement,...). Mais ses avantages sont tels qu il sera probablement encore utilisé après le déploiement d IPv6, qui se fait du coûp sans précipitation. L objectif principal du NAT était de permettre aux adresses IP publiques d être partagées par un grand nombre de périphériques réseau qui utiliseraient des adresses IP n ayant pas de signification dans Internet (en particulier, les adresses privées définies dans la RFC 1918). Le cas le plus courant aujourd hui est celui de notre routeur PAT : avec une seule adresse IP publique permettre à une multitude d hôtes (LAN) avec des adresses privées de communiquer avec Internet. C est le type de NAT utilisé sur pratiquement tous les routeurs 5 DSL de type SOHO/PME, tels que les *Box. i Si plusieurs PC de votre LAN (société ou domicile) doivent accéder simultanément à Internet, alors que votre FAI (Fournisseur d Accès à Internet) ne vous fournit qu une seule adresse IP publique, vous êtes obligés de mettre en place un NAT/PAT. Dans la terminologie du NAT (issue de CISCO mais adoptée par la communauté réseau), on fait la distinction entre : les adresses globales (ou publiques) sont les adresses routables (sur Internet) car elles ont une signification à portée globale (pour l ensemble d Internet). Elles sont attribuées (indirectement) par l IANA. les adresses locales qui n ont un sens que localement, pour les hôtes du LAN La différence se situe sur l endroit où ces adresses sont utilisées dans les messages : à l intérieur (inside), appelé Site NAT, on utilise des adresses locales à l extérieur (outside), c est à dire le WAN, on utilise des adresses globales. La NATBox (ou routeur NAT) est la frontière entre ces mondes (et ces adresses), le seul point de passage : adresses locales adresses globales NATBox Site NAT Internet Intérieur (inside) localement, les adresses des messages sont libres Extérieur (outside) à l extérieur, les adresses doivent être publiques 4. Des versions plus actuelles sont les RFC 1663 et RFC 3022. 5. La quasi-totalité des routeurs du marché incluent les fonctionnalités NAT/PAT (et firewall). INFO - IUT Aix-en-Provence C. Pain-Barre, A. Meyer et F. Dumas, 2010
TP 8-9 Réseaux Version du 3/5/2011 40/54 Exemple Dans l exemple précédent, 10.0.0.1 est une adresse locale alors que 139.124.187.94 est une adresse globale. En revanche, l adresse 165.87.29.11 est à la fois locale et globale, car elle apparaît dans les messages à l intérieur et à l extérieur du Site NAT. Cela sera clarifié par la suite. Tous les messages franchissant la frontière inside/outside passent forcément par la NATBox qui en traduit les adresses : pour les messages sortants (inside outside) : les adresses locales sont traduites en adresses globales pour les messages entrants (inside outside) : les adresses globales sont traduites en adresses locales adresses locales adresses globales NATBox Site NAT Internet adresses locales Intérieur (inside) adresses globales Extérieur (outside) Le NAT/PAT n est concerné que par les messages passant cette frontière. Les messages restant du côté inside ne sont pas soumis au NAT. De même que ceux qui restent du côté outside. À cela s ajoutent les qualificatifs d interne et d externe : les adresses internes (inside) sont celles maîtrisées par l administrateur du site NAT ; les adresses externes (outside) font référence à des hôtes situés sur le WAN et qui possèdent (en principe) des adresses publiques. On distingue donc en réalité les 4 types d adresses suivantes : adresses locales internes ou ALI (inside local address) : les adresses (en principe privées) des hôtes du Site NAT ; adresses globales internes ou AGI (inside global address) : la (ou les) adresse(s) publique(s) de la NATBox et qui sont utilisées à la place des adresses locales internes quand un message sort du LAN vers Internet ; adresses locales externes ou ALE (outside local address) : les adresses des hôtes du WAN vues par les hôtes du LAN ; adresses globales externes ou AGE (outside global address) : les adresses des hôtes du WAN. La NATBox traduit les adresses source (AS) et destination (AD) des messages qui franchissent la frontière inside/outside. Le schéma complet des traductions NAT opérables est : C. Pain-Barre, A. Meyer et F. Dumas, 2010 INFO - IUT Aix-en-Provence
41/54 Version du 3/5/2011 TP 8-9 Réseaux message sortant AS : adresse locale interne AD : adresse locale externe Site NAT NATBox AS : adresse globale interne AD : adresse globale externe Internet AS : adresse locale externe AD : adresse locale interne Intérieur (inside) message entrant AS : adresse globale externe AD : adresse globale interne Extérieur (outside) Dans le cadre du NAT, les AS et les AD sont des adresses IP. Dans sa variante PAT, il s agit d adresses d applications. Dans le cas normal (hors overlapping), les adresses externes ne sont pas traduites (adresse locale externe adresse globale externe). Exemple Reprenons encore l exemple du début de cette section : 10.0.0.1 est une adresse locale interne ; 139.124.187.94 est une adresse gloable interne ; 165.87.29.11 est à la fois locale externe et globale externe. Mais puisqu il met en œuvre le PAT (dynamique), il traduit des adresses d application qui incluent aussi le protocole concerné (TCP, UDP ou ICMP), ainsi que les ports utilisés. Ce sera détaillé en section VI.4. VI.2.A Traductions inside et outside Les traductions à opérer dépendent des situtations, et les routeurs NAT professionnels peuvent être configurés pour opérer des traductions précises : traduction inside : traduire les adresses internes (inside) AS : adresse locale interne sortant AS : adresse globale interne Site NAT Internet AD : adresse locale interne AD : adresse globale interne entrant traduction outside : traduire les adresses externes (outside) sortant AD : adresse locale externe AD : adresse globale externe Site NAT Internet AS : adresse locale externe entrant AS : adresse globale externe En temps normal, cette traduction n est pas opérée. Et si elle l est, c est qu on doit aussi opérer une traduction inside pour traiter l overlapping. INFO - IUT Aix-en-Provence C. Pain-Barre, A. Meyer et F. Dumas, 2010
TP 8-9 Réseaux Version du 3/5/2011 42/54 les deux traductions à la fois afin de traiter l overlapping (voir plus loin). i Les *Box des FAI ne pratiquent que la traduction inside. L overlapping L overlapping (ou chevauchement d adresses) se caractérise par une intersection non vide des adresses locales internes et des adresses globales externes. En clair, des stations du Site NAT ont des adresses qui appartiennent aussi à des stations du WAN. Exemple Si au lieu de l adresse 10.0.0.0/8 en interne, on avait utilisé 165.87.0.0/16 et attribué l adresse 165.87.29.11 à une station du LAN, alors on ne saurait plus à l intérieur du Site NAT ce que représente cette adresse. La NATBox devrait alors pratiquer les traductions inside et outside, pour notamment modifier les adresses globales externes (légitimes) qui sont déjà utilisées (sans légitimité) en interne. Par exemple, la station externe 165.87.29.11 serait "vue" dans le Site NAT comme ayant l adresse 192.168.1.1. C est tout le sens des adresses locales externes. Cette situation est plutôt exceptionnelle (voir des exemples dans le cours), et pose de nombreux problèmes. Elle ne s applique pas à ce TP. Vous n aurez besoin que de la traduction inside. VI.2.B Variantes du NAT Avec un pool de n adresses publiques (AGI), plusieurs variantes sont possibles/combinables : NAT statique : on choisit par avance n stations et on associe leur adresse locale interne à une adresse globale interne. La traduction est un à un. Seules ces n stations pourront accéder à Internet. L avantage est que ces n stations peuvent être contactées par des hôtes externes, et peuvent donc être des serveurs ; NAT dynamique : on choisit m stations autorisées (en général m est bien supérieur à n) à accéder à internet. Les adresses globales internes leur sont associées dynamiquement et temporairement, lorsqu une station entreprend un dialogue avec une station externe. PAT dynamique : une même adresse globale interne est associée dynamiquement à plusieurs adresses locales internes. La NATBox utilise aussi les informations des protocoles TCP, UDP ou ICMP et traduit les ports. La table d association comprend aussi les ports, ce qui permet de distinguer le trafic. Avec le PAT, on n a besoin en général que d une seule adresse globale interne qui peut être partagée par des milliers de stations! C est la traduction opérée par notre routeur PAT. PAT statique : utilisée pour permettre à des serveurs internes d être joints depuis l extérieur, alors qu on n a pas assez d AGI pour du NAT statique. À nouveau, les ports TCP et UDP sont utilisés pour distinguer les ALI. i Les *Box des FAI réalisent des traduction PAT dynamiques si plusieurs ordinateurs du foyer doivent avoir accès à Internet. Elles permettent aussi le PAT statique. Nous allons nous concentrer sur le PAT (appelé overloading par CISCO), d abord dynamique puis statique. C. Pain-Barre, A. Meyer et F. Dumas, 2010 INFO - IUT Aix-en-Provence
43/54 Version du 3/5/2011 TP 8-9 Réseaux VI.3 Configuration du PAT dynamique Le routeur PAT d accès à Internet doit opérer une traduction inside : quand un message le traverse dans le sens inside outside, il doit traduire (remplacer) les adresses 6 locales internes en adresses globales internes. Il doit faire la traduction inverse quand un message le traverse dans le sens outside inside. Il ne dispose que d une seule adresse globale interne, 139.124.187.94. C est l adresse de son interface Ethernet0/0, côté externe (WAN). Son interface interne est Ethernet0/1 d adresse 10.255.255.254. Il doit traduire les adresses du réseau 10.0.0.0/8 : Routeur PAT Ethernet0/1 10.255.255.254 (adresse locale interne) Ethernet0/0 10.0.0.0/8 Internet 139.124.187.94 (adresse globale interne) Intérieur (inside) Extérieur (outside) La configuration du PAT dynamique se fait dans les quelques lignes extraites de sa running-config, figurant ci-dessous : interface Ethernet0/1 ip address 10.255.255.254... ip nat inside... interface Ethernet0/0 ip address 139.124.187.94... ip nat outside... access-list 1 permit 10.0.0.0 0.255.255.255 ip nat inside source list 1 interface Ethernet0/0 overload Les différentes étapes à suivre pour la configuration PAT dynamique sont les suivantes : 1. Définition des interfaces inside et outside en mode de configuration d interface : a. pour l interface inside : Router(config)#interface nom-interface-inside Router(config-if)#ip nat inside b. pour l interface outside : Router(config)#interface nom-interface-outside Router(config-if)#ip nat outside 6. On verra par la suite que «adresse» est à prendre dans un sens plus large car cela comprend le port. INFO - IUT Aix-en-Provence C. Pain-Barre, A. Meyer et F. Dumas, 2010
TP 8-9 Réseaux Version du 3/5/2011 44/54 2. En mode de configuration globale, définition d un filtre d adresses IP par une access-list (ACL) qui caractérise les adresses locales internes soumises au NAT/PAT : access-list numéro-acl permit IP-source wildcard-mask où : numéro-acl est le numéro d une ACL, compris entre 1 et 99 Une ACL est un filtre. Quand une commande précise une ACL, elle ne sera appliquée que pour les datagrammes passant ce filtre. Les ACL comprises entre 1 et 99 sont les IP standard access-list (les plus basiques) : elles n examinent que les adresses IP sources des datagrammes. Par défaut, les ACL sont vierges (vides), et aucun datagramme ne peut passer le filtre correspondant. La commande ci-dessus permet (permit) aux datagrammes, dont l adresse source correspond à ce qui suit, de passer le filtre de l ACL numéro-acl. IP-source et wildcard-mask, conjointement, représentent les adresses sources des datagrammes à retenir. Mais attention! wildcard-mask n est pas un masque de sous-réseau, c est même son inverse : les bits à 0 indiquent la partie de l adresse IP source du datagramme à comparer avec la valeur IP-source, alors que ceux à 1 indiquent les bits à ignorer 3. En mode de configuration globale, activation de la traduction PAT inside. ip nat inside source list ACL-number interface nom-interface-outside overload qui se traduit par : faire du PAT inside sur les messages entrant par une interface déclarée comme inside et sortant par une interface déclarée comme outside, et dont l adresse source concorde avec le filtre de l ACL ACL-number. Traduire (to translate) le message en utilisant l adresse globale interne de l interface nom-interface-outside (WAN). Plus précisémment : ip nat inside active la traduction NAT inside, et, overload, sa variante PAT source list ACL-number filtre les messages à traduire par l ACL ACL-number interface nom-interface-outside indique l interface outside dont il faut utiliser l adresse globale interne pour la traduction i Si l on dispose d un ensemble d adresses globales internes, on peut remplacer cette partie de la commande par pool nom-pool, où nom-pool est le nom du pool d adresses, défini avec ip nat pool. En dépit des apparences, les messages seront traduits dans les deux sens. Les adresses internes sont traduites de local en global pour les messages sortants (inside outside). Elles sont traduites de global en local pour les messages entrants (outside inside) Exercice 25 (activation du PAT dynamique sur le routeur du binôme) Il vous faut maintenant activer le PAT sur votre routeur en vous inspirant de la configuration du routeur d accès vers Internet. Pour cela : C. Pain-Barre, A. Meyer et F. Dumas, 2010 INFO - IUT Aix-en-Provence
45/54 Version du 3/5/2011 TP 8-9 Réseaux 1. Identifier les interfaces interne et externe du routeur, ainsi que les adresses IP associées 2. Préciser, dans la configuration des interfaces, laquelle est inside et laquelle est outside 3. Définir l ACL caractérisant les adresses locales internes à traduire 4. Activer la traduction inside de type PAT des messages correspondant à ce filtre 5. À partir du PC A, vérifier l accessibilité des stations 10.0.0.1 et 139.124.187.14 avec un ping 6. Vérifier aussi le routage et la résolution DNS en affichant http://www.wireshark.org/ dans un navigateur Web 7. À partir du PC A, utiliser traceroute (disponible aussi sur le routeur) pour voir quels sont les routeurs traversés pour arriver jusqu à la station 139.124.132.127 et jusqu à www.wireshark.org. 8. Sauver la configuration VI.4 Fonctionnement de la traduction dynamique PAT Nous prendrons le cas de notre routeur PAT (qu on appellera aussi NATBox) : une seule adresse globale interne doit être partagée par un ensemble de stations du site NAT. Pour cela, la NATBox doit réaliser une traduction interne dynamique PAT. Avec le PAT, la NATBox ne traduit pas seulement les adresses IP mais doit traduire des adresses d application. Le PAT traduit des adresses d application locales en adresses d application globales (internes et externes), et inversement. La NATBox tient compte et traduit les informations des protocoles utilisant IP : TCP, UDP et ICMP. Pour TCP et UDP, elle doit traduire les ports utilisés. Pour ICMP, cela dépend du message. En étendant ainsi les informations utilisées, elle ne garde pas seulement trace de la station interne qui dialogue avec Internet mais plutôt du dialogue lui-même, à travers les adresses des applications impliquées dans ce dialogue. VI.4.A Initiation d une traduction dynamique PAT Pour une traduction interne dynamique PAT, la création d une traduction dynamique n a lieu qu à l initiative d une station interne, lorsqu elle entame un dialogue avec une station externe. Quand une application (interne) initie un dialogue avec une application (station) externe, le message parvient à la NATBox qui identifie l application (interne) par son adresse locale interne, le protocole (TCP, UDP, ICMP) et le port local 7 interne source du message. La NATBox traduit l adresse locale interne en adresse globale interne. Le port local interne est aussi traduit en port global interne. La traduction modifie sa valeur si une autre application interne utilisant le même protocole et le même port source est déjà en train de dialoguer. Dans ce cas, le port global interne est choisi parmi les ports du protocole considéré qui sont libres sur la NATBox. La NATBox doit alors gérer une table de traduction dynamique PAT dans laquelle figurent les protocoles (TCP, UDP, ICMP) et les ports. Sur un routeur CISCO, cette table possède 5 colonnes : Protocol, Inside global, Inside local, Outside global et Outside local, où : Protocol est l un des protocoles TCP, UDP ou ICMP Inside global a la forme addresse-globale-interne:port-global-interne Inside local a la forme addresse-locale-interne:port-local-interne 7. Par abus de langage, nous utiliserons «port» même pour un message ICMP. On verra le traitement particulier de ICMP plus loin. INFO - IUT Aix-en-Provence C. Pain-Barre, A. Meyer et F. Dumas, 2010
TP 8-9 Réseaux Version du 3/5/2011 46/54 Outside global a la forme addresse-globale-externe:port-global-externe Outside local a la forme addresse-locale-externe:port-local-externe Le schéma complet des traductions PAT opérables est : message sortant Proto Proto (source) ALI:PLI (dest.) ALE:PLE Site NAT (source) ALE:PLE (dest.) ALI:PLI Intérieur (inside) NATBox message entrant Proto Proto (source) AGI:PGI (dest.) AGE:PGE Internet (source) AGE:PGE (dest.) AGI:PGI Extérieur (outside) Notre routeur PAT est configuré pour opérer une traduction inside : les adresses internes (Inside) sont remplacées de local en global quand le message le traverse pour aller vers l extérieur, et inversement pour un message entrant. Parce que c est inutile dans notre cas (pas d overlapping), il n est pas configuré pour opérer une traduction outside, où les adresses externes (Outside) sont (aussi) traduites. La table de traduction d un routeur CISCO est visible en mode privilégié avec la commande : Router#show ip nat translations Exemple En reprenant l exemple du routeur PAT (cf. section VI.1), la traduction opérée apparaîtrait ainsi : Router#show ip nat translations Pro Inside global Inside local Outside local Outside global tcp 139.124.187.94:15000 10.0.0.1:10000 165.87.29.11:25 165.87.29.11:25............... Nous voyons les traductions effectuées (seulement) sur les adresses internes. On remarque que le port 10000 a été traduit en port 15000, probablement parce qu une station interne utilise déjà le port TCP 10000 dans un dialogue en cours avec une station externe. Si cette station est 10.0.0.21 et qu elle dialogue avec le serveur POP3 (port 110) de la machine 124.2.96.28, alors la ligne suivante apparaît aussi dans cette table : tcp 139.124.187.94:10000 10.0.0.21:10000 124.2.96.28:110 124.2.96.28:110 VI.4.B Traduction dynamique PAT des messages sortants On vient de le voir, pour une traduction interne, ce sont les messages sortants (inside outside) qui sont à l origine de la création d une traduction dynamique. Mais pour un dialogue donné entre une application interne et une application externe, seul le premier message sortant crée une traduction dynamique, et donc une entrée dans la table des traductions. Les autres messages sortants de ce dialogue sont traduits conformément à cette entrée. C. Pain-Barre, A. Meyer et F. Dumas, 2010 INFO - IUT Aix-en-Provence
47/54 Version du 3/5/2011 TP 8-9 Réseaux Plus précisément, lorqu un message sortant se présente à la NATBox, celle-ci cherche dans sa table de traductions le dialogue correspondant, c est à dire une entrée où Protocole correspond à celui du message, où Inside local correspond à sa source (adresse et port) et où Outside local correspond à sa destination (adresse et port). S il en existe une, le message est traduit en remplaçant les champs correspondant à Inside local par ceux figurant en Inside global. Les informations Outside seraient traduites aussi de local en global si la NATBox opérait aussi un NAT outside. Sinon, il s agit d un nouveau dialogue et une nouvelle traduction (nouvelle entrée) est créée. Exemple On continue l exemple précédent, où le dialogue a été initité par l application interne utilisant le port TCP 10000 de la station 10.0.0.1, et où l application externe utilise le port 25 de la station 165.87.29.11. Quand l application externe envoie d autres messages de ce dialogue, ceux-ci ont 10.0.0.1 comme adresse locale interne, TCP comme protocole et 10000 comme port source. Quand ces messages passent par la NATBox pour sortir, elle se rend compte que la table contient une entrée (TCP) avec pour Inside local 10.0.0.1:10000, et traduit ces messages avec l Inside global correspondant (139.124.187.94:15000). D autre part, si une application interne (identifiée par une adresse locale interne, un protocole, et un port) a initié des dialogues simultanément avec plusieurs applications externes, alors la table de traduction contient autant d entrées qu il y a de dialogues en cours. Chez CISCO, si le protocole utilisé est UDP ou ICMP, le routeur garde le même Inside global pour chacune de ces entrées. Mais si le protocole est TCP, le routeur crée une nouvelle traduction dynamique pour chacune de ces entrées en associant, à chaque Inside local, un nouvel Inside global (la même adresse globale interne mais un port global différent). i Ce comportement des routeurs CISCO est un peu surprenant. En théorie, la NATBox pourrait utiliser le même Inside global pour les mêmes Inside local. S ils ne le font pas, ce doit être par ce que cela leur facilite la tâche... Exemple Si l application interne précédente initie, à partir du même port, un nouveau dialogue avec l application externe (serveur FTP) utilisant le port 21 de la station 85.110.28.91, alors que le dialogue précédent est toujours en cours, alors on aura une table qui ressemble à (si le port global 15001 était libre) : Router#show ip nat translations Pro Inside global Inside local Outside local Outside global tcp 139.124.187.94:15000 10.0.0.1:10000 165.87.29.11:25 165.87.29.11:25 tcp 139.124.187.94:15001 10.0.0.1:10000 85.110.28.91:21 85.110.28.91:21 où l on voit qu une nouvelle entrée a bien été créée, avec un Inside global qui diffère du précédent par le port global utilisé. Mais si le protocole est UDP, on peut très bien avoir plusieurs entrées ayant le même couple Inside global et Inside local : Router#show ip nat translations Pro Inside global Inside local Outside local Outside global udp 139.124.187.94:22000 10.0.0.1:22000 138.142.18.5:13 138.142.18.5:13 udp 139.124.187.94:22000 10.0.0.1:22000 76.34.151.39:7 76.34.151.39:7 INFO - IUT Aix-en-Provence C. Pain-Barre, A. Meyer et F. Dumas, 2010
TP 8-9 Réseaux Version du 3/5/2011 48/54 VI.4.C Traduction dynamique PAT des messages entrants Dans le cadre d une traduction interne, les messages entrants (outside inside) ne peuvent pas créer de nouvelle traduction dynamique. Lorsqu ils arrivent à la NATBox, celle-ci recherche dans sa table le dialogue correspondant, c est à dire une entrée où Protocole correspond à celui du message, où Outside global correspond à sa source (adresse et port) et où Inside global correspond à sa destination (adresse et port). S il elle en trouve une, le message est traduit en remplaçant les informations Inside de global en local (les adresses Outside seraient traduites aussi si la NATBox opérait aussi un NAT outside). Si elle n en trouve pas, le message est purement et simplement rejeté (un message d erreur ICMP est éventuellement renvoyé). De cette façon, le NAT introduit un certain niveau de sécurité : les stations du LAN ne sont pas directement accessibles de l extérieur sauf pour les dialogues en cours, qui rappelons-le sont établis à l initiative des stations internes 8. Ainsi, une NATBox est un peu un pare-feu. En revanche, en matière de sécurité, il ne s agit toutefois que d une option qui ne peut remplacer un véritable pare-feu avec un filtrage pertinent des communications TCP/IP (par exemple pour fournir une protection contre les communications abusives d un Cheval de Troie). Exemple En tenant compte de la table de l exemple précédent, un message entrant ne sera accepté que s il correspond à l une des quatre entrées (en comptant UDP). Le triplet Protocole, Inside global et Outside global doit coïncider avec les champs du message. Seuls seront donc acceptés : les messages TCP d adresse source 165.87.29.11 et port source 25, et d adresse destination 139.124.187.94 et port destination 15000 les messages TCP d adresse source 85.110.28.91 et port source 21, et d adresse destination 139.124.187.94 et port destination 15001 les messages UDP d adresse source 138.142.18.5 et port source 13, et d adresse destination 139.124.187.94 et port destination 22000 les messages UDP d adresse source 76.34.151.39 et port source 7, et d adresse destination 139.124.187.94 et port destination 22000 VI.4.D Table de traduction : mise à jour et gestion Afin de retirer des entrées de la table d association, et libérer les adresses globales internes et les ports globaux internes qu elle utilise, la NATBox doit maintenir un état des "sessions" en cours, à savoir : les connexions TCP les dialogues UDP les dialogues ICMP (ping essentiellement) et déceler la fin de ces sessions. C est un problème auquel il n y a pas de solution "transparente". Une session (connexion) TCP sera considérée terminée dans l un des cas suivants : les deux côtés ont envoyé leur segment FIN un côté à envoyé un segment RST 8. Nous verrons plus loin qu on peut établir des correspondances de ports TCP/UDP pour réaliser ce qu on appelle communément la redirection de ports (port redirection ou port forwarding) pour les connexions entrantes (traduction PAT statique). C. Pain-Barre, A. Meyer et F. Dumas, 2010 INFO - IUT Aix-en-Provence
49/54 Version du 3/5/2011 TP 8-9 Réseaux mais rien ne dit qu ils l ont reçu. Sur un routeur CISCO, la connexion est considérée comme close 60 secondes après l une de ces situations. Pour une "session" UDP ou ICMP, c est dépendant des applications! Elle est considérée close si aucun datagramme la concernant n est reçu par la NATBox pendant un certain temps, qui est configurable sur la NATBox. La NATBox peut aussi disposer d un module reconnaissant des applications utilisatrices de ces protocoles pour reconnaître ce type de sessions. Le commandes suivantes sont utilisées pour configurer la durée de vie d une association de traduction dynamique sur le routeur : Router(config)#ip nat translation udp-timeout secondes (par défaut, 300 secondes) Router(config)#ip nat translation tcp-timeout secondes (par défaut, 24 heures) Router(config)#ip nat translation finrst-timeout secondes (par défaut, 60 secondes) Router(config)#ip nat translation icmp-timeout secondes (par défaut, 60 secondes) Router(config)#ip nat translation dns-timeout secondes (par défaut, 60 secondes) où secondes indique le temps après lequel, si aucun message de la session ne se présente, celle-ci sera considérée comme terminée. i Un paramétrage plus fin est aussi possible, en précisant un timeout pour un protocole donné (TCP ou UDP) et pour des ports donnés. Nous avons déjà vu que pour afficher la table de traduction (et vérifier que tout fonctionne), il fallait utiliser la commande suivante en mode privilégié : Router#show ip nat translations On peut également afficher les traductions opérées en temps réel sur la console (mais il deviendra un peu difficile de travailler dessus) avec : Router#debug ip nat ainsi que des statistiques avec : Router#show ip nat statistics Il est possible d effacer toutes les entrées de la table de translation : Router#clear ip nat translation * ou seulement des entrées spécifiques : clear ip nat translation inside global-ip [ global-port] local-ip [ local-port]...... [outside local-ip global-ip] Exercice 26 (gestion des traductions) À partir de maintenant, travailler sur le routeur via TELNET afin de garder la console libre pour afficher les messages du debugging. INFO - IUT Aix-en-Provence C. Pain-Barre, A. Meyer et F. Dumas, 2010
TP 8-9 Réseaux Version du 3/5/2011 50/54 1. À partir d un terminal du PC A, recommencer un ping des stations 10.0.0.1 et 139.124.187.14. Avec Iceweasel (Firefox), afficher dans deux onglets les URL http://www.wireshark.org/ et http://139.124.187.4. Afficher la table de traduction de votre NATBox. 2. À partir d un terminal du PC A, recommencer le traceroute jusqu à la station 139.124.132.127. Afficher la table de traduction 3. Utiliser le pipe pour n afficher que les traductions des messages TCP. Fournir la commande. 4. Vider la table de traduction 5. Modifier la durée de vie des entrées de la table de traduction : 20 minutes pour le protocole TCP, seulement 5 secondes pour UDP, ICMP et DNS. Fournir les commandes. 6. Déboguer la traduction en affichant les informations de la traduction en temps réel sur la console 7. Afficher dans Iceweasel l URL http://10.1.0.0/index.php. Faire une copie d écran des informations de debugging de la console. Sur la session TELNET, afficher la table de traduction. Arrêter la capture de Wireshark et l enregistrer sous le nom capture-26 8. L affichage de la page Web a nécessité l envoi/réception de plusieurs datagrammes IP, véhiculant les messages TCP du protocole HTTP. Pour le premier datagramme émis par le PC A contenant la requête HTTP, et le premier datagramme reçu en réponse, fournir l adresse IP source, l adresse IP destination, le port source, le port destination et le protocole de couche 4, contenu dans ces datagrammes lorsque ceux-ci ont circulé côté LAN et côté WAN. Il y a donc 4 datagrammes à préciser (requête côté LAN et côté WAN ; réponse côté WAN et côté LAN) 9. Sur le PC B, se connecter par SSH sur allegro. Utiliser nc pour créer un serveur qui écoute sur le port 50000 + x, où x est votre numéro de binôme 10. Sur le PC A, utiliser TELNET pour contacter ce serveur. Le tester puis, à partir de l état des connexions sur allegro (commande netstat) et la table de traduction de votre routeur, en déduire l entrée de la table de traduction sur le routeur d accès vers Internet. Indiquer le résultat des commandes et votre façon de procéder pour votre déduction. VI.4.E Interactions entre le NAT et les autres protocoles La traduction opérée par le NAT/PAT doit être transparente, autant pour les ordinateurs que les protocoles de TCP/IP. Or, la modification des adresses/ports source et destination n est pas anodine pour de nombreux protocoles comme IP, ICMP, TCP, UDP, FTP, etc. : IP inclut les adresses IP dans le calcul du checksum TCP et UDP les incluent aussi dans le calcul de leur checksum (pseudo en-tête) TCP et UDP y incluent aussi les ports et les données ICMP ne fournit pas de ports (problème pour le PAT). Les messages d erreur ICMP (types 3 à 5 et 11) contiennent toutefois les en-têtes IP et TCP/UDP des datagrammes en cause et peuvent donc être traduits. Les messages ICMP de demande (ECHO 9, Horodatage, etc.) contiennent un identificateur. L identificateur (ainsi que l adresse locale interne) est traduit par un identificateur global comme s il s agissait d un port. FTP envoie, dans la commande PORT et en réponse de la commande PASV, une adresse IP et un port TCP à utiliser pour établir une connexion de données. Ils doivent être traduits, ce qui modifie le segment TCP qui transporte ce message. 9. Voir aussi http://www.reseaucerta.org/exonets/exonet83.htm C. Pain-Barre, A. Meyer et F. Dumas, 2010 INFO - IUT Aix-en-Provence
51/54 Version du 3/5/2011 TP 8-9 Réseaux La NAT box doit en tenir compte et modifier tous les messages des protocoles qui utilisent les adresses qu elle traduit! Il en découle que le NAT/PAT complique l utilisation des protocoles utilisant les adresses et les ports dans leurs messages. Les NATBox savent en général traduire les messages des protocoles classiques. Mais elles peuvent être incompatibles avec des protocoles moins "standard", comme le protocole GRE (couche 4), utilisé par le protocole PTPP (Point To Point Protocol) qui permet de créer des tunnels VPN (accès à distance sécurisé). Exercice 27 (Dialogue ICMP au travers d un routeur NAT/PAT) 1. Vider la table de traduction de votre routeur NAT 2. Augmenter la durée de vie des associations de la table de traduction pour les messages ICMP (par exemple 10 min) 3. À partir du PC A, envoyer un ping (message ICMP de type ECHO) à partir de votre station vers l adresse 10.0.0.1 en utilisant deux paquets ICMP (ping -c 2 10.0.0.1) et capturer les quatre trames (2 fois un message écho et la réponse à écho). Fournir les valeurs des 5 premières champs de chaque message ICMP. 4. Afficher la table de traduction et en déduire les 5 champs des deux premiers messages ICMP circulant du côté WAN de votre routeur PAT (la première requête et la première réponse) VI.5 PAT statique pour la redirection de port des connexions entrantes Nous avons vu précédemment que les connexions et sessions TCP/IP entrantes sont rejetées par la NATBox. Alors, que faire si une société souhaite mettre en place un serveur de messagerie (SMTP) ou un serveur Web (HTTP) derrière le NAT? A priori, en utilisant le NAT sur votre routeur Internet, cette station ne sera jamais accessible à partir de l extérieur. La solution pour permettre une connexion entrante au travers d un NAT est la mise en place d une redirection de port (port redirection, ou port forwarding). Il s agit d une traduction PAT statique basée sur l adresse d un port TCP ou UDP. Souvent, la redirection de port est aussi appelé virtual serveur ou virtual application. Dans l exemple suivant (Live Box d Orange), une redirection de port est définie pour rendre un serveur Web (derrière le NAT) accessible à partir de l extérieur : port externe protocole adresse locale 80 tcp 192.168.11.1 Certains routeurs PAT plus sophistiqués dont le nôtre permettent une redirection à la fois plus détaillée et plus restrictive, comme le montre l exemple suivant : adresse IP port externe adresse IP port interne protocole(s) source externe (ou plage de ports) interne (ou plage de ports) 80.139.53.71 8631 8632 tcp,udp 192.168.11.1 5631 5632 Dans cet exemple, uniquement les datagrammes provenant de l adresse IP 80.139.53.71 véhiculant des paquets TCP ou UDP, dont le port de destination est 8631 ou 8632, sont traduits vers l adresse 192.168.11.1. Le port de destination 8631 est traduit vers 5631 et le port de destination 8632 est traduit vers 5632. La traduction inverse est opérée pour les datagrammes à destination de 80.139.53.71, provenant de 192.168.11.1 et dont le port source est 5631 ou 5632. INFO - IUT Aix-en-Provence C. Pain-Barre, A. Meyer et F. Dumas, 2010
TP 8-9 Réseaux Version du 3/5/2011 52/54 Sur un routeur CISCO, sur lequel le PAT est activé en utilisant une seule adresse publique, la redirection de port pour un serveur HTTP, FTP et un serveur SMTP peut être configurée comme suit : ip nat inside source static tcp 192.168.11.5 21 interface Ethernet0 21 ip nat inside source static tcp 192.168.11.5 25 interface Ethernet0 25 ip nat inside source static tcp 192.168.11.5 80 interface Ethernet0 80 Pour un serveur FTP interne, il est nécessaire d informer la NATBox qu elle doit suivre la communication TCP au niveau de la couche application (couches 5-7 du modèle TCP/IP simplifié) en ajoutant le paramètre extendable à la fin de la commande (ceci concerne en vérité que quelques anciens modèles des routeurs CISCO). La NAT box des CISCO 1720/1721 (IOS version 12.3) suit la couche application du protocole FTP par défaut et le paramètre extendable n est pas nécessaire. Exercice 28 (redirection de ports) 1. Le routeur d accès vers Internet est configuré pour rediriger les connexions entrantes (à destination de 139.124.187.94) sur le port x 1000 + 80 de TCP, où x est un numéro de binôme compris entre 1 et 14, vers le port 80 de l adresse 10.255.255.x. Quelle est la règle qui a été utilisée pour votre binôme? 2. Configurer votre routeur pour qu il opère une redirection de port pour les connexions entrantes (vers l adresse 10.255.255.x) sur le port 80 de TCP vers le port 80 du PC A. Fournir la commande. 3. Demander à l enseignant de tester cette redirection 4. Sauver la configuration i Pour conclure ce TP, sachez qu on peut utiliser le NAT dans bien d autres cas : On doit changer des adresses internes. Au lieu de les changer, on les traduit par du NAT. Le NAT permet aussi de fournir une solution élégante de renumérotation pour les organisations qui changent de fournisseur de service Internet. Cependant, il faut alors généralement traiter l overlapping car les adresses internes ont probablement été réattribuées par l ancien FAI à un autre client. On veut rendre accessible des hôtes qui sont localement et globalement dans le même adressage (i.e. qui partagent les mêmes adresses réseau). Autrement dit, on permet une connectivité d adresses qui se chevauchent (overlapping) de part et d autre du routeur NAT. On peut également utiliser le NAT pour distribuer la charge TCP vers un hôte virtuel (proxy) qui répond à la place de plusieurs serveurs réels selon un principe de round-robin. C. Pain-Barre, A. Meyer et F. Dumas, 2010 INFO - IUT Aix-en-Provence
53/54 Version du 3/5/2011 TP 8-9 Réseaux VII Annexe VII.1 Message ICMP de test d accessibilité et d état (PING) Ces messages ICMP, utilisés notamment par la commande ping, ont le format suivant : 8 bits 8 bits 16 bits Type (0 ou 8) Code (0) Total de Contrôle Identificateur Numéro de séquence Données optionnelles... où les champs ont la signification suivante : Format du message ICMP d ECHO Type : (8 bits) Sa valeur indique s il s agit d une demande ou d une réponse d ECHO : 0 : réponse à une demande d ECHO 8 : demande d ECHO Identificateur : (16 bits) Permet l indentification (unique) de la demande. Puisque plusieurs demandes d ECHO peuvent être transmises à un même ordinateur, ce champ permettra de distinguer les réponses. Par exemple, on peut utiliser deux fois ping en même temps sur deux terminaux à destination d un seul ordinateur. Les deux processus ping recevront toutes les réponses et utiliseront ce champ pour distinguer les réponses qui les concernent. En cas de PAT, ce champ est utilisé et traduit comme un port TCP ou UDP. Numéro de séquence : (16 bits) Une demande d ECHO n est généralement pas unique : certaines versions de ping s arrêtent après un nombre prédéfini de demandes/réponses et, pour d autres, il faut stoper manuellement le processus. Bien souvent, le nombre de demandes/réponses est paramétrable (option -c sur Linux, option -n sur Windows). Dans ce cas, toutes les demandes ont le même Identificateur et c est le Numéro de séquence qui change entre 2 demandes. Celui-ci commence à 1 et est incrémenté de 1 à chaque demande. Données : (taille variable) Zone optionnelle et ces données ne sont pas utilisées (mais reproduites dans la réponse). ping sur Linux place dans cette zone 56 octets, alors qu il n y en a que 32 sur Windows. Cette taille est paramétrable (option -s sur Linux et -l sur Windows). Un intérêt majeur de cette zone est de tester si le datagramme IP généré peut arriver sans fragmentation, quand on met à 1 son bit Don t Fragment (par défaut sur Linux, option -f sur Windows). INFO - IUT Aix-en-Provence C. Pain-Barre, A. Meyer et F. Dumas, 2010
TP 8-9 Réseaux Version du 3/5/2011 54/54 VIII Vue d ensemble de la salle de TP Partie du réseau 10.0.0.0/8 LAN 1 : 192.168.1.0/24 IP WAN LAN 2 : 192.168.2.0/24 IP WAN LAN 3 : 192.168.3.0/24 IP WAN IP LAN IP LAN IP LAN Internet 139.124.187.94 Binôme 1 routeur (NAT/PAT) d accès vers Internet LAN 6 : 192.168.6.0/24 IP LAN Binôme 6 Binôme 9 10.255.255.254 Binôme 2 Binôme 4 IP LAN 192.168.4.0/24 IP WAN LAN 4 : Partie du réseau 10.0.0.0/8 IP WAN LAN 7 : 192.168.7.0/24 IP LAN Binôme 7 Binôme 10 IP WAN Binôme 3 Binôme 5 IP LAN 192.168.5.0/24 LAN 5 : LAN 8 : 192.168.8.0/24 IP LAN Binôme 8 Binôme 11 IP WAN IP WAN Partie du réseau 10.0.0.0/8 Partie du réseau 10.0.0.0/8 IP LAN IP LAN IP LAN 192.168.9.0/24 IP WAN LAN 9 : 192.168.10.0/24 IP WAN LAN 10 : 192.168.11.0/24 IP WAN LAN 11 : Partie du réseau 10.0.0.0/8 LAN 12 : 192.168.12.0/24 IP WAN LAN 13 : 192.168.13.0/24 IP WAN LAN 14 : 192.168.14.0/24 IP WAN IP LAN IP LAN IP LAN Binôme 12 Binôme 13 Binôme 14 FIGURE 3 Vue d ensemble de la salle de TP. Le réseau du Département Informatique n apparaît pas, de même que le routeur de l IUT. C. Pain-Barre, A. Meyer et F. Dumas, 2010 INFO - IUT Aix-en-Provence