Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Connectez-vous aux équipements Junos à l’aide d’Ansible

RÉSUMÉ Les modules Ansible de Juniper Networks vous permettent de vous connecter à des équipements Junos à l’aide de connexions SSH, telnet ou de console série.

Juniper Networks fournit des modules Ansible que vous pouvez utiliser pour gérer les équipements Junos. Les modules Juniper Networks sont distribués dans la juniper.device collection. Les modules peuvent se connecter à des équipements Junos à l’aide de différents protocoles et connexions Ansible, qui sont décrits dans ce document.

Vue d’ensemble des méthodes de connexion

Les juniper.device modules de collecte vous permettent de vous connecter à un équipement Junos à l’aide d’une connexion SSH, telnet ou d’une console série. Vous devez utiliser une connexion de console série lorsque votre terminal ou votre ordinateur portable est physiquement connecté au port CONSOLE d’un équipement Junos. Vous pouvez utiliser SSH ou telnet pour vous connecter à l’interface de gestion de l’appareil ou à un serveur de console directement connecté au port CONSOLE de l’appareil.

Les équipements nouveaux ou remis à zéro dont la configuration d’usine par défaut nécessitent un accès via une connexion à la console. Ainsi, vous pouvez utiliser Ansible pour configurer initialement un périphérique qui n’est pas encore configuré pour l’accès à distance en utilisant soit une connexion de console série lorsque vous êtes directement connecté à l’appareil, soit en utilisant telnet ou SSH via un serveur de console directement connecté à l’appareil.

Par défaut, les juniper.device modules utilisent SSH pour se connecter à un appareil. Pour utiliser une connexion telnet ou une console série, définissez le mode paramètre sur la valeur appropriée. Pour telnet à un périphérique, définissez l’argument mode égal à "telnet". Pour utiliser une connexion à la console série, définissez l’argument mode sur "serial". Le Tableau 1 récapitule les modes de connexion, leurs valeurs par défaut pour certains paramètres et toute configuration requise de Junos OS. Les juniper.device modules prennent en charge tous les modes de connexion à partir de leur version initiale.

Tableau 1 : modes de connexion des modules Ansible de Juniper Networks

Mode de connexion

Valeur de l’argument mode

Port par défaut

Configuration requise de Junos OS

NETCONF sur SSH (par défaut)

830

[edit system services]
netconf {
    ssh;
}

Connexion à la console série

serial

/dev/ttyUSB0

SSH via un serveur de console

22

De Telnet vers un équipement Junos

telnet

23

[edit system services]
telnet;

Telnet via un serveur de console

telnet

23

Note:

Avant de pouvoir accéder à l’interface de gestion à l’aide de telnet ou NETCONF sur SSH, vous devez d’abord activer le service approprié au niveau de la [edit system services] hiérarchie. Étant donné que telnet utilise des mots de passe en texte clair (créant ainsi une vulnérabilité de sécurité potentielle), nous vous recommandons d’utiliser SSH.

Lorsque vous exécutez les juniper.device modules pour gérer un équipement Junos, l’équipement distant doit être en mesure d’authentifier l’utilisateur Ansible à l’aide des informations d’identification appropriées pour le protocole donné. Pour plus d’informations, reportez-vous à la section Authentifier les utilisateurs exécutant des modules Ansible sur des équipements Junos.

Les juniper.device modules prennent en charge différentes connexions Ansible lors de la connexion à des équipements Junos, notamment des connexions locales (par tâche) et des connexions persistantes (par jeu). La connexion Ansible détermine si Ansible établit une connexion distincte à l’hôte pour chaque tâche du jeu ou s’il établit une connexion unique à un hôte qui persiste sur toutes les tâches du jeu. Pour plus d’informations sur la spécification de la connexion Ansible, consultez Présentation des connexions Ansible locales et persistantes.

Comprendre les connexions Ansible locales et persistantes

Les modules Ansible de Juniper Networks n’ont pas besoin de Python sur les équipements Junos, car ils utilisent Junos PyEZ et l’API Junos XML sur NETCONF pour s’interfacer avec l’équipement. Par conséquent, pour effectuer des opérations sur des équipements Junos, vous devez exécuter des modules localement sur le nœud de contrôle Ansible, sur lequel Python est installé. Vous pouvez exécuter les modules localement en les incluant connection: local dans le playbook playbook. Lorsque vous utilisez connection: local, Ansible établit une connexion distincte à l’hôte pour chaque tâche du jeu qui effectue des opérations sur l’hôte.

