龙空技术网

网络自动化-H3C设备开局自动配置

IT交通站 759

前言:

此时看官们对“华为光猫telnet改sn”大约比较重视,各位老铁们都想要知道一些“华为光猫telnet改sn”的相关资讯。那么小编同时在网络上收集了一些对于“华为光猫telnet改sn””的相关文章,希望你们能喜欢,小伙伴们一起来了解一下吧!

很多中大型项目中用到的设备比较多,一开始我们都是先安装后到现场一个设备一个设备的配置。后来聪明一点了,先把交换机在机房或库房配置好打上标签安装就行了,但这也需要很多的时间来处理,有没有一种简单的方法呢?肯定是有的!

先看官方链接的配置指导()

查阅了H3C官方资料(今天先说H3C),有4种方法。分析了一下这4种方法首先都是通过DHCP报文来获取的,

DHCP中除了获取IP地址和DNS地址等信息外还有

1.Option 67或file字段:用来获取配置文件名或远程启动文件的HTTP形式的URL;

2.Option 66:用来获取TFTP服务器域名;

3.Option 150:用来获取TFTP服务器IP地址。

这4种方法我大概说一下:

第一种是通过配置配置Option file字段通过TFTP获取配置文件,将配置文件作为自己的启动配置文件;

第二种和第三种是通过HTTP服务器来获取tc的配置文件和PY的配置文件的举例:

1.tcl配置文件方式 - 配置DHCP客户端远程启动配置文件为HTTP形式的URL

【dhcp-pool-1】bootfile-name

在HTTP服务器创建配置文件device.tcl,文件内容如下:

returnsystem-viewtelnet server enablelocal-user userpassword simple abcabcservice-type telnetquituser-interface vty 0 63authentication-mode schemeuser-role network-adminquit

比交换机配置多了个return

2.py配置文件方式 - 配置DHCP客户端远程启动配置文件为HTTP形式的URL。

[dhcp-pool-1]bootfile-name

在HTTP服务器创建配置文件device.py,文件内容如下:

import comwarecomware.CLI(‘system-view ;telnet server enable ;local-user user ;password simple abcabc ;service-type telnet ;quit ;user-interface vty 0 4 ;authentication-mode scheme ;user-role network-admin ;quit ;interface Vlan-interface1 ;ip address dhcp-alloc ;return’)

相当于通过交换机的python引入系统的comware模块把命令发送给交换机。

第四种他是个案例,大概就是通过TFTP服务器把python文件和sn.txt文件下载到设备,解析sn.txt文件并修改设备的IRF成员编号做个一个堆叠的配置。

其实这4种方法都有缺陷,就还是不能自动化配置,因为实际需求交换机不可能都是一样的配置的,比如怎么实现SW1,SW2,SW3不同的配置呢?之前我是这样解决的:记录安装位置对应交换机的sn或者是mac地址,然后写一个配置文件放到tftp。配置文件一般就是配置用户开启Telnet,ssh,管理vlanif配置为自动获取,然后待到机房再通过crt具体一个一个配置。

最近一段时间学习了python,其实只学到了一点皮毛,查看了H3C交换机的python配置,结合了他的自动化配置的案例。

先看他的comware模块,comware可以实现2个功能:建立tftp或ftp链接,实现文件上传下载;下发CLI命令。如下:

import comware #引入comwarecomware.Transfer('tftp', '192.168.0.2', 'main.cfg.cfg', 'flash:/main.cfg.cfg', user='', password='')#登录tftp服务器下载配置文件main.cfg.cfg到flashcomware.CLI('startup saved-configuration flash:/main.cfg main;reboot force') #发送命令将配置文件main.cfg.cfg设置为启动配置文件并且重启设备。

下一步怎么识别设备呢?H3C有一条命令dis device manuinfo 可以查看到设备信息,比如型号;序列号;mac地址。(这里是模拟器的s6850,不同型号设备显示行数都是不一样的)

我们可以通过使用getout来获取命令行回显具体内容,比如第4行序列号:

我们得到SN为:DPPMWWB76;这样我们结合python的判断函数if-esif写一个这样的py脚本:

import comwarels = comware.CLI('display dev m ;', False)sn = ls.get_output()if 'DPPMWWB76' in sn[4]: #如果第4行有DPPMWWB76字段comware.Transfer('tftp', '192.168.0.2', 'SW-DPPMWWB76.cfg', 'flash:/main.cfg', user='', password='') #下载配置文件comware.CLI('startup saved-configuration flash:/main.cfg main ;reboot force ') #将配置文件设置为启动文件并且重启设备。elif '0e-85-5f-74-04-04' in lst5[5]:#如果第5行有0e-85-5f-74-04-04字段comware.Transfer('tftp', '192.168.0.2', 'SW-04-04.cfg', 'flash:/main.cfg', user='', password='') #下载配置文件comware.CLI('startup saved-configuration flash:/main.cfg main ;reboot force ') #将配置文件设置为启动文件并且重启设备。

将脚本命名为down.py

DHCP配置:

dhcp server ip-pool vlan1gateway-list 10.0.0.1network 10.0.0.0 mask 255.255.255.0bootfile-name test.pytftp-server ip-address 10.0.0.2

PC将IP配置为10.0.0.2,使用3CDAEMO搭建TFTP服务器,把own.py SW-04-04.cfg SW-DPPMWWB76.cfg 3个文件放入tftp目录

然后开启没配置的交换机就可以了,模拟器没测试,经过真机测试是没有问题的,到这里就结束了吗?显然没有,还有个问题遇到标准的核心层-汇聚层-接入层这种网络拓扑的时候还是有点问题的,一般配置都会在级联口把vlan1 undo掉,如果汇聚层的设备开启后配置完成是不是接入层的设备就没办法自动配置了呢?再没undo vlan1的情况下可以还有一种方法就是:空配置的设备下载完py脚本以后在没有下载到自己的配置脚本时,它是每30秒再运行一次下载的脚本,所以开局配置时先把接入层的配置文件放入TFTP目录,过个3-5分钟再把汇聚层的脚本放进tftp目录就可以了。也可以通过3CDAEMO查看日志判断接入层设备是否全部下载完成,然后再放入汇聚层的设备。

后话-down.py和设备配置文件还可以通过python用jinjia2模板直接生成的,这个就留给网络自动化的同学们了。

想自学网络自动化的同学 推荐去王印老师,朱嘉盛课代表的知乎,以及购买他们联合创作的书籍《网络工程师的Python之路:网络运维自动化实战》第二版

# 相关目录:

# 王印老师的分享目录:

# 朱嘉盛课代表的分享目录:

本人第一次写作,欢迎同指导!

标签: #华为光猫telnet改sn