百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

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

haoteby 2024-12-14 11:54 3 浏览

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



先看官方链接的配置指导(https://www.h3c.com/cn/d_201711/1046618_30005_0.htm#_Toc499550665)

查阅了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://192.168.1.40/device.tcl

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

return
system-view
telnet server enable
local-user user
password simple abcabc
service-type telnet
quit
user-interface vty 0 63
authentication-mode scheme
user-role network-admin
quit

比交换机配置多了个return

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

[dhcp-pool-1]bootfile-name
http://192.168.1.40/device.py

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

import comware
comware.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 
#引入comware
comware.Transfer('tftp', '192.168.0.2', 'main.cfg.cfg', 'flash:/main.cfg.cfg', user='', password='')
#登录tftp服务器下载配置文件main.cfg.cfg到flash
comware.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 comware

ls = 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 vlan1

gateway-list 10.0.0.1

network 10.0.0.0 mask 255.255.255.0

bootfile-name test.py

tftp-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之路:网络运维自动化实战》第二版

# 相关目录:

# 王印老师的分享目录:
https://zhuanlan.zhihu.com/p/486260131

# 朱嘉盛课代表的分享目录:
https://zhuanlan.zhihu.com/p/370526806

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

相关推荐

5个珍藏多年的资源网站,免费又实用,建议收藏

今天给大家分享5个珍藏多年的资源网站,每个都是免费的,而且非常的实用,建议收藏。1、wallhaven一个国外知名的壁纸网站,拥有海量的8k、4k的超清图片壁纸,该网站的图片是由各地的创作者提供下载,...

设计网站推荐 | 国内外设计类素材网站

网站分享|十个不得不推荐的设计类素材网站!一些压箱底的常用的设计类素材分享!一定要打开这些网站试一试哦!...

阿里巴巴旗下菜鸟裹裹换新LOGO?长高了

LOGO大师整理编辑(ID:logods)...

10个做PPT必备的素材网站,越用越上瘾,每个都是宝藏

Pexelshttps://www.pexels.com/zh-cn/...

阿里旗下的四款免费小工具 好用并且能大大提升工作效率

好的工具能大大的提升你的工作效率,今天给大家分享的是阿里旗下的四款经典免费小工具,主要是用来设计,能方便,且高效的提高你的工作效率,觉得有用就收藏了吧。第一个:阿里巴巴图标库阿里巴巴图标库有将近80多...

UI设计入门干货!八大软件+技能+素材网站

随着互联网行业的发展,UI设计师越来越多的被提及,UI设计师大火,需求岗位越来越多,也有越来越多的人转行投身UI设计师。UI设计是什么?一般所说的UI设计多指UI视觉设计,主要负责APP、Web、H5...

干货!宝藏PPT素材——海量图标免费使用

我是星辰四个月的假期收集了一些PPT素材,筹备了这个公众号今天终于和大家见面了此公众号不定时更新各种素材干活和PPT模板记得关注我哦~后台发送“PPT”领取免费PPT模板总是很难找到合适PPT素材?费...

写了100多篇原创文章,我常用的在线工具网站推荐给大家

摘要不知不觉写博客已经一年多了,累计写了100多篇原创文章,今天给大家分享下我经常使用的在线工具网站,希望对大家有所帮助!MarkdownNice支持自定义样式的在线Markdown编辑器,编辑完成...

设计者必备神器:必须收藏的在线软件推荐

本内容来源于@什么值得买SMZDM.COM|首席生活家保密对于新电脑或重新刷系统的电脑,安装一堆软件是很费时间的,而软件多了会对系统运行速度有影响,特别是机械硬盘,响应时间与软件数量成正比的。而用了...

干货 | 设计师必备网站,大神作品、图片素材一网打尽

经常会听到这样的一句话:设计师每日正式开始工作的第一件事,就是打开3个及以上的设计/素材网站。网站中的优秀作品不仅可以帮助设计师提升自己,还能激发创作的灵感,所以今天,我们为大家整理了一些国内外优秀的...

推荐11个超好用的在线作图网站

现在做图好像已经不是设计师的专利不管是新媒体人、文案,还是随便一个人不会随时随地做几张漂亮图不能分分钟出点海报、封面图、邀请函什么的还怎么昂首挺胸在办公室里混不会PS没关系,不会做图可不行所以今天老贼...

做设计还只知道花瓣包图网?这100+个免费商用素材网站送给你

作为设计师你常用的网站是哪些呢?花瓣?站酷?千库?千图?包图?这些网站确实是大家最常用的网站,各种风格的元素、模板、源文件,用起来可以说是得心应手了~但是一旦出现了这个场景,你就也跟着崩溃了........

5个好看的图标网站,直接搜索下载

今天和大家分享5个图标网站,里面收录大量丰富的图标,在这里找到好图标不是什么难事。Iconsdbwww.iconsdb.com...

8个高清无版权的图片资源网站,质量高又免费,够你用一辈子

很多时候我们找素材总是要花费很多时间,今天就给大家分享8个,高清无版权的图片资源网站,质量高又免费,够你用一辈子。01*Logosc...

淘宝PPT设计师不会告诉你的4个网站!帮你剩下不少钱

之前的文章中,给各位推荐过图片素材网站,像:500px,unsplash等,也给各位推荐过图标网站,像阿里巴巴图标库。这些网站都很好用。但是,我最近发现,有一类素材网站,在做PPT时也会经常用到,...