【网工Ansible】第 6 节: Ansible Quick Start: Ansible CLI Playbook

一、在单个设备上配置OSPF

1、剧本案例与释义

注意!!!:由于版本原因,实际需要将11行的过时参数“transport”更换为“auth_pass”

yaml 剧本总是以三个破折号开头

2行,name为playbook名称

15行,模块“ios_config”,用以允许我们对网络设备进行配置更改。

18行,parents即父命令,是相对于其下的命令而言的。(想象实际配置,需要先进入OSPF配置模式,然后再进行各种其下的命令配置)

更多释义:

我们将在主机R1上进行配置。

我们不会收集有关设备的事实。

我们将使用本地连接。

我们将在本地服务器上运行逻辑。

“基本上,我们将在服务器上运行我们的剧本,而不是通过SSH 连接远程运行它。”

注意 Ansible 中的空格。这个非常重要。与 Python 类似,我们需要小心间距。

2、执行与验证

执行playbook:

被执行者验证:

(最顶部的输出所依命令为:sh ip pro)

【非常】"discovered_interpreter_python": "/usr/bin/python3"

搜解:这个一般是由于ansible的版本太高,而官方推荐你放弃py2而使用py3 我们只需要在ansible.cfg的 [default] 字段中插入简单的选项即可. interpreter_python = /usr/bin/python3

但我因为担心教程中使用的是python2,而若此时修改可能会导致复刻教程时某个环节出现问题,故未尝试更改。

二、在更多设备上配置OSPF

1、验证连通性与ssh是否可用

在控制节点处分配别ping“R1”-“S2”(被控制设备);再使用如下命令挨个ssh登录测试

2、执行与验证

将新主机添加入yaml中的hosts处

可以在此使用多个值,也可直接使用hosts文件中定义的组。见下二图

最后且最关键的改变在于两个文件中“connection”的值,需要将教程中展示的“local”换成了“network_cli”。从此处得到的启发:[unable to check privilege level]

(成功之后才发现正确的修正答案原来就在“资源”文件中,我还在莫名其妙为什么这些给出的配置文件都和教程中的不一样呢)

hosts文件代码

yml文件代码

注意:此处hosts值使用了hosts文件中定义的组名。若用all则代表hosts中定义的所有组的所有设备。

成功提示:

设备上验证:

(第一个是“sh ip pro”命令的输出)

注意:需要再交换机上使用“vtp mode transparent”,否则被下发的配置并不会应用的running-config中,重复执行playbook下发命令也会看到提示中显示“changed”。

3、VTP的Transparent模式

  • 可以添加、修改、删除本地VLAN

【非常】为什么使用vtp命令后依然会显示“changed”——因为在playbook中对vlan的配置如下:

而在设备的“sh run”中的实际配置显示为:

您必须按照在配置文件中看到的方式将其添加到剧本中详情见:Config changes are always applied, even when is equal to running configuration

  • 29
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值