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