Configurar Ansible para nodos administrados de Junos OS
Juniper Networks admite el uso de Ansible para administrar dispositivos Junos y proporciona módulos de Ansible que puede utilizar para realizar tareas operativas y de configuración en los dispositivos. No es necesario instalar ningún software de cliente en los nodos remotos para utilizar Ansible para administrar los dispositivos. Además, Python no es necesario en los dispositivos Junos administrados, ya que los módulos de Juniper Networks se ejecutan localmente en el nodo de control de Ansible. Los módulos utilizan la API XML de Junos y NETCONF para realizar las tareas operativas y de configuración correspondientes.
Puede ejecutar Ansible para módulos de Junos OS con cualquier cuenta de usuario que tenga acceso al dispositivo de Junos administrado. Cuando ejecute módulos de Ansible, se aplican los privilegios de acceso de la cuenta de usuario de Junos OS. La clase configurada para la cuenta de usuario de Junos OS determina los permisos. Por lo tanto, si un usuario ejecuta un módulo que carga cambios de configuración en un dispositivo, el usuario debe tener permisos para cambiar las partes relevantes de la configuración.
Juniper Networks proporciona módulos que le permiten conectarse a dispositivos Junos mediante NETCONF a través de SSH o telnet. Para administrar dispositivos a través de una sesión NETCONF a través de SSH, debe habilitar el servicio NETCONF a través de SSH en el dispositivo administrado y asegurarse de que el dispositivo cumpla los requisitos para las conexiones SSHv2. Ciertos módulos también le permiten telnet a la interfaz de administración del dispositivo o a un servidor de consola que esté conectado directamente al puerto CONSOLE del dispositivo. Para usar Ansible to Telnet directamente en la interfaz de administración del dispositivo, debe configurar el servicio Telnet en el dispositivo administrado.
En las siguientes secciones, se describen los requisitos y la configuración necesaria en los dispositivos Junos cuando utiliza Ansible para acceder al dispositivo mediante los distintos protocolos de conexión.
Habilite NETCONF en dispositivos Junos
Para activar NETCONF mediante SSH en el puerto predeterminado (830) de un dispositivo Junos:
Satisfacer los requisitos para conexiones SSHv2
El servidor NETCONF se comunica con las aplicaciones cliente en el contexto de una sesión de NETCONF. El servidor y el cliente establecen explícitamente una conexión y una sesión antes de intercambiar datos y cierran la sesión y la conexión cuando terminan. Los módulos de Ansible para Junos OS acceden al servidor NETCONF mediante el protocolo SSH y los mecanismos de autenticación SSH estándar. Cuando utilice Ansible para administrar dispositivos Junos, la forma más cómoda de acceder a un dispositivo es configurar las claves SSH.
Para establecer una conexión SSHv2 con un dispositivo Junos, debe asegurarse de que se cumplan los siguientes requisitos:
-
El servicio NETCONF a través de SSH se habilita en cada dispositivo en el que se establecerá una sesión de NETCONF.
-
La aplicación cliente tiene una cuenta de usuario y puede iniciar sesión en cada dispositivo en el que se establecerá una sesión de NETCONF.
-
La cuenta de inicio de sesión que usa la aplicación cliente tiene configurado un par de claves pública/privada SSH o una contraseña basada en texto.
-
La aplicación cliente puede tener acceso a las claves públicas o privadas o a la contraseña basada en texto.
Para obtener información sobre cómo habilitar NETCONF en un dispositivo Junos y satisfacer los requisitos para establecer una sesión SSH, consulte la Guía para desarrolladores del protocolo de administración XML de NETCONF.
Configurar el servicio Telnet en dispositivos Junos
Algunos de los módulos de Ansible de Juniper Networks pueden telnet directamente a un dispositivo de Junos. Para telnet a un dispositivo Junos, debe configurar el servicio Telnet en el dispositivo. La configuración del servicio Telnet para un dispositivo permite el acceso remoto no cifrado al dispositivo.
Dado que telnet usa contraseñas de texto sin cifrar (lo que crea una posible vulnerabilidad de seguridad), le recomendamos que use SSH.
Para habilitar el servicio Telnet: