半夜改配置的日子终于结束了
上周三晚上十一点,公司突然要迁移机房,二十多台交换机的IP地址全得重配。老张坐在工位上一边手动敲命令一边嘀咕:‘这活儿要是能批量处理就好了’。其实他不知道,隔壁组早就用上了网络配置批量导入工具,人家五点下班前就搞定了。
什么是网络配置批量导入工具
说白了就是能把一堆设备的配置一次性推过去的软件。比如你要给50台路由器统一修改DNS服务器,传统方式是一台一台登录去改,现在只需要写好配置模板,选中设备列表,一键导入就行。
这类工具通常支持从Excel或CSV文件读取数据,把IP、子网掩码、网关这些参数自动填充到预设的配置指令里,生成完整的命令序列,再通过SSH或API推送到目标设备。
实际操作长什么样
假设你有一批新接入的AP需要配置管理地址,原本每个都要登录Web界面填表单。用了批量工具后,流程变成这样:
设备类型: H3C_AP-3020
模板配置:
interface vlan 1
ip address <IP地址> <子网掩码>
gateway <默认网关>
snmp-server host <监控服务器IP>
然后准备一个CSV文件:
IP地址,子网掩码,默认网关,监控服务器IP
192.168.10.51,255.255.255.0,192.168.10.1,192.168.5.100
192.168.10.52,255.255.255.0,192.168.10.1,192.168.5.100
192.168.10.53,255.255.255.0,192.168.10.1,192.168.5.100
导入之后,工具会自动生成三条完整的配置命令并分别推送到对应的设备上。
常见工具类型
开源方案像Ansible就很适合中小团队,写个YAML脚本就能跑。比如这个任务:
- name: 批量更新交换机配置
hosts: switches
tasks:
- name: 配置管理IP
ios_config:
lines:
- interface vlan 1
- ip address {{ item.ip }} {{ item.mask }}
- no shutdown
loop: "{{ lookup('csvfile', 'switches.csv', delimiter=',' ) }}"
商业软件比如华为eSight、H3C iMC,带图形界面,点几下鼠标就能完成上千台设备的策略下发,适合对编程不熟的运维人员。
别踩这些坑
去年有家公司做批量升级,忘了在配置模板里加“write memory”命令,结果设备重启后全回到旧配置,现场直接瘫痪。所以每次推送前一定要确认保存指令是否包含。
还有就是并发连接数控制。曾经有人一口气向80台设备同时推送配置,导致管理服务器CPU飙到100%,后续操作全部卡住。建议分批次执行,每批20台左右比较稳妥。
现在老张也换了新工作方法,每天下班前把第二天要改的配置准备好,定时任务凌晨两点跑,第二天来检查日志就行。他说最幸福的事不是准时下班,而是再也不用对着命令行发呆到深夜了。