适用场景
设备多了以后,手工登录逐台配置既慢又容易出错。网络自动化的第一步不是"自动下发配置",而是"自动巡检与备份"。
配置步骤(配置下发(NETCONF / CLI 模板))
# NETCONF 方式(netconf-console / ncclient)
from ncclient import manager
with manager.connect(host="10.0.0.1", port=830, username="ops", password="***", hostkey_verify=False) as m:
cfg = "<config><interfaces><interface><name>Vlanif10</name><description>office</description></interface></interfaces></config>"
m.edit_config(target="running", config=cfg)
关键参数与建议
- 先从只读开始:批量采集配置、接口状态、版本信息
- 模型化:以 YANG/NETCONF 或标准 CLI 模板描述配置
- 幂等与校验:下发前 diff、下发后验证
- 凭据管理:集中管理设备账号,脚本里不写明文口令
- 异常处理:单台失败不影响批量,失败清单输出
容易踩的坑
- 直接下发到全网,缺少灰度验证
- 未做 diff 检查,覆盖了原配置
- 下发后不验证,配置未生效无人知
验证与巡检
# 验证:下发后读取配置核对并做连通性测试
- 巡检:变更前备份、变更后验证记录
小结
网络自动化的安全底线:先在测试设备验证,再灰度到少量生产设备,最后批量执行;每次操作前自动备份配置。
> 说明:文中命令为通用写法,不同型号/版本可能略有差异,落地前请对照设备实际版本的官方文档;带外管理与安全设备变更建议先在测试设备验证。