FRR 平台选项

FRR 专辑 支持 ansible.netcommon.network_cli 连接。本节提供了有关如何将这种连接,用于自由范围路由,Free Range Routing,FRR,的详细介绍。

译注FRRouting,是linux 基金会的合作项目,a Linux foundation collaborative project。代码仓库 FRRouting/frr

可用连接

CLI
协议SSH
凭据在存在 SSH 密钥/ ssh-agent 时使用 SSH 密钥/ssh-agent,在使用密码时接受 -u my_user -k 参数
间接访问通过堡垒机(跳转主机)
连接设置ansible_connection: ansible.netcommon.network_cli
enable 模式(权限提升)不支持
返回数据格式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-agent),则可以移除 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-agent 来管理 SSH 密钥。如果必须使用密码来验证 SSH 连接,建议使用 Ansible Vault 对密码进行加密。

(End)

Last change: 2025-03-23, commit: 5053ac4

小额打赏,赞助 xfoss.com 长存......

微信 | 支付宝

若这里内容有帮助到你,请选择上述方式向 xfoss.com 捐赠。