FRR 平台选项

FRR 集合支持 ansible.netcommon.network_cli 连接。本节详细介绍了如何将此连接用于自由范围路由 (FRR)。

可用连接

CLI

协议

SSH

凭据

如果存在,则使用 SSH 密钥/SSH 代理

如果使用密码,则接受 -u myuser -k

间接访问

通过堡垒机(跳转主机)

连接设置

ansible_connection: ansible.netcommon.network_cli

启用模式
(权限提升)

不支持

返回的数据格式

stdout[0].

在 Ansible 中使用 CLI

示例 CLI group_vars/frr.yml

ansible_connection: ansible.netcommon.network_cli
ansible_network_os: frr.frr.frr
ansible_user: frruser
ansible_password: !vault...
ansible_ssh_common_args: '-o ProxyCommand="ssh -W %h:%p -q bastion01"'
  • ansible_user 应属于 frrvty 组,并且应将默认 shell 设置为 /bin/vtysh

  • 如果您使用 SSH 密钥(包括 ssh 代理),您可以删除 ansible_password 配置。

  • 如果您直接访问主机(不是通过堡垒机/跳转主机),您可以删除 ansible_ssh_common_args 配置。

  • 如果您通过堡垒机/跳转主机访问主机,则不能在 ProxyCommand 指令中包含 SSH 密码。为防止机密泄露(例如在 ps 输出中),SSH 不支持通过环境变量提供密码。

示例 CLI 任务

- name: Gather FRR facts
  frr.frr.frr_facts:
    gather_subset:
     - config
     - hardware

警告

切勿以纯文本形式存储密码。我们建议使用 SSH 密钥来验证 SSH 连接。Ansible 支持 ssh 代理来管理您的 SSH 密钥。如果您必须使用密码来验证 SSH 连接,我们建议使用 Ansible Vault 对其进行加密。