39 1 2MB
La Commutation Partie 1 : Configuration de base d’un Switch Introduction L’équipement principal dans la mise en place d’un réseau local (le fameux LAN) est le Switch/Commutateur. Cet équipement intègre un logiciel qui permet de le configurer. En effet, l’administrateur peut configurer de nombreux paramètres comme:
la vitesse des interfaces le duplex des interfaces une description pour chaque interface (très pratique) le protocole spanning-tree pour éviter les boucles niveau 2 les protocoles d’accès à l’administration du switch comme le Telnet, ssh, http…
Fonctionnement : Prenons l’exemple ci-dessous ou quatre PC sont branchés physiquement sur les switchs SW1 et SW2:
Dans chaque switch se trouve une base de données appelée “table MAC” pour MediumAccess-Control ou “table CAM” pour Content-Addressable-Memory. Cette table fait le lien entre les ports physiques du switch (E0, E1, E2) et les adresses MAC sources qui arrivent sur ces ports. Forcément, lorsqu’on démarre un switch, ce dernier ne peut pas savoir quel PC est connecté sur tel ou tel port, la table est donc logiquement vide.
Trame initiée par PC1 à destination de PC4
1. la trame sort de la carte réseau de PC1 avec: o adresse MAC source = AAAA.AAAA.AAAA o adresse MAC destination = DDDD.DDDD.DDDD 2. la trame arrive sur le port E0 du switch SW1 o le switch extrait l’adresse MAC source et l’insère dans sa table (cf schéma). Maintenant le switch sait que pour joindre cette adresse MAC (AAAA.AAAA.AAAA), il doit commuter les trames vers le port E0. Cette information lui servira donc pour le retour de la trame. o puis le switch extrait l’adresse MAC destination (DDDD.DDDD.DDDD) et la compare à sa table: aucune entrée trouvée donc ne sachant pas où envoyer la trame, il la diffuse sur tous les ports excpetés le port de réception E0. 3. la trame arrive sur le port E2 du switch SW2 o le switch extrait l’adresse MAC source et l’insère dans sa table (cf schéma). Maintenant le switch sait que pour joindre cette adresse MAC (AAAA.AAAA.AAAA), il doit commuter les trames vers le port E2. Cette information lui servira donc pour le retour de la trame. o puis le switch extrait l’adresse MAC destination (DDDD.DDDD.DDDD) et la compare à sa table: aucune entrée trouvée donc ne sachant pas où envoyer la trame, il la diffuse sur tous les ports excpetés le port de réception E2. 4. la trame arrive sur la carte réseau du PC4: gagné pour la trame aller!
Trame réponse envoyée par PC4 à destination de PC1
même que que
Le fonctionnement est le précédemment. On remarque lorsque la trame arrive sur les
switchs, ils insèrent l’adresse MAC source DDDD.DDDD.DDDD dans leur table. Puis ils extraient l’adresse MAC destination (AAAA.AAAA.AAAA) et la compare à leur table et là ils savent où se situe cette adresse MAC; port E2 pour le switch SW2 et port E0 pour le switch SW1. Ils n’ont plus qu’à commuter la trame UNIQUEMENT sur le port en question.
Trames envoyées par les différents PC
En générant petit à petit du trafic entre les différents PC, les tables MAC des switchs sont se remplir. L’objectif est de ne plus diffuser les trames vers tous les ports mais uniquement vers un seul port, celui où se situe le PC de destination.
L’avantage dans un environnement Microsoft est que les PC sont très verbeux, avant même qu’on ouvre une session Windows, plusieurs trames sont envoyées dans le réseau. Donc les switchs remplissent très rapidement leur table MAC.
On dit que le switch a convergé quand sa table MAC contient toutes les adresses MAC se trouvant dans le réseau (des PC, des imprimantes, des bornes Widi, des serveurs,…). Dans le schéma ci-dessus, on voit bien que les adresses des 4 PC sont bien dans chacune des tables de SW1 et SW2. Au final, lorsqu’une trame arrive sur SW1 ou SW2, ils sauront exactement où commuter cette trame. Remarques importantes:
la table MAC est effacée à chaque reboot du switch la table MAC a une taille finie. Par exemple, sur un Cisco 2950, c’est 8000 entrées. Large… ce fonctionnement d’apprentissage des adresses MAC est vulnérable à certaines attaques comme par exemple la saturation de table MAC
Pour visualiser le contenu de la table sur un switch Cisco, il faut faire Switch# show mac-address-table
Mode de transmission Il existe plusieurs types de switchs, qui utilisent différentes méthodes pour transmettre les trames. Le modèle standard de switch opère en mode « différé », également appelé « store and forward » : il met les trames en tampon et les analyse afin de détecter d’éventuelles erreurs avant de les envoyer. Les commutateurs qui utilisent le mode « direct » ou « cut through » se contentent de lire l’adresse de destination et de transmettre les informations sans les analyser. Les switchs « fragment free » représentent un compromis entre ces deux méthodes : ils effectuent une détection d’erreur simplifiée en passant les trames à un débit fixé. Enfin, un switch « adaptative cut through » sélectionne automatiquement un des modes précédents, en fonction des erreurs qu’il constate. Pour résumer, le switch intègre un système d’exploitation un peu comme Windows mais avec des commandes spécifiques pour le réseau. Ce système d’exploitation s’appelle IOS – Inter network Operating System. Et un peu comme Windows, il est “plug&play“, c’est à dire que certaines fonctionnalités sont activées par défaut et ne nécessite aucune configuration au préalable pour que le switch fonctionne correctement. Par exemple, une fois le switch déballé de son carton et allumé, je peux brancher mes ordinateurs, imprimante, routeur… dessus. Le switch commutera les trames vers les bons ports de destination. C’est aussi pour ça que l’on peut acheter dans les grandes surfaces des switchs “non manageable” car ils sont vendus avec des fonctionnalités pré-configurées. Mais comme dans les réseaux d’entreprises, on a besoin de fonctionnalités avancées, il faut savoir comment configurer de manière puissante et performante un switch. Et cela passe par l’IOS de Cisco.
I.
Fonctionnement de l’IOS
Une fois que le Switch a démarré, vous avez accès à la configuration du Switch par l’interface de l’IOS. Cette configuration s’effectue en ligne de commande, c’est à dire que vous devez taper des commandes pour configurer le Switch. Un peu comme si vous ouvriez des fenêtres sous Windows pour créer un document, c’est pareil sauf que vous n’utilisez pas votre souris mais uniquement votre clavier. Ce mode de configuration s’appelle la CLI – Command Line Interface. Pour ceux qui connaisse Linux/Unix/Solaris… alors vous êtes habitué à ce type de configuration. Pour nos amis Windows (la majorité), cet article vous explique la philosophie de l’IOS.
II.
Les différents modes de l’IOS
Lorsque le Switch a démarré et a terminé toutes ses vérifications, il vous donne la main, c’est à dire qu’il vous affiche un écran avec une commande en ligne activée et la barre verticale qui clignote pour vous signifier qu’il attend désormais que vous tapiez une commande. Le système d’exploitation IOS est composé de plusieurs menus qui sont imbriqués entre eux. Et en fonction du menu (appelé mode) dans lequel vous vous trouvez, vous avez accès à des commandes particulières. On peut schématiser les différents modes comme ça:
Une fois connecté au switch directement en port console ou à distance en telnet ou ssh, on arrive au mode par défaut qui est le mode Utilisateur. Dans ce mode, on a accès à des commandes principalement de supervision pour vérifier que le switch fonctionne correctement.
On a alors la possibilité de passer dans le mode Privilégié qui nous permet d’avoir plus de commandes de supervision et qui permet entre autre de redémarrer le switch, de visualiser toute la configuration du switch, de faire des sauvegardes…
De ce mode, on peut basculer dans le mode de configuration qui comme son nom l’indique permet de modifier les paramètres du switch comme créer des VLANs, changer le nom du switch…
Et finalement on peut aller un peu plus loin dans la configuration en entrant dans des menus précis comme le menu interface qui nous permet de modifier les paramètres d’une interface en particulier comme la vitesse, le duplex… ou alors aller dans le mode routage si le switch a les capacités de faire du routage inter-VLAN….
III. Paramètre de configuration pour la première connexion au Switch 1. Se connecter à un équipement Cisco en Console
Comment je fais pour configurer un équipement Cisco? Avant de pouvoir taper des commandes en ligne de commande, que ce soit en Telnet, en ssh, en graphique par http, via SNMP… il faut y accéder en port Console ou en port auxiliaire.
Pourquoi? Parce que lorsque le switch ou le routeur Cisco sort du carton, il est vierge donc la seule possibilité pour accéder à l’IOS est le port console. Le port auxiliaire peut aussi être utilisé, il suffit juste de brancher ce port sur un modem pour y accéder via le réseau téléphonique.
2. Les différents types de port Console Le port console est le seul port physique qui permet de prendre la main sur l’IOS si ce dernier est vierge. Pour se connecter dessus avec son ordinateur, il faut tout d’abord le localiser sur l’équipement, logique me diriez-vous! Selon les modèles d’équipement Cisco, le port se trouve en face avant ou en face arrière. Au fil des années, le port a évolué de connectique, passant de RJ45 vers du mini-USB pour les plus récents. Le plus important est que pour le localiser, il faut chercher un port de couleur bleue.
Port Console en RJ45 Par exemple, sur ce switch, on remarque que le mot “console” est inscrit juste au-dessus d’un port de couleur bleu. Donc pas moyen de se tromper sauf si vous le faites exprès La connectique ici est RJ45, il faudra alors utiliser un câble qui a une extrémité en RJ45.
Quel câble utiliser? Cisco met à disposition dans le carton d’emballage (parfois il y en a pas) un câble dit “console” qui pour plus de simplicité est aussi de couleur bleue. D’un côté il a une connectique RJ45 pour se brancher au switch/routeur et de l’autre une connectique DB9 pour se brancher sur le port série de l’ordinateur. Le câble Console ressemble à ça:
On voit bien un coté en RJ45 et de l’autre un embout en DB9. On relie le port série (DB9) de l’ordinateur et le port console (RJ45) du switch/routeur avec ce câble bleu. Certains me diront que le port série (DB9) est de moins en moins présent sur les ordinateurs et c’est bien vrai ! Si vous n’avez pas de port série sur votre ordinateur, il faut juste acheter un adapteur DB9-USB, très pratique. L’adaptateur ressemble à ça:
Sur l’extrémité “bizarre” de cet adaptateur, on branche le port DB9 du câble Console bleu Cisco et de l’autre on branche l’embout USB sur une prise USB de l’ordinateur. Simple non?
Port Console en mini-USB Dans certains cas et surtout sur les équipements les plus récents vous pouvez vous trouver en face de 1 ou 2 ports Console, un RJ45 classique et/ou un mini-USB juste à côté. Cisco commence à faire évoluer ses ports Console vers le format mini-USB car plus pratique.
En fonction de votre câble Console, vous vous connectez où vous souhaitez. Bien évidemment, si vous choisissez le port mini-USB, il faut avoir le câble console USB adéquat. Et il ressemble à ça:
On voit bien la différence entre le connecteur USB classique et le connecteur mini-USB. Le premier (USB classique) sera à brancher sur votre ordinateur et l’autre (mini-USB) sur le switch/routeur Cisco. Donc en conclusion, en fonction du type de port console (RJ45 ou mini-USB) et en fonction de votre ordinateur, la connectique peut changer. Résumons avec un schéma où:
d’un côté on a un routeur avec un port console en RJ45 et un ordinateur avec ou sans port série d’un autre côté, on a un switch avec un port mini-USB et un portable avec port USB
Cliquez sur ce schéma pour l’agrandir et le sauvegarder :
Choisir son logiciel de terminal console Maintenant que votre ordinateur est physiquement connecté au switch/routeur par le câble console, il faut exécuter un logiciel pour afficher la console de l’équipement. La console est l’écran qui vous permet de taper des lignes de commandes et de les envoyer à l’équipement pour que l’IOS les exécutent.
Quelques logiciels… Selon votre système d’exploitation, choisissez le logiciel adéquat:
Windows: Hyper Terminal (inclu dans Windows), TeraTerm (gratuit), Putty (gratuit), SecureCRT (payant, utilisé entre autre pour le lab CCIE)… Linux: Minicom… MAC: Minicom, Teraterm, Putty…
Ce logiciel va vous permettre d’aller se prendre le contrôle du port série de votre ordinateur qui je le rappelle est physiquement connecté au Switch/routeur. Dans l’exemple suivant, je vais utiliser le logiciel Putty car très simple d’utilisation et très puissant. Et en plus de la prise de contrôle du port série de votre ordinateur, il peut aussi utiliser les protocoles Telnet et SSH pour se connecter à distance.
Configuration du Putty
lancez Putty (qui n’est rien d’autre qu’un unique fichier exécutable), une petite fenêtre s’ouvre comme ci-dessous sélectionnez le bouton “Serial” en haut à droite pour préciser au logiciel qu’il faut prendre le contrôle du port série de l’ordinateur o Serial line: c’est l’identifiant de votre port série, selon les ordinateurs, il peut être COM1, COM2, COM3…
o
Speed: c’est la vitesse entre les 2 équipements. Par défaut, l’IOS Cisco est à 9600 bauds donc il faut être à la même vitesse de l’autre coté
cliquez sur “Serial” se trouvant dans le menu de gauche, tout en bas et vérifier que les paramètres sont les suivants: o Data bits: c’est le nombre de bits de données à envoyer en même temps, mettez 8 bits o Stop bits: bit d’arrêt, mettez 1 o Parity: aucune parité à configurer o Flow Control: laissez par défaut
une fois fini, cliquez sur le bouton “Open“, en bas à droite une nouvelle fenêtre s’ouvre et vous êtes désormais connecté à l’IOS votre équipement. Tapez “Entrée” pour récupérer la commande en ligne CLI
de
Et voilà, vous avez accès à la CLI de l’IOS et vous pouvez taper les commandes pour configurer votre équipement.
N'appuyez sur le bouton « Reset » de l'appareil qu'en cas de dernier recours, car cela a pour effet de tout réinitialiser ! 2. Présentation du mode console d'un switch Cisco 2. a. Mode avec et sans privilège Une fois connecté, nous sommes placés dans un mode sans privilège. Il est possible dans ce mode d'effectuer uniquement quelques commandes de diagnostique ou d'information. L'invite de commande du mode sans privilège est la suivante: Switch>
Pour pouvoir modifier la configuration, il faut passer en mode privilégié en entrant la commande "enable". Présentation du passage du mode non privilégié au mode privilégié: Switch>enable Switch#
2. b. Console : autres modes En fonction des commandes entrées, le Switch va présenter des invites de commande différentes. Quelques exemples d'invite de commande en fonction du contexte: Mode configuration:
Switch#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Switch(config)# Mode configuration d'une interface: Switch(config)#interface fastEthernet 0/1 Switch(config-if)#
2. c. Navigation entre les modes La commande EXIT permet d'accéder au contexte précédent. Switch(config)#int fastEthernet 0/1 Switch(config-if)#exit Switch(config)#exit Switch#
La commande END permet d'accéder à la racine du mode privilège. Switch#conf t Enter configuration commands, one per line. End with CNTL/Z. Switch(config)#interface fastEthernet 0/1 Switch(config-if)#end Switch#
Enfin, la commande LOGOUT permet la déconnexion. Switch#logout
2. d. Aide pour la console Le point d'interrogation ? affiche les différentes commandes disponibles en fonction du contexte dans lequel nous nous trouvons. Par exemple: Switch#? Exec commands: access-enable Create a temporary Access-List entry access-template Create a temporary Access-List entry archive manage archive files beep Blocks Extensible Exchange Protocol commands cd Change current directory clear Reset functions clock Manage the system clock cns CNS agents --More--
Le ? Affiche Par exemple:
les
choix
possibles
lors
de
la
frappe
d'une
commande.
Switch#show ? aaa Show AAA values access-lists List access lists accounting Accounting data for active sessions aliases Display alias commands
Enfin ? nous indique les choix possibles lors de la frappe des caractères d'une commande. Exemple: Switch#sh? shell show Switch#sh
2. e. Commande abrégée Il est souvent possible d'utiliser les commandes Par exemple les commandes suivantes envoient le même résultat: Switch#wr Buildingconfiguration... [OK] ------Switch#write Building [OK]
abrégées.
configuration...
Switch#sh ru Building configuration... Current configuration : 783 bytes ! ------Switch#show running-config Building configuration... Current configuration : 783 bytes
2. f. Complétion automatique des commandes Il est possible de compléter automatiquement les premiers caractères d'une commande en appuyant sur la touche tabulation.
IV. Enregistrement de la configuration Il y a deux types de configuration. La configuration appelée startup-config et la configuration appelée running-config.
1. Affichage de la configuration startup-config Switch#show startup-config Using 783 out of 65536 bytes !
version 12.2 no service pad service timestamps debug datetime msec service timestamps log datetime msec no service password-encryption ! hostname Switch ! boot-start-marker boot-end-marker --More--
2. Affichage de la configuration running-config Switch#show running-config Building configuration... Current configuration : 783 bytes ! version 12.2 no service pad service timestamps debug datetime msec service timestamps log datetime msec no service password-encryption ! hostname Switch ! boot-start-marker boot-end-marker --More--
3. Différence entre la startup-config et la running-config La configuration appelée startup-config est la configuration utilisée au démarrage du Switch. La configuration dite running-config est la configuration courante utilisée par le Switch. Ainsi, au démarrage du Switch, les configurations startup-config et running-config sont les mêmes. Si une modification de configuration est réalisée, la running-config sera modifiée. Par contre, la startup-config ne sera pas modifiée. Pour modifier la configuration de démarrage, il faudra enregistrer la configuration courante (running-config) dans la startup-config. Par conséquent, toute modification effectuée et non enregistrée sera annulée au prochain démarrage du Switch. Cette caractéristique est intéressante en cas de problème grave suite à une modification de configuration (par exemple une perte de lien). Il suffira de redémarrer le switch pour revenir à l'état précédent la modification.
4. Commande d’enregistrement De La Configuration
Les deux commandes suivantes peuvent être utilisées pour enregistrer la configuration courante:
switch# copy running-config startup-config switch# write
Mode configuration: Switch# copy running-config startup-config Destination filename [startup-config]? Building configuration... [OK] 0 bytes copied in 0.931 secs (0 bytes/sec)
Ou bien; switch# write Building configuration... [OK] switch#
En abrégé: switch# co ru st Destination filename [startup-config]? Building configuration... [OK] 0 bytes copied in 0.923 secs (0 bytes/sec)
switch# wr Building configuration... [OK] switch#
5. Suppression de la configuration - réinitialisation du switch La commande write erase supprime la configuration de démarrage: switch# write erase Erasing the nvram filesystem will remove all configuration files! Continue? [confirm] [OK] Erase of nvram: complete switch#
La commande delete flash:vlan.dat supprime les vlans configurés: switch# delete flash:vlan.dat Delete filename [vlan.dat]?
Delete flash:vlan.dat? [confirm] switch#
Il faut ensuite redémarrer le switch.
6. Redémarrer un switch Cisco avec la ligne de commande La commande reload permet de redémarrer un switch switch# reload Proceed with reload? [confirm]
7. Redémarrer un switch Cisco avec temporisation Il peut être intéressant de Deux méthodes sont possibles:
pouvoir
temporiser
le
redémarrage
d'un
switch.
switch#reload in ? Delay before reload (mmm or hhh:mm) switch#reload in 5 Reload scheduled for 15:24:35 CEST Mon Apr 4 2011 (in 5 minutes) by console Proceed with reload? [confirm] switch# *** *** --- SHUTDOWN in 0:05:00 --*** switch#reload at 16:00 Reload scheduled for 16:00:00 CEST Mon Apr 4 2011 (in 40 minutes) by console Proceed with reload? [confirm] switch# Pour annuler le redémarrage: switch#reload cancel switch# switch# *** *** --- SHUTDOWN ABORTED --*** switch#
Affichage de l'état du redémarrage switch#show reload Reload scheduled for 16:00:00 CEST Mon Apr 4 2011 (in 40 minutes) by console switch#
V.
Configuration de base - switch Cisco
Comment configurer le nom du switch, la configuration IP, la passerelle par défaut et création des mots de passe pour l'authentification.
Préparation: Il nous faut le nom du switch, le nom du domaine DNS, l'adresse IP, le masque de sous réseau, la passerelle par défaut, un nom de login pour l'administrateur et le mot de passe administrateur.
1. Configuration du nom du switch, du domaine DNS, puis enregistrement de la configuration. Dans l'exemple, le nom du switch est : 2960-RG et le domaine est mondomaine.local. Switch#conf t Enter configuration commands, one per line. End with CNTL/Z. Switch(config)# Switch(config)#hostname 2960-RG 2960-RG(config)#ip domain-name mondomaine.local 2960-RG(config)#end 2960-RG#wr Building configuration... [OK] 2960-RG#
Pour supprimer le nom du commutateur et le nom de domaine, il faut saisir les commandes suivantes. 2960-RG(config)#no hostname Switch(config)#no ip domain-name Switch(config)#
2. Adressage IP du switch: L'adressage IP du switch va nous servir à superviser celui ci à distance. Un vlan dédié au management du switch est configuré (dans l'exemple: vlan2). L'adresse IP sera donc associée au vlan 2. La configuration IP choisie est:
Adresse IP : 192.168.100.25 Masque de sous-réseau : 255.255.255.0 Passerelle par défaut : 192.168.100.1
2960-RG(config)#vlan 2 2960-RG(config-vlan)#exit 2960-RG(config)#interface vlan2 2960-RG(config-if)#ip address 192.168.100.25 255.255.255.0 2960-RG(config-if)#ex 2960-RG(config)#ip default-gateway 192.168.100.1
Vérification de la configuration du vlan d'administration 2960-RG#sh run int vlan2 Building configuration...
Current configuration: 64 bytes ! Interface Vlan2 ip address 192.168.100.25 255.255.255.0 end 2960-RG#
Suppression de l'adresse IP et de la passerelle par défaut: 2960-RG(config)#interface vlan2 2960-RG(config-if)#no ip address 2960-RG(config-if)#ex 2960-RG(config)#no ip default-gateway
3. Ajout de mot de passe pour l'authentification La connexion au switch s'effectue par le port console en utilisant la ligne associée à ce port ou bien à distance en utilisant les lignes virtuelles (appelées VTY). Par défaut, il n'y a pas de compte créé pour l'authentification. Il faut créer au minimum un mot de passe pour l'accès aux différents terminaux (console et virtuel) et un mot de passe pour l'accès au mode privilégié (enable). Le mode d'administration par défaut est telnet. Par défaut, les mots de passe apparaissent en clair lors de l'affichage du fichier de configuration. Nous allons donc tout d'abord activer le service encryption-password, les mots de passe apparaitront alors chiffrés lorsque les commandes d'affichage de la configuration sont entrées.
4. Activation du service password-encryption Switch(config)#service password-encryption
4. Affichage des lignes disponibles. On notera la ligne accessible par la console (CTY) et les lignes virtuelles (VTY) pour l'accès distant au switch. 2960-RG#sh Tty Typ Tx/Rx A * 0 CTY 1 VTY 2 VTY 3 VTY 4 VTY 5 VTY 6 VTY 7 VTY 8 VTY -
Modem -
Roty -
-
-
AccO -
AccI -
Uses 0 0 0 0 0 0 0 0 0
Noise 0 0 0 0 0 0 0 0 0
Overruns 0/0 0/0 0/0 0/0 0/0 0/0 0/0 0/0 0/0
line Int -
9 VTY 10 VTY - - - - - 0 0 0/0 -
-
-
-
-
0
0
0/0
-
5. Création des mots de passe et configuration de la console et des lignes virtuelles. Un mot de passe est créé pour se loguer aux différentes lignes. 2960-RG(config)#enable secret M02p@55 2960-RG(config)#line con 0 2960-RG(config-line)#password P@55w0rd 2960-RG(config-line)#login 2960-RG(config-line)#exit 2960-RG(config)#line vty 0 15 2960-RG(config-line)#password P@55w0rd 2960-RG(config-line)#login 2960-RG(config-line)#end 2960-RG#
Il y a maintenant un mot de passe à saisir pour l'accès au switch et un mot de passe à saisir pour l'accès au mode avec privilège. User Access Verification Password: 2960-RG>en Password: 2960-RG#
6. Configuration et affichage de l'heure switch#clock set 15:19:00 4 april 2011 switch# switch#show clock 15:19:05.609 CEST Mon Apr 4 2011 switch#
II. La commande "banner" Il existe plusieurs façon de manier cette commande. Il faut commencer par se mettre en mode privilégié puis en mode configuration : Routeur> ena Routeur# conf t
Une fois en mode configuration, nous utilisons la commande suivante pour mettre un message simple à tous les utilisateurs qui se connectent : Routeur(config)#banner "Switch n:12585 - Accès restreints"
L'élément important dans la commande sont les délimiteurs qui sont ici " mais qui peuvent être n'importe quel caractère si l'on utilise la commande comme suivant :
Pour ces deux utilisations, on peut spécifier si la bannière est pour les utilisateurs se connectant en mode "EXEC" (terminal direct) ou pour les utilisateurs se connectant en mode Telnet/SSH en ajoutant respectivement "exec" ou "login" après le "motd", par exemple : Routeur (config)#banner "Switch n:12585 - Accès restreints" login
Partie 2 : Configurations avancées d’un Switch Accès Distant Sur Un Switch. Introduction Il est très avantageux de pouvoir manipuler, surveiller, contrôler et configurer un équipement tel qu’un Routeur ou un Switch à distance ; on parle de supervision ou d’administration à distance, on gagne énormément en termes de temps, d’argent, et même de rapidité d’intervention ; par exemple grâce à ce procédé on pourra prendre plus rapidement des mesures en cas d’incident ou de panne.
Quel protocole d'administration à distance choisir?
En général, il y a le choix entre l'administration web sécurisée ou pas (protocole http ou https) et/ou l'administration en ligne de commande sécurisée ou pas (telnet ou ssh). L'administration du switch en utilisant une interface web peut être pratique. Mais nous choisirons en priorité l'administration du switch en utilisant la ligne de commande pour les raisons suivantes:
En cas de coupure réseau, il nous faudra intervenir directement sur le switch, donc autant être habitué à travailler en ligne de commande, L'interface web peut être moins stable que l'interface en ligne de commande (CLI),
Les configurations avancées sont souvent disponibles uniquement au travers de la ligne de commande,
Pour avoir un compte rendu graphique des objets du switch, nous nous tournerons vers une solution de supervision du réseau qui allie les avantages de la ligne de commande à une présentation graphique des objets du réseau. En général, ces logiciels fonctionnent grace au protole SNMP. Nous allons vous montrer comment configurer un équipement réseau tel qu’un Routeur ou un Switch pour qu’il soit manipulable (mangeable) à distance par un administrateur ou un technicien réseau et ceci depuis son domicile par exemple ou ailleurs, outre le lieu où se trouve physiquement ou géographiquement l’équipement (Routeur ou Switch) en question, pour ce faire nous allons les configurer pour qu’ils puissent utiliser le protocole Telnet et ou SSH.
I.
Configuration du protocole ssh pour le switch 1. Qu’est-ce que le protocole Telnet ?
Telnet (Terminal Network ou Télécommunication Network) est un protocole de type ClientServeur permettant de communiquer avec un équipement réseau (Serveur, Routeur, …) à distance. La configuration d’un équipement tel qu’un Switch pour qu’on puisse y accéder à distance via Telnet, se fait comme suit : Une fois la connexion établie, on accède à l’interface de configuration du switch. Switch con0 is now available Press RETURN to get started. Switch>
Pour pouvoir accéder au CLI via Telnet, il faut pouvoir établir une connexion entre le PC et le switch. Ce qui implique:
Le PC et le Switch disposent d’une adresse IP. Si le PC et le Switch sont sous le même sous-réseau, il faut bien sur que les adresses IP y correspondent. Si le PC et le Switch ne sont pas sur le même sous réseau, il faut que les tables de routages des différentes passerelles soient correctement configurées. Les connexions Telnet sur le switch sont autorisées.
Pour attribuer une adresse IP à un switch, on en configure une sur une ou plusieurs interfaces « vlan ». Par défaut, le VLAN 1 existe, nous allons donc utiliser celle-là. Dans le cas présent, nous supposons que le PC est directement connecté sur un des pots du switch. On attribuera l’adresse 192.168.1.100 / 255.255.255.0 au switch et 192.168.1.101 /
255.255.255.0 au pc. On configurera également une passerelle par défaut pour les deux qui sera 192.168.1.1. Elle ne sera pas ici nécessaire, mais ça montrera comment la configurer dans le cas d’un réseau complexe. Commençons par configurer l’adresse IP du switch sur le VLAN 1. Switch>en Switch#conf t Enter configuration commands, one per line. End with CNTL/Z. Switch(config)# interface vlan 1 Switch(config-if)#ip address 192.168.1.100 255.255.255.0 Switch(config-if)#no shut %LINK-5-CHANGED: Interface Vlan1, changed state to up %LINEPROTO-5-UPDOWN: Line protocol on Interface Vlan1, changed state to up Switch(config-if)#exit Switch(config)#ip default-gateway 192.168.1.1 Switch(config)#exit
On vérifie que tout est en ordre: Switch#show interfaces vlan 1 Vlan1 is up, line protocol is up Hardware is CPU Interface, address is 000b.be52.34cd (bia 000b.be52.34cd) Internet address is 192.168.1.100/24 MTU 1500 bytes, BW 100000 Kbit, DLY 1000000 usec, reliability 255/255, txload 1/255, rxload 1/255 Encapsulation ARPA, loopback not set ARP type: ARPA, ARP Timeout 04:00:00 Last input 21:40:21, output never, output hang neverLast clearing of "show interface" counters never Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0 Queueing strategy: fifo Output queue: 0/40 (size/max) 5 minute input rate 0 bits/sec, 0 packets/sec 5 minute output rate 0 bits/sec, 0 packets/sec 1682 packets input, 530955 bytes, 0 no buffer Received 0 broadcasts (0 IP multicast) 0 runts, 0 giants, 0 throttles 0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored 563859 packets output, 0 bytes, 0 underruns 0 output errors, 23 interface resets 0 output buffer failures, 0 output buffers swapped out Switch#
On configure également l’adresse IP du PC en 192.168.1.101 / 255.255.255.0. Une fois celà fait, si tout fonctionne comme prévu, les deux machines devraient pouvoir communiquer… Switch#ping 192.168.1.101 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 192.168.1.101, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 31/31/32 ms Switch#
Ok tout est en ordre! Il reste maintenant à vérifier que le switch est bien configuré pour autoriser les connexions telnet. Les connexions telnet se font via les « lignes » VTY. Leur nombre varie selon les modèles, on peut les retrouver en jettant un oeil sur la configuration active: Switch#sh running-config Building configuration... Current configuration : 979 bytes ! version 12.2 no service password-encryption
! hostname Switch ! ! ! interface FastEthernet0/1 ! interface FastEthernet0/2 ! interface FastEthernet0/3 ! interface FastEthernet0/4 ! interface FastEthernet0/5 ! interface FastEthernet0/6 ! interface FastEthernet0/7 ! interface FastEthernet0/8 ! interface FastEthernet0/9 ! interface FastEthernet0/10 ! interface FastEthernet0/11 ! interface FastEthernet0/12 ! interface FastEthernet0/13 ! interface FastEthernet0/14 ! interface FastEthernet0/15 ! interface FastEthernet0/16 ! interface FastEthernet0/17 ! interface FastEthernet0/18 ! interface FastEthernet0/19 ! interface FastEthernet0/20
! interface FastEthernet0/21 ! interface FastEthernet0/22 ! interface FastEthernet0/23 ! interface FastEthernet0/24 ! interface GigabitEthernet1/1 ! interface GigabitEthernet1/2 ! interface Vlan1 ip address 192.168.1.100 255.255.255.0 ! ip default-gateway 192.168.1.1 ! line con 0 ! line vty 0 4 no login line vty 5 15 no login ! ! end Switch#
Afin de pouvoir se connecter en telnet, on va définir un mot de passe, activer l’encryption des mots de passe et également définir un mot de passe pour le mode privilégié (enable). Switch#conf t Enter configuration commands, one per line. End with CNTL/Z. Switch(config)#service password-encryption Switch(config)#line vty 0 15 Switch(config-line)#password cisco Switch(config-line)#login Switch(config-line)#exit Switch(config)#enable password cisco Switch(config)#exit %SYS-5-CONFIG_I: Configured from console by console Switch#
On vérifie que tout est en place: Switch#sh run Building configuration... Current configuration : 1053 bytes version 12.2 service password-encryption hostname Switch enable password 7 0822455D0A16 interface FastEthernet0/1 !
interface FastEthernet0/2 ! interface FastEthernet0/3 ! interface FastEthernet0/4 ! interface FastEthernet0/5 ! interface FastEthernet0/6 ! interface FastEthernet0/7 ! interface FastEthernet0/8 ! interface FastEthernet0/9 ! interface FastEthernet0/10 ! interface FastEthernet0/11 ! interface FastEthernet0/12 ! interface FastEthernet0/13 ! interface FastEthernet0/14 ! interface FastEthernet0/15 ! interface FastEthernet0/16 ! interface FastEthernet0/17 ! interface FastEthernet0/18 ! interface FastEthernet0/19 ! interface FastEthernet0/20 ! interface FastEthernet0/21 ! interface FastEthernet0/22 ! interface FastEthernet0/23 ! interface FastEthernet0/24 ! interface GigabitEthernet1/1 ! interface GigabitEthernet1/2 ! interface Vlan1 ip address 192.168.1.100 255.255.255.0 ip default-gateway 192.168.1.1 ! line con 0 !
line vty password login ! line vty password login ! end Switch#
0 4 7 0822455D0A16
5 15 7 0822455D0A16
Voilà, il ne reste plus qu’à se connecter en Telnet depuis un PC branché sur le Switch via un des ports FastEthernet par exemple.
Un Hacker sniffant le réseau au même moment pourra facilement récupérer et décoder le trafic pour voir « en clair » les informations échangées entre le Routeur et nous :
Comme le protocole Telnet n’est pas vraiment fiable en termes de confidentialité, on utilise majoritairement un autre protocole pour la communication à distance entre deux ou plusieurs périphériques réseau : le protocole SSH.
II.
Configuration du protocole ssh - switch Cisco
Tout d'abord, il faut vérifier que l'IOS du switch supporte ssh. La mention k9 (crypto) doit figurer dans le nom de l'IOS. La commande pour vérifier la version de l'IOS est:
2960-RG#showversion Cisco IOS Software, C2960 Software (C2960-LANBASEK9-M), Version 12.2(55)SE, RELEASE SOFTWARE (fc2) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2010 by Cisco Systems, Inc. Compiled Sat 07-Aug-10 23:04 by prod_rel_team
1. Activez le SSH sur votre routeur/switch en 5 étapes Par défaut, on ne peut pas faire de SSH vers un switch ou un routeur. Il faut au préalable configurer certains paramètres pour que ça fonctionne. Le protocole SSH utilise une communication sécurisée pour éviter que des informations sensibles (configuration, login, mot de passe,…) soient interceptées durant leur transport jusqu’à la console d’administration. Voici les différentes étapes pour configurer le SSH sur un IOS: a. Définir un compte utilisateur avec le doublet [login/mot de passe] b. Définir un hostname (par exemple MonRouteurAgence1) à son équipement switch ou routeur, qui sera utilisé pour générer la clé de chiffrement c. Définir un nom de domaine (par exemple cisco.com), qui sera aussi utilisé pour générer la clé de chiffrement d. Générer cette fameuse clé de chiffrement, appelée RSA e. Activer le SSH
Configuration a. Définir un compte utilisateur avec le doublet (login/mot de passe) Switch> enable
Switch # configure terminal Switch (config)# username julien password pa$$word
Ici on définit un utilisateur nommé “ julien ” dont le mot de passe associé est “pa$$word“ b. Définir un hostName à son équipement switch ou routeur, qui sera utilisé pour générer la clé de chiffrement Switch (config)# hostname S1 S1(config)#
Cette commande permet de mettre un hostname particulier à votre équipement, ici “ MonSwitch ”. Ce hostname est par ailleurs utilisé pour générer la clé de chiffrement RSA, créée plus bas c. Définir un nom de domaine, qui sera utilisé pour générer la clé de chiffrement S1(config)# ip domain-name cisco.com
Cette commande permet de définir un nom de domaine (DNS – Domain Name Server) à votre routeur. Il s’appellera désormais “R1.cisco.com“, qui est tout simplement la concaténation du hostname “R1” avec le nom de domaine “cisco.com”. Ce nom de domaine est aussi utilisé pour générer la clé de chiffrement RSA, créée juste à l’étape suivante. d. Générer la clé de chiffrement R1(config)# crypto key generate rsa modulus 1024
Cette commande génère une clé de chiffrement RSA utilisé par le processus SSH pour générer la clé de session. La variable “modulus 1024” définit la taille de votre clé. A titre d’information, pour une clé asymétrique, 1024 est une taille correcte. e. Activer le SSH S1(config)#ip ssh version 2
Options ajoutées au service ssh
Un timeout de 60 secondes est ajouté pour les sessions ssh en cas d'inactivité . Nous laissons trois essais pour la connexion au switch.
S1(config)#ip ssh logging events S1(config)#ip ssh time-out 60 S1(config)#ip ssh authentication-retries 3
Désactivation de telnet pour l'accès au switch
S1(config)#line vty 0 15 S1(config-line)#login local S1(config-line)#transport input ssh
Pour accéder en Telnet ou ssh à un équipement Cisco, il faut configurer les lignes “virtuelles” de l’équipement. En effet, quand on fait un Telnet vers un routeur, on arrive de n’importe quelles interfaces actives du routeur. Pour cela, on définit les lignes virtuelles appelées “vty”. Par défaut, il y a 16 lignes vty actives pour un switch (de 0 à 15). D’où la commande “line vty 0 15“. Ça permet à 15 administrateurs d’être en SSH en même temps sur l’équipement. La commande “transport input ssh” définit quel protocole ces lignes vty devront utilisés. Par défaut, tous les protocoles peuvent être utilisés dont Telnet et ssh. Cette commande permet de restreindre en précisant que seul ssh a le droit d’utiliser les lignes vty. La commande “login local” permet de préciser où se trouve la base des comptes utilisateur. Une fois connecté au switch en ssh, le switch va vous demander un login/password, celui qu’on a défini plus haut (julin/pa$$word). “login local” indique au switch que la base des comptes utilisateur se trouve dans sa configuration (“local”). Pour information, on peut définir une base de comptes utilisateur vers un serveur Radius par exemple.
Vérification de la configuration
2960-RG#show ip ssh SSH Enabled - version 2.0 Authentication timeout: 60 secs; Authentication retries: 3
SSH est maintenant activé. nous pouvons accéder au switch avec un client ssh (par exemple putty pour windows).
En pratique Switch> Switch >en Switch #conf t Enter configuration commands, one per line. End with CNTL/Z. Switch (config)# Switch (config)# Switch (config)#username julien password pa$$word Switch (config)# Switch (config)#hostname S1 S1(config)# S1(config)#ip domain-name cisco.com S1(config)# S1(config)#crypto key generate rsa modulus 1024
% Generating 1024 bit RSA keys, keys will be non-exportable...[OK] S1(config)# *mars 1 0:1:56.0: %SSH-5-ENABLED: SSH 1.99 has been enabled S1(config)# S1(config)#line vty 0 4 S1(config-line)#transport input ssh S1(config-line)#login local S1(config-line)#exit S1(config)#exit S1#
La première ligne en rouge nous indique que le routeur a généré une clé de chiffrement de taille 1024 bits. La seconde ligne en rouge nous précise que maintenant qu’une clé de chiffrement a été créée, le processus SSH est activé. Il nous reste plus qu’à le configurer sur les lignes virtuelles “vty”. Aprés avoir configuré le ssh sur le switch, on se connecte en ssh à partir de mon PC:
On remarque ici que mon PC a l’adresse IP 10.1.1.222 et que mon routeur a l’adresse IP 10.1.1.1 La commande “ssh -l julien 10.1.1.1” permet de lancer une session ssh vers l’adresse IP 10.1.1.1 qui représente l’adresse IP du vlan1 du switch et avec le login “julien”.
Une fois connecté en ssh à ce routeur, le processus ssh va demander le mot de passe associé à l’utilisateur “julien”et le mot de passse associé “pa$$word” ainsi l’authentification est réussie. On voit bien qu’on a alors accès à la console du switch “S1>”.
2. Suppression de ssh La suppression de la clé entraine la désactivation de ssh. 2960-RG(config)#crypto key zeroize rsa % All RSA keys will be removed. % All router certs issued using these keys will also be removed. Do you really want to remove these keys? [yes/no]: yes 2960-RG(config)#
Verification: 2960-RG#sh ip ssh SSH Disabled - version 2.0 %Please create RSA keys to enable SSH (of atleast 768 bits size) to enable SSH v2. Authentication timeout: 60 secs; Authentication retries: 3
3. Filtrer les connexions ssh avec une liste de contrôle d'accès La liste de contrôle d'accès va nous permettre de filtrer l'accès ssh en utilisant l'adresse IP source. Dans la commande suivante, la liste de contrôle d’accès a le numéro 10 et le réseau autorisé à se connecter en ssh est 192.168.100.0/24. Switch(config)#access-list 10 permit 192.168.100.0 0.0.0.255
Ensuite, on autorise la connection exclusive de ce réseau sur les terminaux virtuel avec la commande access-class: Switch(config)#line vty 0 15 Switch(config-line)#access-class 10 in Switch(config-line)#