Les juniper.device modules de collecte prennent également en charge connection: juniper.device.pyez l’établissement d’une connexion persistante à un hôte. Lorsque vous utilisez une connexion persistante, Ansible continue d’exécuter les modules localement sur le nœud de contrôle, mais il n’établit et ne maintient qu’une seule connexion à chaque hôte, qui persiste pendant l’exécution de toutes les tâches du jeu. L’établissement d’une connexion persistante à un hôte peut être plus efficace pour exécuter plusieurs tâches que l’établissement d’une connexion distincte à l’hôte pour chaque tâche de la pièce.

Le Tableau 2 récapitule les connexions Ansible et les ensembles de contenu qui les prennent en charge.

Tableau 2 : connexions Ansible prises en charge par les modules Juniper Networks

Connexion Ansible

Description

Prise en charge de l’ensemble de contenus

connection: local

Exécutez les modules localement sur le nœud de contrôle Ansible, mais établissez une connexion distincte à un hôte pour chaque tâche du jeu qui effectue des opérations sur l’hôte.

juniper.devicecollection

Juniper.junosRôle (déconseillé)

connection: juniper.device.pyez

Exécutez les modules localement sur le nœud de contrôle Ansible, mais établissez une connexion persistante à un hôte qui persiste pendant l’exécution de toutes les tâches du jeu.

juniper.devicecollection

Lorsque vous utilisez connection: local, Ansible établit une connexion distincte à un hôte pour chaque module, ce qui signifie que vous pouvez définir des paramètres de connexion et d’authentification spécifiques au module dans la liste d’arguments du module. En revanche, lorsque vous utilisez connection: juniper.device.pyez, la connexion persiste dans toutes les tâches du jeu, et vous devez donc définir les paramètres de connexion et d’authentification globalement pour tous les modules. Vous pouvez définir les paramètres dans la vars: section d’un jeu, en plus de les fournir par d’autres moyens, par exemple, dans un fichier de configuration SSH ou dans le fichier d’inventaire Ansible. Pour plus d’informations, reportez-vous à la section Authentifier les utilisateurs exécutant des modules Ansible sur des équipements Junos.

Le playbook suivant établit une connexion permanente avec chaque hôte qui est utilisée pour toutes les tâches du play. Les informations d’identification de l’utilisateur, qui sont stockées dans un fichier de coffre-fort Ansible, sont définies dans la section de vars: la lecture.

Se connecter à un appareil à l’aide de SSH

Les modules Ansible de Juniper Networks prennent en charge l’utilisation de SSH pour se connecter à un équipement Junos. Vous pouvez établir une session NETCONF via SSH sur l’interface de gestion du périphérique ou établir une connexion SSH avec un serveur de console directement connecté au port CONSOLE du périphérique. Le serveur SSH doit être en mesure d’authentifier l’utilisateur à l’aide des mécanismes d’authentification SSH standard, comme décrit dans Authentifier les utilisateurs exécutant des modules Ansible sur des périphériques Junos. Pour établir une session NETCONF via SSH, vous devez également satisfaire aux exigences décrites dans Configurer Ansible pour les nœuds gérés par Junos OS.

Les modules Juniper Networks interrogent automatiquement le fichier de configuration SSH par défaut à l’adresse ~/.ssh/config, s’il en existe un. Vous pouvez également inclure le ssh_config paramètre pour spécifier un autre fichier de configuration.

Lorsque vous utilisez SSH pour vous connecter à un équipement Junos ou à un serveur de console connecté à l’équipement, les modules tentent d’abord l’authentification SSH par clé publique, puis l’authentification par mot de passe. Lorsque l’authentification par mot de passe est utilisée, le mot de passe fourni est utilisé comme mot de passe de l’appareil. Lorsque des clés SSH sont utilisées, le mot de passe fourni est utilisé comme phrase secrète pour déverrouiller la clé privée. Si la clé privée SSH a une phrase de passe vide, un mot de passe n’est pas nécessaire. Toutefois, nous vous déconseillons d’utiliser des clés privées SSH avec des phrases de passe vides.

