适用场景
设备多了以后,手工登录逐台配置既慢又容易出错。网络自动化的第一步不是"自动下发配置",而是"自动巡检与备份"。
配置步骤(批量巡检与配置备份)
from netmiko import ConnectHandler
devices = ["10.0.0.1", "10.0.0.2"]
for ip in devices:
conn = ConnectHandler(device_type="huawei", host=ip, username="ops", password="***")
cfg = conn.send_command("display current-configuration")
open(f"backup/{ip}.cfg", "w").write(cfg)
conn.disconnect()
关键参数与建议
- 先从只读开始:批量采集配置、接口状态、版本信息
- 模型化:以 YANG/NETCONF 或标准 CLI 模板描述配置
- 幂等与校验:下发前 diff、下发后验证
- 凭据管理:集中管理设备账号,脚本里不写明文口令
- 异常处理:单台失败不影响批量,失败清单输出
容易踩的坑
- 脚本里写明文口令,脚本泄漏等于设备失守
- 未限制并发,设备 CPU 被打满
- 不做失败重试与清单,漏采无人知
验证与巡检
ls -lh backup/*.cfg | tail -5
- 巡检:每日备份齐全、失败清单为空
小结
网络自动化的安全底线:先在测试设备验证,再灰度到少量生产设备,最后批量执行;每次操作前自动备份配置。
> 说明:文中命令为通用写法,不同型号/版本可能略有差异,落地前请对照设备实际版本的官方文档;带外管理与安全设备变更建议先在测试设备验证。