我正在尝试使用 python 更改来自不同供应商的交换机配置。到目前为止,我使用Netmiko
. 虽然这些可以完成工作但需要特定于设备的命令,这很麻烦。目前,ncclient
在 python 中使用(Netconf) 可以稍微简化这个过程,但仍然必须明确提及设备特定的参数。例如,xml
要更改 FS 交换机的主机名:
<config xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<system xmlns="urn:fs:params:xml:ns:yang:system">
<hostname>device-hostname</hostname>
</system>
</config>
目前我无法访问任何其他支持 Netconf 的设备,但通过查看 Cisco IOS 上的不同示例:
<config>
<native xmlns="http://cisco.com/ns/yang/Cisco-IOS-XE-native">
<hostname>device-hostname</hostname>
</native>
</config>
和 JunOS:
<configuration xmlns="http://xml.juniper.net/xnm/1.1/xnm">
<system>
<host-name>device-hostname</host-name>
</system>
</configuration>
我看到特定供应商(或操作系统)的设置不同。
是否有通用的解决方案,或者我每次集成新设备时都必须修改源代码吗?基本上我想要实现的是通过使用任何供应商的单一格式(模板)来更改一些基本的设备和交换机接口级别配置。
我对网络和自动化的东西很陌生,所以任何类型的提示或建议都会有所帮助。TIA。