Параметры платформ с поддержкой 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, а затем выполните задачу плейбука, например:
- 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. (Примечание: ранее вместо auto использовалась default).
Предупреждение
Никогда не храните пароли в открытом виде. Для аутентификации SSH-подключений рекомендуется использовать ключи SSH. Ansible поддерживает ssh-agent для управления ключами SSH. Если для аутентификации SSH-подключений необходимо использовать пароли, рекомендуем зашифровать их с помощью Ansible Vault.
См. также
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/network/user_guide/platform_netconf_enabled.html