📚 Cisco IOS — Configuration Routeur Switch SSH TFTP
Configuration complète des routeurs et switches Cisco IOS : initialisation sécurisée, VLANs, inter-VLAN routing, SSH v2, TFTP sauvegarde/restauration, NAT PAT, OSPF et diagnostic.
1. Configuration initiale — Routeur Cisco
Dès la première connexion via câble console (RJ45-DB9 ou USB), configurer le nom, les mots de passe et la sécurité de base. La commande service password-encryption chiffre tous les mots de passe en clair dans la config.
! Passer en mode privilégié Router> enable Router# configure terminal ! Nom de l'équipement Router(config)# hostname R1-PARIS ! Mot de passe du mode exec privilégié (chiffré) R1-PARIS(config)# enable secret P@ssw0rd! ! Sécuriser la console physique R1-PARIS(config)# line console 0 R1-PARIS(config-line)# password Console123 R1-PARIS(config-line)# login R1-PARIS(config-line)# exec-timeout 5 0 R1-PARIS(config-line)# exit ! Chiffrer tous les mots de passe en clair R1-PARIS(config)# service password-encryption ! Bannière de connexion R1-PARIS(config)# banner motd # Accès réservé — Toute connexion est journalisée # ! Éviter les délais dus à la résolution DNS R1-PARIS(config)# no ip domain-lookup ! Sauvegarder (toujours faire ça après chaque modif) R1-PARIS# copy running-config startup-config
2. Configuration des interfaces et NAT PAT
Le NAT PAT (overload) permet à tous les hôtes du LAN de partager une seule adresse IP publique pour accéder à Internet.
! Interface LAN R1(config)# interface GigabitEthernet0/0 R1(config-if)# description LAN-PRINCIPAL R1(config-if)# ip address 192.168.1.1 255.255.255.0 R1(config-if)# ip nat inside R1(config-if)# no shutdown ! Interface WAN vers le FAI R1(config)# interface GigabitEthernet0/1 R1(config-if)# description WAN-FAI R1(config-if)# ip address 203.0.113.2 255.255.255.252 R1(config-if)# ip nat outside R1(config-if)# no shutdown ! Sous-interfaces inter-VLAN (Router-on-a-Stick) R1(config)# interface GigabitEthernet0/0.10 R1(config-subif)# encapsulation dot1Q 10 R1(config-subif)# ip address 192.168.10.1 255.255.255.0 R1(config)# interface GigabitEthernet0/0.20 R1(config-subif)# encapsulation dot1Q 20 R1(config-subif)# ip address 192.168.20.1 255.255.255.0 ! Route par défaut vers le FAI R1(config)# ip route 0.0.0.0 0.0.0.0 203.0.113.1 ! NAT PAT — partage de connexion internet R1(config)# access-list 1 permit 192.168.0.0 0.0.255.255 R1(config)# ip nat inside source list 1 interface GigabitEthernet0/1 overload
3. Switch Cisco — VLANs complets
Configuration complète d'un switch avec VLANs nommés, ports access sécurisés (PortFast + BPDUGuard), port trunk vers le routeur, et SVI de gestion.
! Base du switch Switch(config)# hostname SW1-PROD SW1-PROD(config)# enable secret P@ssw0rd! SW1-PROD(config)# service password-encryption ! Créer et nommer les VLANs SW1-PROD(config)# vlan 10 SW1-PROD(config-vlan)# name UTILISATEURS SW1-PROD(config)# vlan 20 SW1-PROD(config-vlan)# name SERVEURS SW1-PROD(config)# vlan 30 SW1-PROD(config-vlan)# name MANAGEMENT SW1-PROD(config)# vlan 99 SW1-PROD(config-vlan)# name NATIF ! Ports Access VLAN 10 (postes utilisateurs) SW1-PROD(config)# interface range FastEthernet0/1 - 10 SW1-PROD(config-if-range)# switchport mode access SW1-PROD(config-if-range)# switchport access vlan 10 SW1-PROD(config-if-range)# spanning-tree portfast SW1-PROD(config-if-range)# spanning-tree bpduguard enable ! Ports Access VLAN 20 (serveurs) SW1-PROD(config)# interface range FastEthernet0/11 - 15 SW1-PROD(config-if-range)# switchport mode access SW1-PROD(config-if-range)# switchport access vlan 20 ! Port Trunk vers le routeur (tous les VLANs) SW1-PROD(config)# interface GigabitEthernet0/1 SW1-PROD(config-if)# switchport mode trunk SW1-PROD(config-if)# switchport trunk native vlan 99 SW1-PROD(config-if)# switchport trunk allowed vlan 10,20,30,99 ! SVI de gestion (accès SSH/telnet au switch) SW1-PROD(config)# interface Vlan30 SW1-PROD(config-if)# ip address 192.168.30.10 255.255.255.0 SW1-PROD(config-if)# no shutdown SW1-PROD(config)# ip default-gateway 192.168.30.1 ! Désactiver et isoler les ports inutilisés SW1-PROD(config)# interface range FastEthernet0/20 - 24 SW1-PROD(config-if-range)# shutdown
4. SSH v2 — Accès sécurisé à distance
hostname et ip domain-name doivent être configurés avant de générer la clé RSA, sinon la commande échoue.! 1. Prérequis R1(config)# hostname R1-PARIS R1(config)# ip domain-name entreprise.local ! 2. Générer la clé RSA 2048 bits R1(config)# crypto key generate rsa modulus 2048 ! 3. Activer SSH version 2 uniquement R1(config)# ip ssh version 2 R1(config)# ip ssh time-out 60 R1(config)# ip ssh authentication-retries 3 ! 4. Créer un compte local avec privilège maximum R1(config)# username admin privilege 15 secret AdminP@ss! ! 5. Configurer les lignes VTY pour SSH uniquement (interdire Telnet) R1(config)# line vty 0 4 R1(config-line)# login local R1(config-line)# transport input ssh R1(config-line)# exec-timeout 10 0 ! Vérification R1# show ip ssh R1# show ssh ! Connexion depuis Linux/macOS ! ssh admin@192.168.30.10 ! Si erreur d'algorithme (vieux IOS) : ! ssh -o KexAlgorithms=diffie-hellman-group14-sha1 admin@192.168.30.10
5. TFTP — Sauvegarde et restauration
Le protocole TFTP (UDP 69) permet de sauvegarder la configuration et l'image IOS vers un serveur externe. C'est la méthode standard pour la gestion de parc Cisco.
# Installation du serveur TFTP sur Debian/Ubuntu apt install -y tftpd-hpa # Créer le répertoire et donner les permissions mkdir -p /srv/tftp/cisco chmod 777 /srv/tftp/cisco # Configurer /etc/default/tftpd-hpa cat > /etc/default/tftpd-hpa << EOF TFTP_USERNAME="tftp" TFTP_DIRECTORY="/srv/tftp" TFTP_ADDRESS=":69" TFTP_OPTIONS="--secure --create" EOF # Démarrer et activer systemctl enable --now tftpd-hpa # Vérifier que TFTP écoute sur UDP 69 ss -ulnp | grep :69
! Sauvegarder la running-config R1# copy running-config tftp: Address or name of remote host? 192.168.1.100 Destination filename [R1-confg]? R1-running-20250601.cfg ! Sauvegarder la startup-config R1# copy startup-config tftp: Address or name of remote host? 192.168.1.100 Destination filename? R1-startup-20250601.cfg ! Sauvegarder l'image IOS (flash → TFTP) R1# copy flash: tftp: Source filename? c2900-universalk9-mz.SPA.157-3.M8.bin Address or name of remote host? 192.168.1.100 Destination filename? c2900-universalk9-mz.SPA.157-3.M8.bin ! --- RESTAURATION --- ! Restaurer une config depuis TFTP R1# copy tftp: running-config Address or name of remote host? 192.168.1.100 Source filename? R1-running-20250601.cfg ! Restaurer une image IOS (TFTP → flash) R1# copy tftp: flash: Address or name of remote host? 192.168.1.100 Source filename? c2900-universalk9-mz.SPA.157-3.M8.bin
6. Commandes show — Référence diagnostic
Les commandes show sont essentielles pour vérifier la configuration et diagnostiquer les problèmes. Elles s'exécutent en mode privilégié (ou avec do show depuis le mode configuration).
| Commande | Description |
|---|---|
| Routeur — Diagnostic | |
| show running-config | Configuration active en mémoire RAM |
| show startup-config | Configuration sauvegardée en NVRAM (survivra au reboot) |
| show ip interface brief | Résumé de toutes les interfaces avec IP et état Up/Down |
| show ip route | Table de routage complète |
| show ip nat translations | Sessions NAT/PAT actives en cours |
| show ip ospf neighbor | Voisins OSPF et leur état (Full = OK) |
| show version | Version IOS, uptime, mémoire Flash/RAM, numéro de série |
| Switch — Diagnostic | |
| show vlan brief | Liste des VLANs et ports associés |
| show interfaces trunk | Ports trunk actifs et VLANs autorisés |
| show mac address-table | Table des adresses MAC apprises par interface |
| show spanning-tree | État STP : Root Bridge, ports Designated/Blocking |
| Sécurité & Accès | |
| show ip ssh | Version SSH active et paramètres (timeout, retries) |
| show users | Sessions actives sur le routeur/switch |
| show logging | Buffer de logs système Cisco |
| show flash: | Fichiers stockés dans la mémoire flash |
write) ou copy running-config startup-config après chaque modification. Sans ça, la configuration est perdue au prochain redémarrage.