Le playbook suivant établit une session NETCONF sur SSH avec un équipement Junos et récupère les faits relatifs à l’appareil. Le playbook utilise les clés SSH à l’emplacement par défaut.

Les modules Ansible de Juniper Networks vous permettent également de vous connecter à un équipement Junos via une connexion SSH à un serveur de console. Dans ce cas, vous devez spécifier les identifiants de connexion pour le périphérique Junos et le serveur de console. user Les paramètres et passwd pour spécifier les informations d’identification de connexion Junos OS et les cs_user paramètres et cs_passwd pour spécifier les informations d’identification du serveur de console. Lorsque les clés SSH sont en cours d’utilisation, cs_passwd il s’agit de la phrase secrète de la clé privée.

Le playbook suivant vous invite à entrer les informations d’identification de l’utilisateur pour le serveur de console et le périphérique Junos. Le module s’authentifie auprès du serveur de consoles, puis auprès du périphérique Junos. Si l’authentification réussit, le playbook récupère les informations sur l’équipement à partir du nœud géré et imprime la version de Junos OS.

Les modules Juniper Networks interrogent automatiquement le fichier de configuration du client SSH par défaut à l’adresse ~/.ssh/config, s’il existe. Vous pouvez utiliser un autre fichier de configuration SSH en incluant le ssh_config paramètre et en spécifiant l’emplacement du fichier de configuration. Par exemple:

Se connecter à un appareil à l’aide de Telnet

Les modules Juniper Networks vous permettent de vous connecter à un équipement Junos à l’aide de telnet, qui fournit un accès non chiffré à l’équipement réseau. Vous pouvez établir un telnet vers l’interface de gestion de l’appareil ou vers un serveur de console directement connecté au port CONSOLE de l’appareil. L’accès à l’équipement par le biais d’un serveur de console vous permet de configurer initialement un nouveau périphérique ou un périphérique remis à zéro qui n’est pas encore configuré pour l’accès à distance. Pour telnet à l’interface de gestion, vous devez configurer le service Telnet au niveau de la [edit system services] hiérarchie sur tous les périphériques qui ont besoin d’accéder à l’interface.

Pour vous connecter à l’équipement distant, définissez le mode paramètre sur "telnet" et incluez-le si éventuellement pour port spécifier un port. Lorsque vous définissez mode sur "telnet" mais omettez le port paramètre, la valeur par port défaut de 23. Pour les connexions persistantes, définissez mode et port sous la vars: section. Pour les connexions locales, vous pouvez définir les paramètres soit sous la vars: section, soit en tant qu’arguments de module.

Le playbook suivant se connecte à un périphérique Junos à l’aide du port 7016, récupère les faits sur l’équipement et les enregistre dans un fichier. Le playbook vous invite à saisir le nom d’utilisateur et le mot de passe.

Connexion à un périphérique à l’aide d’une connexion à la console série

Les modules Juniper Networks vous permettent de vous connecter à un équipement Junos à l’aide d’une connexion à la console série, ce qui est utile lorsque vous devez initialement configurer un nouvel équipement ou un équipement remis à zéro qui n’est pas encore configuré pour l’accès à distance. Pour utiliser cette méthode de connexion, votre terminal ou votre ordinateur portable doit être physiquement connecté à l’équipement Junos via le port CONSOLE . Pour obtenir des instructions détaillées sur la connexion au port CONSOLE d’un équipement Junos, reportez-vous à la documentation matérielle de votre équipement spécifique.

Pour vous connecter à un équipement Junos via une connexion à la console série, définissez le paramètre du mode module sur "serial", et incluez éventuellement le port paramètre pour spécifier un port. Lorsque vous définissez mode sur "serial" mais omettez le port paramètre, la valeur par port défaut est /dev/ttyUSB0. Pour les connexions persistantes, définissez mode et port sous la vars: section. Pour les connexions locales, vous pouvez définir les paramètres soit sous la vars: section, soit en tant qu’arguments de module.

Le playbook suivant se connecte à un équipement Junos via le port CONSOLE , puis charge et valide une configuration initiale. Le playbook vous invite à saisir le nom d’utilisateur et le mot de passe.