Prise en main des équipements Cisco

Objectif

L’objectif dans ce TP est de se familiariser avec l’utilisation des équipements CISCO, routeurs et commutateurs (switches) :

  • Accés physique avec un port console
  • Accès distant
  • Configuration des interfaces réseaux
  • Sécurisation des accès
  • Test de la configuration et Troubleshooting
Notations

Tout ce qui sera mis entre [[]] doit être remplacé par la valeur correspondante dans votre configuration.

Environnement
  • Voici les slides du cours

  • Vous devez télécharger cette iso linux et le lancer avec un hyverviseur (Virtualbox ou Vmware). C’est un live linux, il n’est donc pas persistant.

  • Une foix la vm_guest lancée :

    • je vous recommande de lui affecter une adresse IP [[ip_vm_guest]] selon le type de configuration de votre hyberviseur:
        fast-ip [[name_interface_reseau]] dhcp
    • de lancer le serveur ssh :
        sudo systemctl start ssh
    • Vous pouvez maintenant vous y connecter à partir du terminal de votre mahcine hôte via ssh :
        ssh -X user@[[ip_vm_guest]]
        password : user

    Je vous recommande vivement de travailler depuis le terminal de votre machine hôte afin de faciliter le copier/coller lors de la rédaction de votre rapport (oui il faut un rapport par groupe pour chaque TP 😁.

  • Pour lancer GNS3, vous avez deux solutions:

    • Soit de lancer le GNS3 server :
        fast-gns3-server -r

    puis y accéder via votre Navigateur préféré. Login : user , password : user

    • Soit en lançant l’interface graphique bureau de GNS3 via la session SSH
        gns3
  • Pour enregistrer votre projet GNS3 utilisez cette commande :

    fast-save-project
  • Pour restaurer un projet existant sauvegardé, utilisez cette commande :
        fast-restore-lab [[archive_du_projet.tar.xz]]

Mise en place de l’architecture réseau

Voici l’architecture réseau sur laquelle nous allons travailler :

Figure 1: Architecture réseau

Nommez les différents équipements et expliquez leur fonctionnement.

Mettez en place cette architecture dans GNS3. L’interface de GNS3 est assez intuitive. Avant de commencer, il faut tout d’abord créer un projet. Choissisez parmi ces équipements : C3725, Switch-L3 et Debian.

Configuration des équipements Cisco

Il existe deux méthodes pour accèder à l’interface de commande des équipements Cisco (command-line interface (CLI)) :

  • Physiquement via le cable console (cf. Figure 1).
  • A distance via le prtocole Telnet ou SSH.

Cisco Systems a créé son propre système d’exploitation réseau propriétaire pour ses commutateurs et routeurs appelé Cisco Internetwork Operating System (Cisco IOS). Le Cisco IOS vous permet de configurer et de gérer leurs appareils via une interface en ligne de commande (CLI).

Dans n’importe quel ordinateur ou appareil mobile, le système d’exploitation doit être stocké dans une zone de mémoire persistante (un disque dur HDD ou SSD). L’avantage d’avoir un HDD/SSD est que lorsque l’appareil est éteint ou redémarré, son contenu n’est pas perdu. Cependant, sur un commutateur ou un routeur Cisco, il n’y a pas de disques durs, alors où est stocké le Cisco IOS ?

Cisco IOS est stocké dans un emplacement appelé Flash. Les données écrites dans la mémoire Flash ne sont pas perdues lorsque l’appareil est éteint ou redémarré.

Ce type de mémoire est appelé mémoire vive non volatile (NVRAM).

Pour comprendre clairement le processus de démarrage réel d’un appareil Cisco IOS, examinons les étapes suivantes :

  • Lors de la mise sous tension d’un appareil Cisco, un test d’autocontrôle (POST : Power-on Self Test) est exécuté par le micrologiciel de l’appareil pour vérifier la possibilité de toute défaillance matérielle avant de charger le Cisco IOS. Si tout semble normal, le micrologiciel charge le Bootstrap, qui se trouve dans la mémoire morte (ROM : Read-only Memory).

  • Le Bootstrap vérifie dans la mémoire Flash la présence du fichier Cisco IOS. S’il est trouvé, le Cisco IOS est chargé dans la RAM.

  • Si le Cisco IOS n’est pas trouvé dans la mémoire Flash, l’appareil le recherche un serveur TFTP (Trivial File Transfer Protocol) sur le réseau. Cette pratique est courante dans l’industrie.

  • Si l’appareil Cisco ne parvient pas à localiser un serveur TFTP sur le réseau, il charge une version réduite du Cisco IOS dans la RAM. La version réduite fournit les fonctions essentielles qui permettent à l’administrateur de l’appareil de résoudre les problèmes et de recharger le fichier Cisco IOS dans sa mémoire Flash, restaurant ainsi l’appareil dans un état de fonctionnement.

  • Une fois que le Cisco IOS est chargé dans la RAM, le bootstrap vérifie le contenu de la NVRAM pour les fichiers de configuration précédemment enregistrés ; ce fichier est appelé startup-config. Si un fichier startup-config est trouvé, il est chargé dans la RAM.

  • Si aucun fichier startup-config n’est trouvé, l’appareil charge ses configurations par défaut dans la RAM en tant que running-config.

Le contenu de la RAM est appelé running-config. running-config est la configuration actuelle de l’appareil lorsque celui-ci est sous tension. Cependant, gardez à l’esprit que si l’appareil arrete d’être alimentaté ou est redémarré, le contenu de sa RAM est perdu.

Le running-config n’est pas sauvegardé automatiquement dans la NVRAM. Les configurations de l’appareil doivent être sauvegardées manuellement, car cela crée ou met à jour le fichier startup-config.

Voici un organigramme pour vous donner une meilleure représentation visuelle du processus de démarrage d’un appareil Cisco IOS :

Figure 2: Processus de démarrage d’un appareil Cisco IOS

Un complément d’informations peut être trouvé dans cette patie du cours.

Ouvrez le terminal de chaque équipement dans GNS3.

Les différents modes d’exécution

Quand vous etablissez une connexion à un équipement Cisco, vous êtes par défaut dans le mode User Exec (facilement identifiable grâce au prompt >). Ce mode offre offre des droits et capacités limités à l’utilisateur. Il permet de réaliser des actions de surveillance ou de troubleshooting (ex. ping, traceroute, …).

Tapez enable pour passer au mode Privilege Exec Tapez disable pour repasser au mode utilisateur

Ce mode identifié par le prompt # permet à l’utilisateur de réaliser beaucoup plus d’actions. Dans ce mode, l’utilisateur configure l’horloge du système, réalise beaucoup plus de tâches de troubleshooting, de lancer la commande show ou de passer au mode de configuration globale.

Tapez config terminal ou la version courte conf t pour passer au mode Globl Config. Tapez exit pour le quitter.

Le diagramme suivant récapitule visuellement les différents modes.

Chemin des différents modes d’exécution

L’aide contextuel

context-sensitive help permet de déterminer la syntax correcte d’une commande en tapant une partie de la commande et saisir à la fin le symbole ?

Router>en?
enable 
Router>
  1. En utilisant cette méthode, apprenez plus à propos de la commande show
  2. Afficher la verions de l’IOS de tous les équipements Cisco de l’architecture Figure 1.

Changer le nom de l’équipement

Passez en mode Global Config, puis changez le noms des 3 équipements cisco en utilisant la commande hostname

Activation du Cisco Discovery Protocol (CDP)

Vous pouvez trouver quelques infos sur la partie cours ici

  • Documentez vous sur ce protocole, quel est son rôle ?

  • En utilisant la commande cdp run dans le mode de configuration globale, activez-le.

Pour le désactiver, il suffit d’exécuter la négation avec no de la commande précédente : no cdp run. Cette démarche est valable en général pour toutes les autre commandes Cisco.

  • Exécutez la commande : Equipement_name # show cdp neighbors sur les équipements cisco. Quelles sont les informations importantes affichées par la commande ?

  • Même question avec l’option detail.

On peut également l’appliquer uniquement sur une interface précise :

R1# config terminal

R1(config)# interface FastEthernet0/1

R1(config-if)# cdp enable

R1(config-if)# exit

Configuration des adresse IP des différents équipements

  1. Avant d’affecter les adresses IP aux différentes interfaces des équipements Cisco (cf. Figure 1), affichez les informations les concernants :
[[nom_equipement]]# show ip interface biref
  1. Donnez la signification de la valeur de chaque colonne du résultat affiché par cette commande

  2. Affectez maintenant les adresses IP et activez l’interface :

[[nom_equipement]]#configure terminal
[[nom_equipement]](config)#interface [[nom_interface]]
[[nom_equipement]](config-if)#description Connected to LAN 1 - [[192.168.x.0/24]] network
[[nom_equipement]](config-if)#ip address [[192.168.x.x]] [[255.255.255.0]]
[[nom_equipement]](config-if)#no shutdown
[[nom_equipement]](config-if)#exit
[[nom_equipement]](config)#
  1. Réafichez les informations relatives aux interfaces et notez les changements:
[[nom_equipement]]# show ip interface [[nom_interace]]
  1. Sur quel colonne les commandes shutdown et no shutdown agissent-elles ? Elles permettent de la faire passer de quel état vers quel état ?

  2. Affichez les informations statistiques des interfaces réseaux que vous venez de configurer:

[[nom_equipement]]# show interfaces [[nom_interace]]
  1. Enfin vous pouvez afficher la configuration complète de l’équipement :
[[nom_equipement]]# show running-config
  1. Pour sauvegarder cette configuration vous pouvez la copier vers startup-config
[[nom_equipement]]# copy running-config startup-config
Important

On ne peut pas affecter d’adresse IP à une interface physique d’un commutateur (switch), il suffit donc de l’activer administrativement.

Configuration IP des PCs

Pour configurer l’IP d’un PC, il suffit d’utiliser le script fast-ip

>$ fast-ip [[nom_interface]] [[IP]]/[[mask]] [IP_GATEWAY] 

Test de connectivité

Il est temps maintenant de tester la connectivité entre les PCs et leur Gateways.

  1. Réalisez un ping depuis le routeur vers les PCs :
[[nom_equipement]]# ping [[IP_PC]]

Le ping a-t-il fonctionné ? En plus du résultat affiché par la console du routeur, vous pouvez également tenter d’afficher les paquets reçus par l’interface réseau du PC :

>$ sudo tcpdump -i [[nom_interface]] 
  1. En cas de problème, vous pouvez avoir plus de détails sur les paquets icmp envoyés, en basculant en mode débogage :
[[nom_equipement]]# debug ip packet detail
[[nom_equipement]]# ping [[IP_PC]]
  1. Nous pouvez également tenter le ping inverse à savoir depuis les PCs.

Sécurisation des accès au CLI via le port console

Par défaut, n’importe qui peut utiliser un câble console pour accéder au mode User Exec via le port console. Si la personne est familière avec la syntaxe du Cisco IOS, cela peut constituer un problème de sécurité. Cela signifie que toute personne ayant un câble console et un accès physique à l’appareil pourra accéder à différents modes et apporter des modifications non autorisées aux configurations de l’appareil.

Pour résoudre ce problème de sécurité, le Cisco IOS dispose de fonctionnalités de sécurité qui permettent à l’administrateur de l’appareil d’accéder de manière sécurisée au port console, aux Virtual Terminal (VTY) lines (remote access)aux et au mode Privilege Exec.

[[nom_equipement]]# conf t 
[[nom_equipement]](config)# line console 0
[[nom_equipement]](config-line)# password [[your_password]]
[[nom_equipement]](config-line)# Login
[[nom_equipement]](config-line)# exist
[[nom_equipement]](config)# 
Note

Sans l’utilisation de login, une personne peut toujours accéder à la console sans être invitée à taper son mot de passe.

Maintenant que l’accès à la console est sécuritsé, sécurisons l’accès au mode Privilege Exec :

[[nom_equipement]]# conf t 
[[nom_equipement]](config)# enable password  [[your_password]]
[[nom_equipement]](config)# exit 
  1. Vérifiez que l’accès à ce mode est bien protégé par un mot de passe
  2. Affichez la configuration globale de l’équipement. Quel problème avez-vous noté concernant l’utilisation de ce mode de protection ?
  3. Remédiez à ce problème en utilisant à sa place la commande enable secret.
  4. Affichez encore une fois la configuration globale de l’équipement. Le problème est-il résolu ? Expliquez.
  5. Même si la secret prend le dessus sur password, désactivez ce dernier mécanisme de protection.

Modifier la bannière de bienvenue

[[nom_equipement]](config)# banner motd %Only Authorized Access is permitted!!!%
Important

Lors de l’utilisation de la commande de bannière, vous devez insérer à la fois des délimiteurs d’ouverture et de fermeture, tels que des caractères spéciaux (@, #, $, %, ^, &), avant et après le message de bannière réel, qui sont utilisés pour indiquer que tout ce qui se trouve entre les délimiteurs est le message de bannière réel à afficher sur un écran de connexion.

Vous pouvez vérifier la prise en compte des modifications en vous déconnectant et reconnectant.

Sécurisation des accès distants aux équipement

Commençons tout d’abord avec le routeur.

Configuration des accès via Telnet

Pour configurer l’accès Telnet sur les lignes VTY, utilisez les commandes suivantes :

R1#configure terminal 
R1(config)#line vty 0 15 
R1(config-line)#password [[password]] 
R1(config-line)#login 
R1(config-line)#exit 
R1(config)#
Important

La commande line vty 0 15 spécifie que nous configurons les 16 lignes de terminal virtuel (VTY) sur l’appareil, où la première ligne est VTY 0. Ensuite, nous définissons le mot de passe Telnet comme [[password]] et utilisons la commande “login” pour activer l’authentification chaque fois qu’un utilisateur tente de se connecter.

  1. Grâce à l’interface GNS3 (Click droit sur un des liens (cables) réseau pour lancer Wireshark), tentez d’intercepter les paquets réseaux entre un des PCs et le routeur.
  2. Tentez une connexion Telnet (port ?) depuis un des PCs au routeur.
  3. En analysant les paquets interceptés et en particulier les informations liées au protocole Telnet, conclure sur le niveau de sécurité de ce protocole.

Configuration des accès via SSH

Il est toujours recommandé d’utiliser SSH lorsqu’il est disponible. Dans les étapes suivantes, nous allons vous montrer comment désactiver Telnet, activer SSH et créer un compte utilisateur local.

  1. Changer le nom d’hôte par défaut sur l’appareil Cisco IOS.

  2. Rejoindre un domaine local en utilisant la commande ip domain-name en mode de configuration globale :

R1(config)#ip domain-name ccna.local
  1. Générez des clés de chiffrement pour les sessions SSH en utilisant les commandes suivantes :
R1(config)#crypto key generate rsa
Important

Le menu interactif demandera une taille de clé de module. Le minimum est de 512, mais il est recommandé d’utiliser 1024 ou plus. Plus la taille de la clé est grande, plus le chiffrement est fort. Cependant, une taille de clé très grande peut utiliser beaucoup de ressources CPU sur le périphérique réseau lors de l’exécution des tâches de chiffrement et de déchiffrement.

  1. Créez un compte utilisateur local avec un mot de passe secret en utilisant les commandes suivantes:
R1(config)#username Admin secret [[password]]
  1. Configurez les lignes VTY pour n’autoriser que les connexions SSH (désactivation de Telnet), supprimez le mot de passe Telnet et utilisez le compte utilisateur local comme identifiants de connexion. Pour cela, utilisez les commandes suivantes :
R1(config)#line vty 0 15
R1(config-line)#transport input ssh
R1(config-line)#no password
R1(config-line)#login local
R1(config-line)#exit
R1(config)#
Important

La commande “transport input” peut être utilisée avec les options “all”, “none”, “ssh” ou “telnet” pour spécifier le type de trafic entrant sur les lignes VTY.

  1. Connectez en SSH depuis les PCs au Routeur.

  2. Refaites maintenant les étapes précedentes pour pouvoir accèder aux switches via SSH.

Les commutateurs Cisco IOS de couche 2 ne vous permettent pas de placer une adresse IP sur leurs interfaces physiques. Alors, comment un utilisateur peut-il gérer ou accéder à distance à un commutateur à travers un réseau ? Dans le Cisco IOS du commutateur de couche 2, vous pouvez créer une interface logique spéciale qui vous permet de définir une adresse IP sur le commutateur pour une gestion à distance. Cette interface logique est appelée une Interface Virtuelle de Commutateur (Switch Virtual Interface : SVI).

Pour créer une interface virtuelle de commutateur (SVI), utilisez la commande interface vlan . Cela créera à la fois l’interface virtuelle de commutateur et changera le mode de commande en mode interface. Pour notre topologie, nous devons définir une adresse IP sur chacun de nos commutateurs.

[[SWX]](config)#interface vlan 1
[[SWX]](config-if)#ip address [[192.168.x.x]] 255.255.255.0
[[SWX]](config-if)#no shutdown
[[SWX]](config-if)#exit
[[SWX]](config)# ip default-gateway [[192.168.x.x]]