Le protocole FTP (File Transfer Protocol) est un protocole de couche application de la pile TCP/IP, normalisé par la RFC 959 depuis 1985. Il constitue un standard historique pour le transfert de fichiers entre hôtes sur un réseau IP, notamment dans les environnements CISCO pour la gestion d’images IOS et de sauvegardes de configuration.
Norme : RFC 959 (IETF)
Ports utilisés :
- 21/TCP : Connexion de contrôle (commandes, authentification, navigation dans l’arborescence)
- 20/TCP : Port par défaut pour le transfert de données en mode actif
Fonctionnement général
Le protocole FTP fonctionne selon un modèle client/serveur. Le client FTP initie la connexion de contrôle vers le serveur FTP sur le port 21, puis des connexions de données sont établies pour le transfert effectif des fichiers.
Caractéristiques principales :
- Support de l’authentification : par nom d’utilisateur et mot de passe, ou en mode anonyme
- Modes de transfert : ASCII (texte) ou binaire (fichiers non texte)
- Deux flux TCP distincts :
- Connexion de contrôle (persistante)
- Connexion de données (créée à chaque transfert, séparée pour l’envoi/réception)
Modes de connexion du protocole FTP
Mode Actif
- Le client FTP initie la connexion de contrôle vers 21/TCP sur le serveur FTP
- Lors d’un transfert, le client envoie au serveur la commande PORT, indiquant sur quel port éphémère (>1023) il attend la connexion de données
- Le serveur FTP se connecte alors du port 20/TCP vers le port désigné du client
Mode Passif
- Utilisé pour surmonter les restrictions NAT/Pare-feu
- Le client FTP demande au serveur, via la commande PASV, sur quel port éphémère il doit initier la connexion de données
- Le serveur répond avec le port, et c’est le client qui se connecte à ce port, évitant ainsi une connexion entrante du serveur vers le client
Sécurité du protocole FTP
Le protocole FTP transmet les identifiants et les données en clair, sans chiffrement natif. Cela expose le trafic à des risques d’interception sur le réseau.
FTPS (FTP Secure)
- Ajoute SSL/TLS au protocole FTP (RFC 4217), pour le chiffrement des authentifications et des données
- Support des certificats numériques
- Utilisé principalement quand un cryptage fort est nécessaire, par exemple pour des transferts sensibles
SFTP (SSH File Transfer Protocol)
- Protocole distinct, encapsulé dans SSH et n’ayant aucun lien de paquetisation ou de port avec le protocole FTP (SFTP utilise 22/TCP)
- SFTP permet des fonctionnalités avancées (renommage, suppression, création de dossiers…) sécurisées
Utilisation du protocole FTP sur les équipements CISCO
Le protocole FTP est principalement utilisé pour :
- Télécharger une image IOS vers le routeur ou switch Cisco
- Sauvegarder/restaurer la configuration
- Copier tout autre fichier entre l’équipement et un serveur centralisé
L’utilisation du protocole FTP est souvent préférée au protocole TFTP pour la gestion centralisée des configurations et images à cause de sa fiabilité et de ses fonctionnalités (authentification, gestion des fichiers).
Configuration FTP sur les équipements CISCO
Commandes de configuration globale essentielles
R1(config)# ip ftp username admin ! Définir le nom d'utilisateur FTP par défaut
R1(config)# ip ftp password cisco123 ! Définir le mot de passe FTP par défaut
R1(config)# ip ftp source-interface GigabitEthernet0/0 ! Choisir l'interface source pour les connexions FTP sortantes
Commandes pour le transfert d’images IOS
R1# copy ftp: flash: ! Télécharger une image du serveur FTP vers la flash du routeur
R1# copy flash: ftp: ! Charger une image de la flash vers un serveur FTP
Lors de l’utilisation de cette commande, IOS vous demandera :
- L’adresse IP du serveur FTP
- Le nom d’utilisateur (si non configuré globalement)
- Le mot de passe (si non configuré globalement)
- Le nom du fichier source
- Le nom du fichier de destination
Commandes pour la sauvegarde et restauration de configuration
R1# copy running-config ftp: ! Sauvegarder la configuration active sur un serveur FTP
R1# copy startup-config ftp: ! Sauvegarder la configuration de démarrage sur un serveur FTP
R1# copy ftp: running-config ! Restaurer une configuration depuis un serveur FTP
R1# copy ftp: startup-config ! Charger une configuration de démarrage depuis un serveur FTP
Commandes avec spécification directe des identifiants
R1# copy ftp://admin:cisco123@192.168.1.100/c2900-universalk9-mz.SPA.155-3.M4a.bin flash:
Cette commande permet de spécifier directement l’utilisateur, le mot de passe, l’adresse IP du serveur et le chemin du fichier.
Commandes de diagnostic et dépannage
R1# debug ftp ! Activer le mode de dépannage FTP (diagnostic)
R1# undebug all ! Désactiver tous les diagnostics en cours
Commandes de vérification
R1> show running-config ! Vérifier la configuration active
R1> show startup-config ! Vérifier la configuration de démarrage
R1> show file systems ! Voir les systèmes de fichiers et points de montage disponibles
R1> show flash: ! Lister les fichiers présents sur la mémoire flash
R1> show version ! Afficher les informations sur l'image IOS actuelle
Commandes optionnelles pour optimiser les transferts FTP
Configuration du mode passif
R1(config)# ip ftp passive ! Forcer l'utilisation du mode passif pour les connexions FTP sortantes
Cette commande est particulièrement utile quand le routeur se trouve derrière un NAT ou un pare-feu.
Configuration du timeout FTP
R1(config)# ip ftp timeout 30 ! Définir le timeout FTP (en secondes)
Vérification des paramètres FTP configurés
R1> show running-config | include ftp ! Afficher uniquement les lignes contenant "ftp" dans la configuration
Configuration sur les switches CISCO
Les commandes sont identiques sur les switches, seul le prompt change :
SWE(config)# ip ftp username admin ! Configuration sur switch de niveau 2
SWE(config)# ip ftp password cisco123 ! Définir les paramètres FTP
SWE# copy ftp: flash: ! Télécharger une image vers le switch
SWC(config)# ip ftp username admin ! Configuration sur switch de niveau 3
SWC(config)# ip ftp password cisco123 ! Définir les paramètres FTP
SWC# copy running-config ftp: ! Sauvegarder la configuration
Mots-clés spécifiques du protocole FTP
- Connexion de contrôle : Flux persistant dédié aux commandes et à l’authentification sur le port 21/TCP
- Connexion de données : Flux temporaire ouvert à chaque transfert, port 20 (actif) ou port indiqué par le serveur (passif)
- Mode ASCII/Binaire : Modes d’encodage des fichiers ; essentiel pour préserver l’intégrité des fichiers
- Mode passif : Impératif pour des transferts à travers NAT ou pare-feu restrictifs
- Anonymous FTP : Accès FTP sans authentification, utilisant “anonymous” comme nom d’utilisateur
Cas d’usage typiques en environnement CISCO
- Déploiement centralisé d’images IOS sur un parc de routeurs et switches
- Sauvegarde automatisée de configurations via un serveur FTP centralisé
- Collecte des journaux ou fichiers de logs depuis les équipements
- Transfert de certificats SSL pour les services HTTPS sur les équipements
- Distribution de fichiers de configuration spécifiques par site
Scénario complet de mise à jour d’image IOS
R1> enable ! Passer en mode privilégié
R1# configure terminal ! Entrer en mode de configuration globale
R1(config)# ip ftp username ftpuser ! Définir l'utilisateur FTP
R1(config)# ip ftp password ftppass ! Définir le mot de passe FTP
R1(config)# ip ftp source-interface GigabitEthernet0/0 ! Définir l'interface source
R1(config)# exit ! Retourner en mode privilégié
R1# show flash: ! Vérifier l'espace disponible sur la flash
R1# copy ftp: flash: ! Commencer le transfert
Le système demandera alors :
- Address or name of remote host []? 192.168.1.100
- Source filename []? c2900-universalk9-mz.SPA.155-3.M4a.bin
- Destination filename [c2900-universalk9-mz.SPA.155-3.M4a.bin]? (Appuyer sur Entrée)
R1# show flash: ! Vérifier que le fichier a bien été copié
R1# configure terminal ! Retourner en configuration
R1(config)# boot system flash c2900-universalk9-mz.SPA.155-3.M4a.bin ! Définir la nouvelle image de boot
R1(config)# exit ! Sortir de la configuration
R1# write memory ! Sauvegarder la configuration
R1# reload ! Redémarrer pour utiliser la nouvelle image
Pour vous préparer efficacement à la certification CCNA 200-301, approfondissez vos connaissances sur le protocole FTP et d’autres protocoles essentiels avec la formation vidéo officielle : Formation CCNA 200-301 (Cours vidéo)
Note importante : Toutes les configurations avancées, les restrictions relatives à la sécurité des transferts, la gestion des droits d’accès et les logs spécifiques sont documentés sur le site officiel de Cisco. Pour des environnements critiques ou exposés à Internet, privilégier systématiquement FTPS ou SFTP au protocole FTP standard pour garantir la confidentialité des données lors des transferts.
