如何在 JunOS 设备上以编程方式检索配置?

网络工程 路由器 杜松 瞻博网络
2021-07-26 22:15:19

这是 Juniper Router 配置的一部分,它代表 vlan:

     family inet {
                address 3.189.239.238/29;
                address 3.189.239.254/28;
            }
        }
        unit 472 {
            vlan-id 472;
            family inet;
        }
        unit 473 {
            vlan-id 473;
            family inet;
        }
        unit 474 {
            vlan-id 474;
            family inet {
                address 3.57.110.6/29;
            }
---(more 54%)---

        }
        unit 475 {
            vlan-id 475;
            family inet {
                address 3.57.110.14/29;
            }
        }
        unit 476 {
            vlan-id 476;
            family inet {
                address 3.57.110.22/29;
            }
        }
        unit 480 {
            vlan-id 480;
            family inet {
                address 1.246.212.14/28;
            }

它怎么能像API一样提供出来?然后我可以从网站获取所有 vlan 信息。

有没有像 SNMP 协议那样提供 vlan 信息的方法?

1个回答

有多种方法可以做到这一点。

您可以执行“ show configuration | display xml”以从路由器获取 XML 输出。

另一个可能更好的选择是使用netconf,它使用前面提到的 XML 表示。

如果您想使用 API,我建议您查看PyEZ,这是一个 Python 库,它允许您使用 netconf 与瞻博网络设备进行通信。它提供了一些很好的抽象,使脚本编写更容易。

另一种可能性,如果您主要是在寻找配置管理工具,则可能是Ansible瞻博网络有一些不错的Ansible 模块可用。

就我个人而言,我不会投资使用 SNMP 做事,除非我现在真的不得不这样做(即使那样我也可能会拒绝 ;-))。有许多更好的选择。