尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

H3C交换机ZTP自动开局实战:DHCP+TFTP批量配置

H3C交换机ZTP自动开局实战:DHCP+TFTP批量配置 干过网络开局的人都知道设备到货开箱搬去弱电井接上线Console线插笔记本打开SecureCRT挨台敲命令。两台五台还好一旦是几十台上百台接入交换机光靠手工敲一坐就是一天敲错一条配置就得返工。我最早接触新华三H3C设备的自动开局也是被逼出来的那时候支撑一个上百台接入网的扩容项目总部只给了三天时间货到现场之前我心里一点底都没有。后来查资料、翻命令手册发现新华三的设备本来就支持通过DHCPTFTP实现ZTP自动开局设备上电后没有配置会主动去当DHCP客户端拿地址再从TFTP服务器把配置文件拖下来直接完成开局。整个流程说白了就三步搭好DHCP和TFTP服务端把配置文件放对位置然后坐看设备自己跑。这篇文章就把我落地这套方案的过程、关键配置和踩过的坑都写出来适合正在做网络批量开局、或者对自动配置感兴趣的朋友直接抄作业。1. ZTP自动开局这套方案到底在解决什么1.1 传统开局的三座大山先回忆一下没有ZTP时一台全新的新华三接入交换机是怎么开局的。开箱后你至少要做这几件事用Console线连上设备打开终端软件设置超级终端参数波特率9600数据位8停止位1无校验等设备启动到命令行然后一条一条敲 system-view、sysname、vlan、interface 等等。这还只是基础配置如果交换机要跑二层生成树、链路聚合、SSH、SNMP网管命令量直接翻倍。第一批困境在于耗时。单台设备从拆箱到完全可交付熟练工程师大概要15到30分钟遇到手滑敲错、Tab补全失灵或者设备开机自检慢四十分钟也正常。第二批困境在于一致性。两个人开同一批设备VLAN划分可能相同但描述信息、管理地址、密码策略、SNMP团体字写法总有细微差异后期统一整改只有自己知道多痛苦。第三批困境在于人员依赖。新设备开局往往是项目收尾阶段合格工程师未必有空临时拉个新人去开机房接线、命令、保存配置稍不注意就把设备“开坏”了。ZTP这个思路就是为了把这三种困境一次性解决。1.2 ZTP的核心逻辑设备“第一次启动”时自己找配置ZTP全称Zero Touch Provisioning中文叫零接触开局也有叫自动配置的。它利用的是网络设备默认出厂状态的一个特性设备没有保存任何启动配置上电后进入的是空配置状态此时系统会主动去请求一个外部配置来源而不是干等人工干预。在新华三设备上这个过程大致是这样设备检测到FLASH里没有startup.cfg于是进入自动配置模式管理VLAN通常是VLAN 1的虚拟接口自动启用DHCP客户端向外发送DHCP请求DHCP服务器回应的报文里除了分配IP地址还通过特定选项携带TFTP服务器的地址和配置文件名设备拿到这些信息后主动向TFTP服务器发起下载请求下载成功后设备将这个配置文件设为下次启动配置文件并自动重启加载。当然也有设备直接把配置增量应用到当前系统具体行为跟产品型号和版本有一定关系。如果你把这句话拆开看会发现ZTP一点都不神秘。它就是把“人工敲命令开机”这件事转化为“设备向网络要配置”。关键是管理员要提前把DHCP、TFTP、配置模板这三样东西准备好。1.3 为什么选DHCPTFTP而不是其他方案有的人会问能不能用HTTP、FTP、SFTP传配置答案是技术上能但DHCPTFTP在这个场景下几乎是最省事的。第一个原因是零依赖。DHCP和TFTP都是极轻量的协议DHCP走UDP 67/68TFTP走UDP 69服务端部署在普通PC上都能跑起来不需要强认证、不需要加密通道、不需要安装数据库。开局网络是临时的追求的就是“开完即走”越简单越好。第二个原因是设备原生支持。新华三全系交换机、路由器、无线控制器基本都支持DHCP Option 66/67和TFTP自动配置不需要额外授权或者刷特殊固件也不需要预先在设备里留下任何配置。这一点对批量交付非常关键。第三个原因是成本极低。TFTP服务器软件免费DHCP服务器在Windows、Linux、甚至普通的H3C交换机上都能配置整套方案几乎零成本。当然实际项目里也可以用EFI、ACS等集中管理平台做更高级的零配置部署但对绝大多数网络项目来说DHCPTFTP这套组合是最快见效、最容易排障的起步方案。这篇文章后续所有实战内容也都是围绕这条主线展开的。2. 实战环境准备从零搭起DHCP和TFTP服务端2.1 方案选型PC工具、Linux服务器还是现网设备ZTP要跑通先得有一个能用的DHCP服务端和一个能用的TFTP服务端。服务端放在哪、用什么软件没有标准答案但根据项目规模差别很大。如果只是开一台两台测试设备比如在办公室验证功能用Windows上的Tftpd64、3CDaemon这类工具最方便。Tftpd64一个软件同时把DHCP和TFTP都干了图形界面勾选项填IP就能跑适合快速验证。缺点是稳定性一般开大批量设备时连接并发一多就容易卡死。如果是正式项目尤其是准备长期支撑几十上百台设备开局我建议用Linux服务器装dhcpd和tftp-server。发行版选CentOS 7.6或者Ubuntu Server都行原因无他稳定、并发能力强、日志清晰。顺便说一句如果你用的是CentOS 7.6装完系统后网卡默认可能就是 bootprotodhcp这个我们在配置服务器静态地址时要特别留意稍后细说。还有一个路子是把DHCP直接配在现网核心交换机上。有些项目核心交换机本来就在位且已经有业务在跑这时候新建一个单独的DHCP地址池服务开局网段跟ZTP场景天然对接不用额外准备服务器。这就要用到新华三交换机的 dhcp select global 那套命令本章结尾我会把两种主流方式的配置都给出来。2.2 CentOS 7.6下部署DHCP服务我建议正式项目优先用Linux服务器开局所以把CentOS 7.6的配置过程写细一点。第一步先把服务器网络改成静态地址。安装完CentOS 7.6进入 /etc/sysconfig/network-scripts/编辑对应网卡的配置文件ifcfg-ens192这个文件名取决于你的网卡通过 ip a 查看。新装的系统里默认经常是BOOTPROTOdhcp ONBOOTyes要改成BOOTPROTOstatic IPADDR192.168.1.100 NETMASK255.255.255.0 GATEWAY192.168.1.1 DNS1114.114.114.114 ONBOOTyes这里有个小坑改完BOOTPROTO后一定记得把系统里可能有NetworkManager管理的老接口重启一遍或者干脆执行 systemctl restart network。有时候光改文件不重启网络服务IP是不会变的。如果服务器的第二块网卡专用于开局网段也可以不配GATEWAY避免引导流量误走开局口。第二步安装DHCP服务yum -y install dhcp安装后主配置文件在 /etc/dhcp/dhcpd.conf。这个文件默认几乎是空的需要自己写完整内容。开局场景建议把配置写到最简避免被无关参数干扰option tftp-server-name code 66 string; option bootfile-name code 67 string; subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.101 192.168.1.200; option routers 192.168.1.1; option subnet-mask 255.255.255.0; next-server 192.168.1.100; option tftp-server-name 192.168.1.100; option bootfile-name SW-ACC-01.cfg; default-lease-time 600; max-lease-time 3600; }注意两行自定义option声明它们在优秀ISC DHCP里必须写在配置最顶层否则后面调用不了。next-server是ISC原生支持的TFTP服务器地址选项option bootfile-name用来指定配置文件名。我这里把租期设成600秒最短可接受的范围是为了开局完成后设备重启时这次分配的IP能尽快释放避免临时网络残留一堆租约。第三步启动服务并设置开机自启systemctl start dhcpd systemctl enable dhcpd如果启动报错先跑 dhcpd -t 做语法检查它会直接告诉你配置文件第几行有问题比看日志快多了。2.3 部署TFTP服务端与目录规划TFTP服务在CentOS 7.6上同样用yum装yum -y install tftp-server tftp xinetd装完以后默认TFTP根目录是 /var/lib/tftpboot。根据你装的版本服务可能是由xinetd管理也可能由systemd的tftp.socket管理。我习惯两种都检查一遍确保服务真正在听UDP 69端口。如果是xinetd方式编辑 /etc/xinetd.d/tftp把 disable yes 改成 no然后重启xinetdsystemctl restart xinetd如果是systemd socket方式systemctl start tftp.socket systemctl enable tftp.socket检查是否正常用 netstat -lunp | grep 69确认有进程监听UDP 69。之后把配置文件放到 /var/lib/tftpboot/ 下即可。TFTP目录权限给755配置文件权限644千万别把配置和工具都堆在根目录乱糟糟一坨建议按项目建子目录比如 /var/lib/tftpboot/ztp2025/文件名规划为项目名设备名日期方便后续溯源。本质上TFTP没别的技巧就是目录干净、文件名准确、权限放对。2.4 开局配置文件的规划与检查配置文件的编写质量直接决定ZTP是秒完还是翻车。开局配置不是平时手工敲的命令集合它会被设备一次性加载执行所以有几个原则必须先立住。原则一全量配置好于增量配置。别想着只放“缺什么补什么”的增量片段设备此时是空配置状态所有需要生效的内容都要在这个文件里写全。比如要启用SSH就要把SSH server、local-user、用户角色、authentication-mode都写全缺一环远程登录就是进不来。原则二文件格式要干净。用UTF-8无BOM格式保存别用Windows记事本默认编码文件里不能出现不可见字符否则设备解析命令时报语法错误。行尾用LF不要用CRLF这个坑我在Windows下编辑配置时踩过不止一次。原则三文件名与DHCP里下发的一致。如果你在脚本中指定了 bootfile-name SW-ACC-01.cfg那TFTP目录下就必须存在这个文件大小写也完全一致。TFTP不像FTP那样有目录列表方便你检查文件名差一个字符就是超时。在正式开局前我强烈建议先用一台虚拟机或模拟器把配置文件里的命令全部验证一遍。种地还有先试种呢开局配置不试跑现场几十台设备同时翻车就只剩哭的份了。3. 读懂DHCP报文与关键Option才能调通ZTP3.1 DHCP四大报文与一次获取全流程ZTP能不能顺利跑通本质上取决于DHCP交互过程是否正常。DHCP客户端和服务器之间最常见的交互是四个报文Discover、Offer、Request、Ack。设备上电进入自动配置模式后先在接口上以广播方式发出DHCP Discover相当于在楼道里喊一句“谁是这个网段的DHCP服务器我需要一个IP”。DHCP服务器收到后从地址池里挑一个空闲IP回一个DHCP Offer相当于给你留了一个位置。客户端收到Offer后再广播DHCP Request确认“我就用它了”服务器最后回DHCP Ack完成分配。ZTP的关键在于DHCP协商过程中不只是分配IP还能携带大量额外参数。这些参数以Option的形式放在报文的Options字段里。Option 66叫tftp-server-name用文本方式给出TFTP服务器的域名或IPOption 67叫bootfile-name给出配置文件的名字。设备拿到这两个值才知道去哪台服务器取什么文件。如果你的抓包工具看到DHCP Offer报文里没有Option 66/67那问题一定出在DHCP服务端配置上而不是设备上。3.2 Option 66/67到底怎么给新华三自家的DHCP服务器命令简化了这个过程以在H3C核心交换机上配置为例dhcp enable dhcp server ip-pool ztp network 192.168.1.0 mask 255.255.255.0 gateway-list 192.168.1.1 tftp-server 192.168.1.100 bootfile-name SW-ACC-01.cfg这里dhcp server ip-pool ztp创建地址池network指定网段gateway-list下发网关tftp-server和bootfile-name就对应Option 66和67。设备在自动配置模式下从该地址池拿到IP的同时就会收到TFTP服务器的地址和配置文件名。用ISC DHCP就得多写两行声明option tftp-server-name code 66 string; option bootfile-name code 67 string;这两行是自定义选项定义声明后才能在subnet里用 option tftp-server-name 192.168.1.100 这种方式赋值。缺了这两行在subnet配置块里引用Option 66/67直接语法报错。还有一种做法不看Option 67而是靠设备自己的MAC地址找配置文件。也就是说DHCP服务器只管下发IP和TFTP服务器地址设备拿到后会自动去TFTP根目录下找“MAC地址.cfg”这样命名的文件。比如某台设备的桥MAC是 00e0-fc12-3456就去下载 00e0fc123456.cfg。这个机制在多设备批量开局时其实更好用因为DHCP配置不用按设备名做区分TFTP目录里放一堆以MAC地址命名的配置文件就行。当然这也意味着你必须提前统计好每台设备的MAC不然文件没法放。3.3 网关上 dhcp select global/relay/interface 的区别在做ZTP的时候如果网络拓扑里有一台新华三交换机愿意充当DHCP服务器你会在接口配置里看到下面三种模式之一理解它们非常关键。dhcp select global的意思是接口接收DHCP请求后由设备全局配置中的地址池来分配地址。我们前面在H3C交换机上建了个全局地址池接口下敲 dhcp select global 就表示让这个接口启用全局DHCP服务。dhcp select interface是接口地址池模式不建全局池而是直接以该接口的IP地址所在网段作为地址池只额外指定租期、网关等参数。这两种模式对应简单场景都够用区别在于全局池可以服务多个网段接口池只管当前接口所在网段。dhcp select relay则是DHCP中继模式接口收到客户端请求后转发给远端真正做DHCP服务器的地址适合地址池不在本地三层设备上的场景。在ZTP开局这种临时网络中最常用的是 global 或者 interface 模式。一个常见错误是把 relay 当全局用结果发现客户端拿不到IP因为中继指向了不存在的服务器。3.4 DHCP Snooping在开局场景里的护身符价值开局网络本来应该是按我们设计的思路跑的但现实世界的唯一特点就是不可控。最常见的干扰源就是一台或多台非法DHCP服务器比如工程师自己笔记本上开的DHCP工具、或者运营商维护口偷跑出来的光猫路由器。DHCP Snooping是个安全功能它像一个门卫站在交换机端口上只允许来自信任端口的DHCP Offer通过非信任端口收到的DHCP Offer直接丢弃。在开局场景里这么做有几个直接好处新设备一旦收到非法DHCP服务器的响应拿到的IP、网关、TFTP信息全部是错的ZTP必然失败开了Snooping后非信任端口下的客户端只能拿到信任口对过来的合法Offer开局链路稳定性提升一个档次。在新华三设备上的典型配置dhcp snooping enable interface GigabitEthernet1/0/1 dhcp snooping trust把连接合法DHCP服务器的端口设为信任口连接新待开局设备的端口保持非信任默认状态即可。如果光猫不能关闭DHCP那开局网络就应该从物理上跟光猫隔离别指望Snooping能替你解决所有联通光猫的坏事。4. 完整开局实战从设备上电到配置生效4.1 一个典型的接入交换机批量开局场景讲完原理直接进入完整的开局实战。这个场景我用过不止一次适配性很好服务器同时充当DHCP和TFTP服务端直连新华三S5130系列接入交换机新交换机从VLAN 1管理地址池获取IP下载配置文件完成VLAN、接口、SSH、SNMP、NTP等基础配置。拓扑上注意一点开局时不要把新交换机往生产网络里乱插直接让TFTP/DHCP服务器的一个网口对接新交换机的第一个千兆口就行。接入交换机的开局管理网段单独划一个跟现网隔离避免地址冲突。规划信息如下项目取值开局管理网段192.168.1.0/24DHCP/TFTP服务器地址192.168.1.100DHCP地址池范围192.168.1.101 - 192.168.1.200网关192.168.1.1配置文件名SW-ACC-01.cfg设备管理IP192.168.1.11业务VLANVLAN 10网关192.168.10.254管理IP最终要固化到设备配置里所以虽然开局时设备先从DHCP拿到的地址是临时的但下载下来的配置里会把地址改成192.168.1.11这样后续运维才会统一。4.2 DHCP和TFTP服务端配置落地这次实战我用了Linux服务器做服务端配置过程沿用第2章的思路。DHCP主配置文件完整内容如下option tftp-server-name code 66 string; option bootfile-name code 67 string; subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.101 192.168.1.200; option routers 192.168.1.1; option subnet-mask 255.255.255.0; next-server 192.168.1.100; option tftp-server-name 192.168.1.100; option bootfile-name SW-ACC-01.cfg; default-lease-time 600; max-lease-time 3600; }检查无误后重启服务systemctl restart dhcpd systemctl status dhcpd。TFTP服务启动后把编辑好的 SW-ACC-01.cfg 放到 /var/lib/tftpboot/ 下给权限 chmod 644 SW-ACC-01.cfg。如果是批量开局可以把配置文件按MAC地址命名比如 00e0fc123456.cfg并删除DHCP配置里的 bootfile-name 行设备自动按MAC找文件。这个变化点很多人会忽略建议开局前反复确认文件在不在、名字对不对。4.3 配置文件编写实例与关键说明下面这个SW-ACC-01.cfg是简化版但包含了接入交换机最常用的几块配置系统名、管理VLAN、业务VLAN、上联口trunk、下联口access、SSH远程管理、SNMP网管、NTP时间同步。system-view sysname SW-ACC-01 vlan 10 description Office_VLAN vlan 999 description Manage_VLAN interface Vlan-interface999 ip address 192.168.1.11 255.255.255.0 interface GigabitEthernet1/0/1 port link-type trunk port trunk permit vlan 10 999 interface GigabitEthernet1/0/2 port link-type access port access vlan 10 ssh server enable local-user admin class manage password simple Admin123 service-type ssh authorization-attribute user-role network-admin line vty 0 4 authentication-mode scheme user-role network-admin snmp-agent snmp-agent sys-info version v2c snmp-agent community read simple public snmp-agent sys-info contact your_emailexample.com ntp-service enable ntp-service unicast-server 192.168.1.100 return这里要特别提醒管理VLAN不要直接用VLAN 1我用了VLAN 999好处是后续运维可以通过 ACL 或者 VLAN 划分和管理流量防止被普通业务流量冲撞。设备默认的所有端口都划在VLAN 1如果管理VLAN用VLAN 999需要记得在规划的上联口上放行这个VLAN否则开局完成后设备管理地址就失联了。另外配置文件中出现用户密码Admin123是明文正式项目里默认用后面再改。ZTP毕竟只是解决开局问题安全加固属于另一个范畴但至少在开局后要让人能登录进去改密码。4.4 设备上电观察ZTP全过程服务端准备好后把交换机Console线接上开机前先按CtrlB进入BootRom菜单确认启动方式是“从下次启动配置启动且无配置”。如果设备曾经被改动过建议先执行重启设备到空配置或者使用清零恢复出厂设置。新华三设备开机自检时也会检测是否自动配置模式。正常流程是这样的设备加电自检完成后进入自动配置模式。控制台会打印类似 “Starting automatic configuration...” 的提示说明设备在尝试获取配置。VLAN 1的接口开始DHCP请求服务器上执行 tail -f /var/log/messages 能看到DHCP Discover、Offer、Request、Ack记录。设备拿到IP和Option信息后开始向TFTP服务器下载 SW-ACC-01.cfgTFTP服务器日志或抓包会看到读取请求。下载完成后设备把该文件设置为下次启动配置文件然后自动重启。重启完成后命令行提示已经切换成 SW-ACC-01。因为我配的DHCP租期较短等设备重启完成可以到DHCP服务器上执行 dhcpd-pools 或查询租约文件 /var/lib/dhcpd/dhcpd.leases确认临时IP已经释放没占着新网络的坑。4.5 验证与固化别让一次自动重启骗了你设备自动重启进去之后别急着收工。先验证三件事第一验证配置是否完整加载。在设备上执行 display current-configuration跟手里的源配置文件逐条比对重点看VLAN、接口、SSH、SNMP这几大块有没有缺失。第二验证远程登录和管理面。把电脑的IP临时改成192.168.1.101段用SSH连接192.168.1.11确认能登录进去。如果连不上先ping管理地址通不通再ping通不通网关逐层排查。第三验证配置已经保存。执行 display startup看到下次启动配置文件路径不为空才说明ZTP配置固化成功。如果发现没保存手动执行 save force不然设备下次重启又回到解放前。我个人的习惯是在ZTP流程全部跑通后马上对设备做一次出厂备份display current-configuration 到TFTP服务器上存一份。后续这台设备再出问题手里有原始好配置兜底心里踏实很多。5. 排查实录我在这套方案里踩过的坑5.1 设备获取不到IP先查物理和组播开局时最常遇到的情况是设备上电后控制台一直刷DHCP Discover但就是拿不到地址。这时候不要先怀疑设备百分之九十的问题出在链路或者DHCP服务端。第一步ping一下服务器通不通。新交换机虽然没配置但交换机本身是个二层设备只要物理链路是好的服务器上的抓包就一定能看到周期性的DHCP Discover请求。如果抓包什么都没看到大概率是网线没插对、服务端网卡没启用、或者是网线质量问题。第二步确认服务器防火墙放行了UDP 67和69端口。CentOS 7.6默认firewalld是开着的很多人装了DCHP忘了放行端口服务起不来客户端自然拿不到IP。firewall-cmd --add-port67/udp --permanent firewall-cmd --add-port69/udp --permanent firewall-cmd --reload第三步检查DHCP服务是否真的在监听。看 systemctl status dhcpd 和 netstat -lunp | grep :67两处都对基本就是配置语法有问题跑 dhcpd -t 再查一遍。5.2 能拿到IP但一直下载不到配置文件这个问题比上面更隐蔽因为DHCP通说明服务端主体是好的问题多半出在Option和TFTP协同上。先看设备控制台提示它会打印尝试连接的TFTP服务器地址和文件名跟你在DHCP里配置的比对一下差一个字符都下载不下来。常见错误有文件名字母大小写写错配置文件扩展名 .cfg 打成 .txt服务器地址给成了域名而ZTP网络里没有DNS解析或者直接写了别的旧地址。再看TFTP目录下有没有这个文件权限是否644。Debian系的 tftpd 默认根目录是 /srv/tftpCentOS是 /var/lib/tftpboot别放错位置。还有一种情况是TFTP服务根本没跑起来netstat -lunp | grep 69 一查便知没有就按第2章方法把socket或者xinetd服务起起来。5.3 配置下载成功但设备启动不生效这个现象常见于配置文件格式问题。用Windows记事本编辑过的文件默认带BOM头或者CRLF换行设备逐行读取配置时就会在第一行报错或者把后面的命令拼接出错。这一类错误要看设备日志一般会显示 parsing error 或者 unknown command。解决方法很简单用VS Code、Notepad这类支持编码选择的编辑器重新保存为UTF-8无BOM、LF换行。另外配置文件里不能出现非ASCII字符比如中文注释谨慎用如果用了中文必须确认编码与设备支持一致否则宁可全删。还有一个容易被忽略的点配置文件里的命令顺序。有些配置命令之间有依赖关系比如创建local-user之后再配置服务类型和用户角色如果把顺序写颠倒虽然每行命令单独看都没错但执行时就会因为依赖对象不存在而失败。开局配置建议按设备命令手册里的典型配置顺序来写从全局配置到接口配置从对象创建到属性配置一层层往外写。5.4 常见问题速查表现象可能原因排查方向设备一直发DHCP Discover收不到Offer防火墙挡了UDP 67DHCP服务没起DHCP配置语法错误放行端口、systemctl status、dhcpd -t设备能拿到IP但不去下载配置Option 66/67没下发地址池配置里没写next-server或tftp-server抓包看Offer报文Options字段去TFTP下载时连接超时TFTP服务未启动防火墙挡UDP 69服务器IP路径不通netstat看69端口、firewall-cmd放行下载时报file not found文件名不一致文件不在TFTP根目录大小写不对核对文件名、ls目录配置文件加载但报错或不生效文件编码不对换行符CRLF命令顺序有依赖用编辑器转换编码逐行检查自动重启后配置丢失设备没把下载配置设为startup手动save force检查display startup6. 进阶与思考ZTP离规模落地还差几步6.1 多型号设备如何一次开局同一个项目经常存在多个设备型号比如S5120、S5130、S5560混用。不同型号的配置文件不能完全通用接口编号、支持的命令、默认特性都不一样用同一份文件开局必然有一部分设备启动报错。解决办法是要么按型号准备配置模板DHCP里按设备特征区分下发要么借助设备MAC地址文件名机制每台设备放单独配置。第二种做法本质上没有减轻多少运维工作但至少开局过程是自动的。更进一步可以在DHCP服务器上根据DHCP报文中的Option 60Vendor Class判断设备型号把不同型号的请求路由到不同地址池和配置文件名。这个对H3C设备来说是可以实现的但需要在DHCP服务器上写一点条件匹配逻辑。对于大部分项目前期按型号分目录、按MAC命名配置文件、批量放置是最稳妥也最容易管理的方案。6.2 在开机流程中顺带完成安全加固ZTP不只用来下基础配置完全可以结合安全需求在开局配置里植入一套默认安全基线。比如关闭不用的HTTP服务限制SNMP只读团体字VTY指定ACL放行指定管理网段Console口加登录密码开启SSH并指定认证超时时间设置登录失败锁定策略。这样做有一个额外好处设备出厂时没有任何防护如果在开局阶段没有自动加固等配置下发完成后设备暴露在临时网络里风险窗口期就会一直延长。ZTP把安全基线嵌入配置模板相当于在设备上线前就让安全策略生效减少人工操作漏项的可能。配置模板里我一般还会加一条undo ip http server对很多企业接入网络HTTP管理接口用不上关掉总比暴露强。6.3 我的体会这套DHCPTFTPZTP方案做了几轮之后我最大的体会是自动开局的价值不只是省时间更重要的是让配置变得可复制、可审计、可回滚。手工开局每个人敲出来的配置多少有点差异自动开局所有设备的基准配置都来自同一份模板后续排查差异化问题时就不用再浪费时间核对“这台设备为什么当初少了条命令”。另外一个值得投资的方向是把配置文件模板纳入版本管理。用Git管理配置模板每次开局前打上tag哪一轮开局出了网络安全问题直接查那一轮的配置文件变更比翻聊天记录可靠得多。最后再分享一个小技巧开局前把服务器上所有待下载的配置文件生成一次SHA256校验值开局后从设备上把当前配置导回来再做一次比对。这一步和人工验证相比省不了多少时间但你一旦经历过因为某个字符差异导致几十台设备配置不一致的晚上就会明白它值多少钱。
返回列表