您好,登錄后才能下訂單哦!
小編給大家分享一下python如何通過netconf協議獲取網元的數據,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
對于網絡運維(也就是網管)而言,統一管理網絡中的設備是其最主要的需求,netconf協議就是為此而生的。使用netconf協議,我們可以通過交換機對網元(也就是網內的計算機單元)進行管理,提高網絡運維的效率。
通過NETCONF,網管能夠用可視化的界面統一管理網絡中的設備,并且安全性高、可靠性強、擴展性強。如下圖所示,網管與網絡中的所有交換機之間建立NETCONF會話,用戶即可在網管提供的可視化界面上對網絡中的所有交換機進行統一的管理,提高網絡運維效率。
網管通過NETCONF對設備進行管理組網圖。
首先進行網元的配置開通netconf協議相關篇配置,然后編寫python調用netconf模塊
登錄ne40e的管理口,按照如下命令配置,配置說明參見上面圖示中網元配置
system-view
aaa
local-user netconf001 password irreversible-cipher Root@123
local-user netconf001 service-type ssh
local-user netconf001 user-group manage-ug
ssh user netconf001
ssh user netconf001 authentication-type password
ssh user netconf001 service-type all
snetconf server enable
默認netconf的端口是SSH端口22,也可以用如下命令修改為其他端口:
protocol inbound ssh port 830
建議使用第三方庫ncclient實現netconf的調用:
1.安裝ncclient:
pip install ncclient
2.Python引用ncclient:
from ncclient import manager
3.Python通過netconf的get能力獲取網元的接口狀態信息:
#建立連接
conn = manager.connect(host="10.10.10.10", port=22,
username="netconf001", password="Root@123",
hostkey_verify=False,
device_params={'name': 'huawei'},
allow_agent=False,
look_for_keys=False)
#設定獲取端口的狀態信息(down或者up)
message = '''<ifm xmlns="http://www.huawei.com/netconf/vrp" content-version="1.0" format-version="1.0">
<interfaces>
<interface>
<ifName/>
<ifDynamicInfo>
<ifPhyStatus/>
<ifLinkStatus/>
</ifDynamicInfo>
</interface>
</interfaces>
</ifm>'''
#get調用
ret = conn.get(("subtree", message ))
#打印返回的信息
print(ret)
4.返回信息參加如下樣例,可以看到端口GigabitEthernet0/0/0是up:
<?xml version="1.0" encoding="UTF-8"?>
<rpc-reply message-id="urn:uuid:ec1e9c29-5ff6-4582-8880-e887ceb8c512" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<data>
<ifm xmlns="http://www.huawei.com/netconf/vrp" format-version="1.0" content-version="1.0">
<interfaces>
<interface>
<ifName>GigabitEthernet0/0/0</ifName>
<ifDynamicInfo>
<ifPhyStatus>up</ifPhyStatus>
<ifLinkStatus>up</ifLinkStatus>
</ifDynamicInfo>
</interface>
</interfaces>
</ifm>
</data>
</rpc-reply>
以上是“python如何通過netconf協議獲取網元的數據”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。