用途:在路由器或交换机配置部署前,对 Cisco IOS/IOS-XE 风格配置片段做预检,适用于审查脚本或模板生成的配置、检查危险命令、重复 IP、子网重叠,以及 ACL、route-map、prefix-list、line 策略被引用却未定义的情况,也可作为网络自动化中的轻量预检脚本。
主要能力:按分层顺序检查——破坏性命令、凭证与管理面暴露、重复地址与子网重叠、对 ACL/route-map/prefix-list/接口的过期引用、NTP、时间戳、远程日志和 banner 等运维卫生项。危险命令检测覆盖 reload、erase startup/nvram/flash、format、no router bgp/ospf/eigrp、no interface、aaa new-model、crypto key zeroize/generate 等模式。重复 IP 提取 ip address 行并用 Counter 统计;子网重叠用 ipaddress 模块的 overlaps 判断。VTY 检查按块解析,避免跨段误匹配,关注 Telnet、access-class 与 exec-timeout。安全模式检查默认 SNMP community、SSHv1、enable password、username password 等;最佳实践检查缺失的 NTP、时间戳、logging、SNMPv3 authPriv、banner。
使用方式:将配置文本按行输入,运行脚本得到带行号和原因的问题列表;验证顺序为先危险命令、再凭证与管理面、再地址与子网、再悬空引用、最后运维卫生。最后仍需网络工程师复核意图、平台语法和回滚步骤。
限制:正则检查仅作预检警告,不是完整解析器;示例 Python 使用标准库 re、ipaddress、collections,可在 Linux 控制主机运行。不用于 Linux 主机加固、纯人工目视读配置,也不执行实际推送;推送应交给 netmiko-ssh-automation 等工具,本技能作为其预检门禁。避免把正则当设备解析器、未做 dry-run diff 就直接应用配置、用关闭 ACL 的方式测试防火墙、以及推荐 SNMPv2 community 作为监控要求。