Spec-Zone.ru › Ansible

Параметры платформ с поддержкой Netconf

На этой странице приведены сведения о работе подключения netconf в Ansible и о том, как его использовать.

  • Доступные подключения
  • Использование NETCONF в Ansible

    • Включение NETCONF
    • Пример инвентаря NETCONF [junos:vars]
    • Пример задачи NETCONF
    • Пример задачи NETCONF с настраиваемыми переменными
    • Настройка бастионного узла/промежуточного хоста
    • Автоматическое определение ansible_network_os

Доступные подключения

NETCONF

все модули, кроме junos_netconf, который включает NETCONF

Протокол

XML через SSH

Учетные данные

используются ключи SSH / SSH-agent, если они доступны

при использовании пароля принимается -u myuser -k

Непрямой доступ

через бастионный узел (промежуточный хост)

Параметры подключения

ansible_connection: ansible.netcommon.netconf

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API