SUR CETTE PAGE
Présentation du client Perl NETCONF et exemples de scripts
Les périphériques exécutant Junos OS prennent en charge le protocole de gestion XML NETCONF, qui permet aux applications clientes de demander et de modifier les informations de configuration sur les périphériques. Le protocole NETCONF utilise un codage de données basé sur XML (Extensible Markup Language) pour les données de configuration et les appels de procédure à distance. L’API Perl NETCONF de Juniper Networks permet aux programmeurs familiarisés avec le langage de programmation Perl de créer leurs propres applications Perl pour gérer les équipements exécutant Junos OS sur NETCONF.
Avant la version 16.1 de Junos OS, chaque version de Junos OS incluait une nouvelle version du client NETCONF Perl en fonction de la version. À partir de Junos OS version 16.1, le client Perl NETCONF est indépendant de la version, est hébergé sur GitHub et CPAN et peut gérer les périphériques exécutant n’importe quelle version de la version de Junos OS. Les modules et les exemples de scripts dans les versions dépendantes de la version de la distribution Perl NETCONF diffèrent de ceux de la version indépendante de la version hébergée sur GitHub et CPAN.
Cette section aborde les sujets suivants :
Modules clients Perl NETCONF
Le Tableau 1 récapitule les modules de la version indépendante de la bibliothèque Perl NETCONF. Le Net::Netconf::Manager module fournit une interface orientée objet pour la communication avec le serveur NETCONF sur les périphériques exécutant Junos OS et vous permet de vous connecter facilement au périphérique, d’établir une session NETCONF et d’exécuter des demandes opérationnelles et de configuration. Les applications clientes n’invoquent directement que l’objet Net::Netconf::Manager . Lorsque l’application cliente crée un Manager objet, elle fournit le nom de l’appareil et le nom d’utilisateur à utiliser pour accéder à l’appareil. Le nom de connexion détermine le niveau d’accès de l’application cliente sur l’appareil.
Module |
Description |
|---|---|
|
Crée un |
|
Déclare toutes les constantes NETCONF. |
|
Implémente une interface orientée objet pour l’API NETCONF prise en charge par les périphériques exécutant Junos OS. Les objets de cette classe représentent le côté local de la connexion au périphérique, qui communique avec le client à l’aide du protocole NETCONF. |
|
Facilite le développement de documents XML pour les demandes opérationnelles et de configuration. Le module l’utilise |
|
Instancie et renvoie un objet XML |
|
Analyseur basé sur SAX qui analyse les réponses du serveur NETCONF. |
|
Fournit un accès SSH à une |
|
Fournit des niveaux de suivi et active le suivi en fonction du niveau de débogage demandé. |
Le module suivant est nouveau dans la version indépendante de la version du client Perl NETCONF : EzEditXML.
Les modules suivants ont été supprimés dans la version indépendante de la version du client Perl NETCONF : Transform, Plugins, et Version.
Les applications clientes peuvent également utiliser des modules Perl dans le domaine public pour faciliter le développement d’applications clientes Perl NETCONF. Étant donné que NETCONF utilise un codage de données basé sur XML, les applications clientes peuvent utiliser les nombreux modules Perl qui manipulent les données XML.
Vous pouvez utiliser le client Perl NETCONF pour créer des applications Perl qui se connectent à un périphérique, établissent une session NETCONF et exécutent des opérations. La communication entre le client et le serveur NETCONF sur le périphérique via l’API Perl NETCONF implique les étapes suivantes :
Établissement d’une session NETCONF sur SSHv2 entre l’application cliente et le serveur NETCONF sur le périphérique exécutant Junos OS.
Création des RPC correspondant aux requêtes et envoi de ces requêtes au serveur NETCONF.
Réception et traitement des réponses RPC du serveur NETCONF.
Exemples de scripts
La distribution Perl NETCONF inclut un répertoire d’exemples avec les exemples de scripts suivants qui illustrent comment utiliser les modules pour exécuter diverses fonctions. Pour obtenir des instructions sur l’exécution des scripts, consultez le fichier README dans le dépôt GitHub Perl NETCONF à l’adresse https://github.com/Juniper/netconf-perl.
diagnose_bgp/diagnose_bgp.pl : illustre comment surveiller l’état de l’appareil et diagnostiquer les problèmes. Le script extrait et affiche des informations sur les homologues Border Gateway Protocol (BGP) non établis d’un périphérique à partir de l’ensemble complet des données de configuration BGP.
get_chassis_inventory/get_chassis_inventory.pl : illustre l’utilisation d’une requête prédéfinie pour demander des informations à un périphérique. L’exemple de script appelle la
get_chassis_inventoryrequête avec l’optiondetailpermettant de demander les mêmes informations que celles renvoyées par la requête XML<get-chassis-inventory><detail/></get-chassis-inventory>Junos et la commandeshow chassis hardware detailCLI operational mode .edit_configuration/edit_configuration.pl : illustre la configuration du périphérique en chargeant un fichier contenant des données de configuration mises en forme avec des éléments de balise XML Junos. La distribution comprend un exemple de fichier de configuration, config.xml ; Toutefois, vous pouvez spécifier un fichier de configuration différent sur la ligne de commande lorsque vous appelez le script.