自动配置简介
自动配置功能是指设备在启动时自动获取并执行配置文件。网络管理员只需将配置文件保存在指定的存储介质上,设备启动时可以自动从存储介质上获取并执行配置文件,实现自动配置,从而简化了网络配置,大大降低了网络管理员的工作量,便于实现对设备的集中管理。
服务器自动配置
管理员将配置文件保存在文件服务器上,设备在启动时可以自动从文件服务器上获取并执行配置文件,实现自动配置功能。当网络规模较大,设备位置相对分散时,网络管理员在每一台设备上进行自动配置的工作量很大,这时管理员可以考虑使用服务器自动配置。
自动配置过程分析
我们先从设备启动过程看一下,一般来讲,设备空配置启动时,首先自动检查存储介质的根目录下是否存配置文件。如果存在,则直接执行此文件;如果不存在,则通过自动从文件服务器上获取并执行配置脚本文件或配置文件,实现自动配置功能。
第一步我们看到的是,提示没有可用的接口。按照流程来讲,现在缺少物理网络,那就接一根线。
引入新的问题,是接管理口还是普通的业务口呢?
先按照设备有带外管理口试一下。
因为带外管理口一般为三层口,所以直接在接口上使能DHCP自动获取IP地址,但是因为没有DHCP服务器,所以未能获取IP地址。
再测试一下使用业务口的情况。
可以看到设备自动使能了虚接口VLAN-inf1,并且使能DHCP,但同样未能获取IP地址。
如果开启DHCP,并且同时连接带外管理口和业务口呢?
可以看到,设备先用带外管理口去拿地址、获取配置,再使用VLAN虚接口去尝试,虽然这次拿到了地址,但是因为缺少配置文件,所以再次失败了。
总结一下,设备的自动配置需要DHCP服务器和文件服务器(TFTP服务器或HTTP服务器),可选DNS服务器。
设备自动配置实验
实验环境
准备一个简单的组网如下:
实验环境为HCL。路由器MSR36-20(Version 7.1.075, Alpha 7571),是本次测试的自动配置上线设备;交换机S5820V2-54QS-GE(Version 7.1.075, Alpha 7571),承担DHCP服务器的角色;PC上安装3CDaemon,作为存储设备配置的TFTP服务器。
实验步骤
从前面可以看到,设备请求了两个配置文件network.cfg和device.cfg,我们先在本地创建这两个文件。
配置文件内容如下:
network.cfg
# sysname network
device.cfg
# sysname device
先不配置交换机,使设备可以直接从TFTP服务器(开启DHCP)获取配置。
对比服务器侧日志,可以看到,设备先后下载了两个配置文件。
在下载network.cfg之后,找不到hostname相关的配置,所以这个network.cfg的配置文件应该是记录主机名用的。按照华三官网的说明,network.cfg为主机名文件,主机名文件用来保存主机IP地址与主机名称的映射关系,需要上传到TFTP服务器。
随即下载了device.cfg,并成功加载到运行配置中。可以看到,设备名称变成了device。
查看设备存储信息,没有保存下载的配置文件。
并且在设备加载完配置之后,自动配置获取的IP地址释放。
再从抓包看一下过程。
首先是设备通过DHCP获取IP地址。
然后是请求network.cfg,下载之后进行DNS请求,请求自己的域名/主机名。但是,设备发送的是广播请求,没有返回结果。
然后设备开始获取device.cfg,加载之后释放IP地址。
中间还夹杂着SSDP(Simple Service Discovery Protocol,简单服务发现协议)请求,组播地址为239.255.255.250,好像是路由器的UPNP服务使用的。
总结
1、设备的自动配置需要DHCP服务器和文件服务器(TFTP服务器或HTTP服务器),可选DNS服务器;
2、获取初始配置时,带外管理口优先级高于业务口;
3、按照流程来看,可以先记录设备的MAC地址,然后通过手工绑定DHCP来使设备获取指定的IP地址,再通过network.cfg或DNS服务器反向解析得到自己的主机名,再从TFTP服务器上拉取与设备名称对应的配置文件,最后完成配置加载;
4、本文是最简单的设备自动配置,除设备外,仅需要一台电脑,即可实现设备初始化。