适用场景

设备多了以后,手工登录逐台配置既慢又容易出错。网络自动化的第一步不是"自动下发配置",而是"自动巡检与备份"。

配置步骤(配置下发(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 检查,覆盖了原配置
  • 下发后不验证,配置未生效无人知

验证与巡检

# 验证:下发后读取配置核对并做连通性测试
  • 巡检:变更前备份、变更后验证记录

小结

网络自动化的安全底线:先在测试设备验证,再灰度到少量生产设备,最后批量执行;每次操作前自动备份配置。

> 说明:文中命令为通用写法,不同型号/版本可能略有差异,落地前请对照设备实际版本的官方文档;带外管理与安全设备变更建议先在测试设备验证。