文章总结: 文章指出ODL因厂商私有YANG模型无法下发OSPF/BGP/SRv6等高级配置,提出用Expect脚本SSH批量推送曲线救国;给出脚本模板、并发执行与权限验证步骤,可快速在现网落地,无需等待厂商API。 综合评分: 78 文章分类: 安全工具,网络自动化,解决方案,实战经验
ODL高级配置受阻?巧用Expect脚本另辟蹊径,SSH批量下发OSPF/BGP/SRv6等复杂配置
原创
衡水铁头哥 衡水铁头哥
铁军哥
2026年1月19日 07:41 北京
前言
本文解决ODL控制器因厂商私有YANG模型无法下发高级配置的痛点。详细演示如何编写智能expect脚本,通过SSH自动登录并批量配置设备IS-IS、BGP、SRv6等协议,实现高效自动化。
经过前面几次测试,我们已经成功部署了ODL(OpenDaylight)服务器(低成本玩转SDN:实测OpenDaylight资源消耗仅1.1GB,完美纳管华为设备,开源方案真香!),也成功测试了使用NETCONF推送一些基础配置(告别CLI:手把手教你用ODL的RESTCONF接口管理设备,增删改查只需一条curl命令)。
但是,理想很丰满,现实很骨感。后来我发现,仅靠这些还无法实现完整的SDN配置推送。至于原因吗,华为除了基础的设备网络配置用的是公共的标准ODL YANG,高级一点的配置,像OSPFv2、OSPFv3、IS-IS,就连保存配置都是用的私有YANG模型,与ODL原生功能存在YANG模型冲突的兼容性问题,导致高级配置无法通过RESTCONF接口直接下发。
解决办法也不是没有,那就是升级为华为开发者,申请相关的API文档权限,不过这个估计需要比较长的时间。
等待期间,我们就换个方案曲线救国吧。尝试绕过ODL,利用Linux标准工具expect,依旧将ODL服务器作为控制节点,对于不支持的YANG模型,通过SSH批量并发地将配置推送到所有设备。
首先,我们需要确认下发配置的账号有相关权限。此前,我们配置的账号odluser只有snetconf权限,需要确认其可以通过SSH登录设备并下发配置,完整配置如下。
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:铁军哥 衡水铁头哥 衡水铁头哥《ODL高级配置受阻?巧用Expect脚本另辟蹊径,SSH批量下发OSPF/BGP/SRv6等复杂配置》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论