推广 热搜: 采购方式  甲带  滤芯  气动隔膜泵  减速机  减速机型号  带式称重给煤机  履带  无级变速机  链式给煤机 

TCL + 自动配置功能 = 设备自动上线

   日期:2023-09-01 01:42:30     来源:网络整理    作者:本站编辑    浏览:18    评论:0    


正文共:1666 字 10图,预估阅读时间:4 分钟

通过前面两篇文章(ZTP自动化方式部署网络设备利用自动配置功能实现设备的批量零配置上线),我们已经可以实现设备的批量上线,设备批量零接触配置上线的流程总结如下:

先记录设备的MAC地址,然后通过手工绑定DHCP来使设备获取指定的IP地址,再通过配置network.cfg或DNS服务器使设备可以反向解析得到自己的主机名,再从TFTP服务器上拉取与设备名称对应的配置文件,最后完成配置加载。

上次也提到,管理员将配置文件保存在文件服务器上,设备在启动时可以自动从文件服务器上获取并执行配置文件,设备每次启动直接从服务器获取配置,以后的设备都可以不用配置Flash存储了。

其实这里面有个问题,那就是下发配置没有办法自动保存,那怎么办呢?

TCL解析器

这里就要提一下H3C Comware V7系统内嵌的TCL(Tool Command Language,工具命令语言)解析器了,它可以支持直接在设备上执行TCL脚本命令。

对于Comware系统的命令,TCL配置视图相当于用户视图,配置方式同用户视图下的配置。

在TCL配置视图下编辑命令时,遵循以下约定:

1、cli命令是TCL脚本命令,不支持输入“?”键获得在线帮助和Tab键补全功能。

2、已经成功执行的Comware系统的命令会记录在历史命令缓冲区中,使用上下光标键可以调用执行过的命令;但是已经成功执行的TCL脚本命令不会记录在历史命令缓冲区中。

3、在TCL中定义的环境变量可以应用到Comware系统的命令。

通过以下三种方式,可以一次执行多条Comware命令:

1、在同一行连续键入多条Comware系统的命令,命令间用分号隔开,多条命令会一起下发,按照下发顺序执行。例如interface GigabitEthernet0/0;ip address dhcp-alloc。

2、在cli命令后连续键入需要执行的多条Comware命令,每条Comware命令之间使用空格加分号进行分隔,在第一条Comware命令的前方和最后一条Comware命令的后方添加英文格式的双引号。例如cli "interface GigabitEthernet0/0;ip address dhcp-alloc"。

3、多次输入cli命令和Comware命令的组合,每组之间使用空格加分号分隔。例如cli interface GigabitEthernet0/0 ; cli ip address dhcp-alloc。

TCL配置文件

好,相信你对TCL配置已经有了一定了解,那么我们来写一份TCL配置文件device.tcl。

其实很简单,主要把正常配置里面的#号删掉(不删也可以),再增加一些辅助配置(如return、system-view等)、删掉一些无关配置(如版本号等)即可。

device.tcl文件内容如下:

#returnsystem-view#sysname H3C#interface GigabitEthernet0/0ip address dhcp-alloc#line con 0idle-timeout 0 0#return
实验组网

还是上次那张随意的拓扑,实验环境为HCL。路由器MSR36-20(Version 7.1.075, Alpha 7571),是本次测试的自动配置上线设备;交换机S5820V2-54QS-GE(Version 7.1.075, Alpha 7571),承担DHCP服务器的角色;PC上安装HFS,作为存储设备配置的HTTP服务器。

配置DHCP服务器

服务器自动配置功能在空配置启动的设备上不需要进行任何配置,但需要在DHCP服务器上配置一些必需的参数,包括TFTP服务器地址、TFTP服务器名和启动文件名或远程启动文件的HTTP形式URL等。

使用TFTP服务器时,使用tftp-server ip-address命令配置了存放配置文件的服务器;而使用TCL配置时,需要使用bootfile-name命令配置DHCP客户端使用的启动文件名。

那么交换机的配置如下:

#sysname DHCP-Server#dhcp enable#vlan 1#vlan 10#dhcp server ip-pool ztpgateway-list 172.16.113.254network 172.16.113.0 mask 255.255.255.0bootfile-name http://192.168.56.1/device.tcl#interface Vlan-interface1ip address 172.16.113.254 255.255.255.0#interface Vlan-interface10ip address 192.168.56.10 255.255.255.0#interface GigabitEthernet1/0/1port link-mode bridge#interface GigabitEthernet1/0/2port link-mode bridge#interface GigabitEthernet1/0/3port link-mode bridge#interface GigabitEthernet1/0/4port link-mode bridgeport access vlan 10
开始设备自动上线

配置好电脑端的HFS,将配置文件放到指定目录下。

将MSR2开机启动,发现第一次竟然提示没有可用的接口,但是查看交换机的接口已经UP了,那就等第二次。

奇妙奇妙真奇妙,又是等第二次才获取到IP地址。

再回过来看自动配置上线过程,成功下载device.tcl,并成功执行脚本命令。

查看设备配置,咦?空配置,难道是不能有#号?

修改一下device.tcl文件内容:

returnsystem-viewsysname H5Cinterface GigabitEthernet0/0ip address dhcp-allocline con 0idle-timeout 0 0returnsave force

再正常启动MSR3查看一下。

奇了怪了,还是不行,难道是用户视图下不支持return命令导致的?

再修改一下device.tcl文件内容,删掉return:

system-viewsysname H5Cinterface GigabitEthernet0/0ip address dhcp-allocline con 0idle-timeout 0 0returnsave force

再正常启动MSR4查看一下。

貌似可以了,看来官网案例有问题,不能加return命令。

从抓包看一下过程。

首先是设备通过DHCP获取IP地址,然后是请求device.tcl,下载之后直接运行。而且,因为是HTTP协议,可以直接看到请求的文件内容。

总结

1、TCL命令和手工配置命令的方式、逻辑都比较像,但是要注意TCL文件的格式问题;

2、华三官网的命令示例不一定准确,因为用户视图不支持return命令,所以第一行用这个命令会直接跳出,#不报错。

长按二维码
关注我们吧

授人以鱼不如授人以渔,希望通过此“文章合集”复刻一个高级网络工程师出来!
利用自动配置功能实现设备的批量零配置上线
Windows11又双叒叕更新了,10月5日将开启正式升级!
还能这么玩?Windows通过netsh命令配置IPsec
M-LAG是个啥?M-LAG和DRNI谁更厉害?
听我的,不要用HCL模拟器做VXLAN核心复制实验!
 
打赏
 
更多>同类资讯
0相关评论

推荐图文
推荐资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  皖ICP备20008326号-18
Powered By DESTOON