Python如何实现网络自动化(简单易懂)

本次使用到的模拟器为ENSP,模拟的设备为CE交换机。

不同设备的配置文件信息不是一样的,不过大致代码思路和配置思路都可以此类推。

实验环境图如下:

//本次实验环境是在VXLAN集中式网关环境

首先设置Cloud云的网卡信息,添加一个UDP网卡和本地环回口网卡如下:

第一步增加UDP网卡:

第二步添加本地环回口网卡:

最后设置双向通道:

配置好Cloud的设置后,交换机与Cloud相连的端口VLANIF的IP地址信息也要配置好,与我们的Cloud映射的IP处于同网段,如下:

保证交换机与Cloud的网络可达性:

前置条件配置好后,现在可以开始对交换机进行相应的配置:

首先通过dir命令查看设备信息的所在文件名(每个设备的文件名可能不一致):

拥有了这些信息后, 就可以编写出我们配置信息的脚本(各位实验时可以将此命令cp进CE交换机)

脚本信息的配置大致内容为,开放设备的SSH连接服务,SFTP服务和创建AAA登录用户等等

以下为CE交换机的脚本配置信息:

user-interface vty 0 4

 authentication-mode aaa

 user privilege level 3

 protocol inbound ssh

stelnet server enable

sftp server enable

snetconf server enable

ssh authorization-type default root

ssh user netconf

ssh user netconf authentication-type password

ssh user netconf service-type snetconf

ssh user python

ssh user python authentication-type password

ssh user python service-type sftp stelnet

ssh user python sftp-directory cfcard:

aaa

 undo local-user policy security-enhance 

 local-user python password irreversible-cipher Huawei@123

 local-user python service-type ssh

 local-user python level 3

 local-user netconf password irreversible-cipher abcd@123

 local-user netconf service-type ssh

 local-user netconf level 3

netconf

 protocol inbound ssh port 830

这些命令都完整输入CE交换机后,设备就开放了远程访问控制的能力,此时我们就能够通过编写Python代码实现网络自动化。

以下为例:

以上代码能够简单实现网络设备运行状态的周期性(五分钟一次)的查询如OSPF邻居,LACP邻居信息以及可以对设备的配置信息进行备份性的下载保存至指定目录如下:

当然除了上述信息外,还能够提取到其他的运行状态嘛?

答案当然是可以的,只要是设备上能够查询到的信息,都能够通过编写相应Python代码一并输出,节省了网络运维人员一台台设备输入命令查询设备运行状态的时间,例如像VXLAN的隧道状态信息,EVPN的建立状态甚至包括设备运行的风扇,CPU状态等等,如下:

到此简单的网络自动化程序就已完成,如有需要可以通过下载附件解锁相关实验环境。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值