利用ansible管理ensp中路由器
1.前期准备
1.1 拓扑搭建
首先需要在ensp中配置本次实验所需要的设备,如图所示
其中交换机型号为S3700,路由器型号为AR2220.
1.2 环境配置
(1)在环境上我们首先需要对cloud进行配置,具体配置详见我之前的帖子
链接: https://blog.csdn.net/weixin_34859687/article/details/111612716
其中,cloud的具体配置如下
(2)接下来需要对R1进行配置
首先配置g 0/0/0端口的ip
int g 0/0/0
ip add 192.168.239.101 24
接着配置aaa
rsa local-key-pair create
stelnet server enable
local-user huawei privilege level 15 password cipher huawei123
local-user huawei service-type ssh
user-interface vty 0 4
authentication-mode aaa
protocol inbound ssh
(3)在R1上ping一下192.168.239.1
至此环境配置完毕
2. ansible程序编写
在本环节中,我们会用到ansible中的cloudengine模块,请下载ansible 2.9版本(不要下载2.10版本,缺少该模块,踩坑路过)
我的虚拟机ip信息如下
需要确认能够在虚拟机上ping通交换机,如果不能ping通,请认真检查配置环境,不然后续都是无用功。
2.1 ansible环境配置
首先在ansible的配置文件加上该交换机的ip地址
hosts文件的地址默认为
/etc/ansible/hosts
2.2 playbook编写
- name: CloudEngine command test
hosts: cloudengine
connection: local
gather_facts: no
vars:
cli:
host: "{{ inventory_hostname }}"
port: "{{ ansible_ssh_port }}"
username: "{{ ansible_ssh_user }}"
password: "{{ ansible_ssh_pass }}"
transport: cli
tasks:
- name: "Run display version on remote devices"
ce_command:
commands: display ip routing-table
provider: "{{ cli }}"
在虚拟机上执行ansible
ansible-playbook /root/py_playbook/sw_test.yml -vvv
显示执行成功,至此,实验完毕。