Environnement du TP 13 : Netmiko (réseau legacy simulé)
Ce TP réutilise exactement la même VM Cisco IOS-XE que les TP 9 et 10 (voir tp9-environnement.md) : aucune nouvelle VM à créer.
1. Prérequis complémentaires
- la VM du TP 9 démarrée et accessible en SSH,
- Python 3 avec
pip install netmiko ntc-templatessur le poste hôte.
2. Installation des templates TextFSM (pour le scraping structuré)
Netmiko s’appuie sur les templates communautaires ntc-templates pour l’option use_textfsm=True :
pip install ntc-templatesSur certains systèmes, définissez la variable d’environnement pointant vers les templates si elle n’est pas détectée automatiquement :
export NET_TEXTFSM=$(python3 -c "import ntc_templates, os; print(os.path.join(os.path.dirname(ntc_templates.__file__), 'templates'))")3. Vérification de l’accès CLI seul
Ce TP simule un équipement sans API : vous n’utiliserez volontairement ni RESTCONF ni NETCONF ici, uniquement SSH. Vérifiez simplement que la connexion CLI fonctionne :
4. Test rapide de la sortie structurée
python3 -c "
from netmiko import ConnectHandler
d = {'device_type':'cisco_ios','host':'192.168.1.1','username':'api-user','password':'VotreMotDePasse'}
with ConnectHandler(**d) as c:
print(c.send_command('show ip interface brief', use_textfsm=True))
"Une liste de dictionnaires Python (et non une simple chaîne de texte) confirme que ntc-templates est correctement installé et détecté.
Vérification finale
- La connexion SSH fonctionne indépendamment de RESTCONF/NETCONF.
-
use_textfsm=Truerenvoie une structure de données exploitable (liste de dictionnaires). - La configuration des TP 9/10 (interfaces, OSPF) est toujours présente sur l’équipement.