适用场景

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

配置步骤(批量巡检与配置备份)

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
  • 巡检:每日备份齐全、失败清单为空

小结

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

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