Платформенные параметры с поддержкой Netconf
Эта страница содержит подробности о работе подключения netconf в Ansible и о его использовании.
Доступные подключения
|
NETCONF все модули, кроме | |
|---|---|
Протокол | XML по SSH |
Учетные данные |
использует ключи SSH / SSH-agent, если присутствуют принимает |
Непрямой доступ | через бастион (шлюз) |
Настройки подключения |
|
ansible_connection: local устарел. Пожалуйста, используйте ansible_connection: ansible.netcommon.netconf вместо этого.
Использование NETCONF в Ansible
Включение NETCONF
Прежде чем использовать NETCONF для подключения к коммутатору, необходимо:
- установить пакет Python
ncclientна вашем(их) узле(ях) управления сpip install ncclient - включить NETCONF на устройстве(ях) Junos OS
Чтобы включить NETCONF на новом коммутаторе через Ansible, используйте модуль, специфичный для платформы, через подключение CLI или настройте его вручную. Например, настройте переменные на уровне платформы так же, как в примере CLI выше, затем выполните задачу playbook следующим образом:
- name: Enable NETCONF connection: ansible.netcommon.network_cli junipernetworks.junos.junos_netconf: when: ansible_network_os == 'junipernetworks.junos.junos'
После включения NETCONF измените свои переменные для использования подключения NETCONF.
Пример инвентаризации NETCONF [junos:vars]
[junos:vars] ansible_connection=ansible.netcommon.netconf ansible_network_os=junipernetworks.junos.junos ansible_user=myuser ansible_password=!vault |
Пример задачи NETCONF
- name: Backup current switch config
junipernetworks.junos.netconf_config:
backup: yes
register: backup_junos_location
Пример задачи NETCONF с настраиваемыми переменными
- name: configure interface while providing different private key file path
junipernetworks.junos.netconf_config:
backup: yes
register: backup_junos_location
vars:
ansible_private_key_file: /home/admin/.ssh/newprivatekeyfile
Примечание: Для настраиваемых переменных плагина подключения netconf см. ansible.netcommon.netconf.
Настройка шлюза/бастиона
Для использования шлюза для подключения к устройству с поддержкой NETCONF, необходимо установить переменную среды ANSIBLE_NETCONF_SSH_CONFIG.
-
ANSIBLE_NETCONF_SSH_CONFIG can be set to either: -
- 1 или TRUE (для запуска использования файла конфигурации SSH по умолчанию ~/.ssh/config)
- Полный путь к файлу пользовательской конфигурации SSH.
Файл конфигурации SSH должен выглядеть примерно так:
Host * proxycommand ssh -o StrictHostKeyChecking=no -W %h:%p jumphost-username@jumphost.fqdn.com StrictHostKeyChecking no
Авторизация для шлюза должна использовать аутентификацию на основе ключей.
Вы можете указать приватный ключ, используемый в файле конфигурации SSH:
IdentityFile "/absolute/path/to/private-key.pem"
Или вы можете использовать ssh-agent.
Автообнаружение ansible_network_os
Если ansible_network_os не указан для узла, Ansible попытается автоматически определить, какой плагин network_os использовать.
Автообнаружение ansible_network_os также может быть запущено с использованием auto в качестве ansible_network_os. (Примечание: ранее использовалось default вместо auto).
Предупреждение
Никогда не храните пароли в открытом виде. Рекомендуется использовать ключи SSH для аутентификации подключений SSH. Ansible поддерживает ssh-agent для управления вашими ключами SSH. Если вам необходимо использовать пароли для аутентификации подключений SSH, рекомендуется шифровать их с помощью Ansible Vault.
См. также
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/network/user_guide/platform_netconf_enabled.html