正文共:2981字 14图,预估阅读时间:8 分钟
上篇文章(神奇的H3C设备自动配置功能,不用按Ctrl-D/C了)中,我们实现了最简单的设备自动配置,不能叫上线,因为没有业务。在上次的总结中,我写到:
按照流程来看,实现设备零接触配置上线时,可以先记录设备的MAC地址,然后通过手工绑定DHCP来使设备获取指定的IP地址,再通过network.cfg或DNS服务器反向解析得到自己的主机名,再从TFTP服务器上拉取与设备名称对应的配置文件,最后完成配置加载。
以H3C设备为例,设备的MAC地址会和设备SN号写在一起,但是这个是设备MAC,也不是接口MAC地址,对于路由器这类三层设备,就不太适用。但华三自动化上线时可以支持识别设备SN号,进行自动绑定,以大名鼎鼎的ADNET解决方案为例,就是这么干的。
记录设备接口MAC地址
显然,我现在不具备这个能力,那就只能手工去找设备的MAC地址了。
我随便拉了这么一张拓扑,实验环境为HCL。路由器MSR36-20(Version 7.1.075, Alpha 7571),是本次测试的自动配置上线设备;交换机S5820V2-54QS-GE(Version 7.1.075, Alpha 7571),承担DHCP服务器的角色;PC上安装3CDaemon,作为存储设备配置的TFTP服务器。
先登录设备记录3台路由器的接口G0/0的MAC地址。
MSR36-20_2:8646-d9f3-0205MSR36-20_3:8646-de09-0305MSR36-20_4:8646-e220-0405
那你可能会问,启动之后还能回到Ctrl-D的状态吗?
没问题,看完MAC地址直接停止设备,再次启动即可。
配置DHCP服务器
现在初步计划将MSR36-20_2的名称配置为MSR2,将MSR36-20_3的名称配置为MSR3,将MSR36-20_4的名称配置为MSR4,那么就需要通过IP地址把这两者联系起来。
举个例子,我们把MSR36-20_2的接口地址配置为172.16.113.2/24,把MSR36-20_3的接口地址配置为172.16.113.3/24,把MSR36-20_4的接口地址配置为172.16.113.4/24。
那么交换机的配置如下:
#sysname DHCP-Server#dhcp enable#vlan 1#vlan 10#dhcp server ip-pool ztp gateway-list 172.16.113.254 network 172.16.113.0 mask 255.255.255.0 static-bind ip-address 172.16.113.2 mask 255.255.0.0 hardware-address 8646-d9f3-0205 static-bind ip-address 172.16.113.3 mask 255.255.0.0 hardware-address 8646-de09-0305 static-bind ip-address 172.16.113.4 mask 255.255.0.0 hardware-address 8646-e220-0405 tftp-server ip-address 192.168.56.1#interface Vlan-interface1 ip address 172.16.113.254 255.255.255.0#interface Vlan-interface10 ip address 192.168.56.10 255.255.255.0#interface GigabitEthernet1/0/1 port link-mode bridge#interface GigabitEthernet1/0/2 port link-mode bridge#interface GigabitEthernet1/0/3 port link-mode bridge#interface GigabitEthernet1/0/4 port link-mode bridge port access vlan 10
配置network.cfg文件
配置文件中写好主机IP地址与主机名称的映射关系,具体如下:
ip host MSR2 172.16.113.2ip host MSR3 172.16.113.3ip host MSR4 172.16.113.4
配置device.cfg文件
本次需要将设备配置文件配置为对应的设备名称,如MSR2.cfg、MSR3.cfg、MSR4.cfg。
MSR2.cfg具体配置如下:
#sysname MSR2#interface GigabitEthernet0/0 port link-mode route combo enable copper ip address dhcp-alloc
MSR3.cfg具体配置如下:
#sysname MSR3#interface GigabitEthernet0/0 port link-mode route combo enable copper ip address dhcp-alloc
MSR4.cfg具体配置如下:
#sysname MSR4#interface GigabitEthernet0/0 port link-mode route combo enable copper ip address dhcp-alloc
开始设备自动上线
配置好电脑端的3CDaemon,将配置文件放到指定目录下。
将MSR2开机启动,发现第一次竟然提示没有可用的接口,但是查看交换机的接口已经UP了,那就等第二次。
没想到第二次竟然提示下载文件失败,但是我在电脑上看到的不太一样啊。
明明都收到请求了,为什么提示打不开请求的文件呢?
第一步检查防火墙是不是放通了,这个没问题;
第二步检查连通性,问题就出在这里了。
在TFTP Server上增加回程路由。
问题解决。
再回过来看自动配置上线过程,成功下载network.cfg,并顺利解析主机名称为MSR2,之后请求MSR2.cfg,并且加载成功。
查看设备配置加载成功。
再正常启动MSR3查看一下。
很奇怪,就不能一次成功吗?MSR4也是用了两次机会。
从抓包看一下过程。
好像确实是DHCP服务器的问题,没有响应第一次的请求,第二次才正常分配IP地址。
然后后面就比较正常了。
首先是设备通过DHCP获取IP地址,然后是请求network.cfg,下载之后进行本地解析,得到自己的主机名。然后设备开始获取MSR3.cfg,加载之后释放IP地址。
与上次不同的是,这次的过程中间没有再夹杂着SSDP请求了,难道和请求network.cfg这个过程有关?
总结
1、有条件的可以准备一把扫码枪,获取设备的序列号或者MAC地址,然后通过工具(如H3C的Director等)手工指定DHCP使设备获取的IP地址。再通过配置network.cfg或DNS服务器使设备可以反向解析得到自己的主机名,再从TFTP服务器上拉取与设备名称对应的配置文件,最后完成配置加载;
2、管理员将配置文件保存在文件服务器上,设备在启动时可以自动从文件服务器上获取并执行配置文件,实现自动配置功能;
3、那这么来看,设备上是不是可以不用配置Flash存储了?每次启动直接从服务器获取配置,配置不落地,高级又美丽。
长按二维码
关注我们吧
更多推荐