精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

利用Python腳本登錄到交換機并創建VLAN

網絡技術干貨圈 ? 來源:網絡技術干貨圈 ? 2024-08-12 17:59 ? 次閱讀

轉載請注明以下內容:

來源:公眾號【網絡技術干貨圈】

作者:圈圈

ID:wljsghq

本文將詳細介紹如何利用Python腳本登錄到交換機并創建VLAN

環境準備

硬件與軟件要求

硬件要求:一臺支持SSH的網絡交換機

軟件要求

Python 3.x

相關Python庫:paramiko、netmiko

Python庫安裝

在開始編寫腳本之前,需要安裝必要的Python庫。使用以下命令安裝:

pipinstallparamikonetmiko

了解交換機的基本操作

在登錄到交換機并創建VLAN之前,我們需要了解一些基本的交換機操作命令。這些命令通常通過SSH(Secure Shell)發送到交換機上執行。以下是一些常見的交換機命令:

登錄交換機:通過SSH使用用戶名和密碼登錄到交換機。

進入全局配置模式:configure terminal

創建VLAN:vlan

命名VLAN:name

保存配置:write memory 或 copy running-config startup-config

使用Python腳本登錄交換機

使用Paramiko庫登錄交換機

paramiko是一個用于實現SSH協議的Python庫,可以用來遠程連接交換機。以下是一個簡單的示例,展示如何使用paramiko登錄到交換機:

importparamiko

defssh_connect(hostname,username,password):
#創建SSH客戶端對象
ssh=paramiko.SSHClient()
#自動添加主機密鑰
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
#連接到交換機
ssh.connect(hostname,username=username,password=password)
returnssh

#示例用法
hostname='192.168.1.1'
username='admin'
password='password'

ssh=ssh_connect(hostname,username,password)
print("成功登錄到交換機")

使用Netmiko庫登錄交換機

netmiko是基于paramiko封裝的一個庫,專為網絡設備自動化管理設計,使用起來更為方便。以下是使用netmiko登錄到交換機的示例:

fromnetmikoimportConnectHandler

defnetmiko_connect(hostname,username,password,device_type='cisco_ios'):
#設備信息
device={
'device_type':device_type,
'host':hostname,
'username':username,
'password':password,
}
#連接到交換機
net_connect=ConnectHandler(**device)
returnnet_connect

#示例用法
hostname='192.168.1.1'
username='admin'
password='password'

net_connect=netmiko_connect(hostname,username,password)
print("成功登錄到交換機")

使用Python腳本創建VLAN

使用Paramiko創建VLAN

在成功登錄交換機后,可以使用paramiko發送命令創建VLAN。以下是一個完整的示例:

importparamiko
importtime

defssh_connect(hostname,username,password):
ssh=paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname,username=username,password=password)
returnssh

defcreate_vlan(ssh,vlan_id,vlan_name):
#打開一個交互式Shell會話
remote_conn=ssh.invoke_shell()
#進入全局配置模式
remote_conn.send("configureterminal
")
time.sleep(1)
#創建VLAN
remote_conn.send(f"vlan{vlan_id}
")
time.sleep(1)
#命名VLAN
remote_conn.send(f"name{vlan_name}
")
time.sleep(1)
#退出配置模式
remote_conn.send("end
")
time.sleep(1)
#保存配置
remote_conn.send("writememory
")
time.sleep(1)
output=remote_conn.recv(65535).decode('utf-8')
returnoutput

#示例用法
hostname='192.168.1.1'
username='admin'
password='password'
vlan_id=10
vlan_name='Test_VLAN'

ssh=ssh_connect(hostname,username,password)
output=create_vlan(ssh,vlan_id,vlan_name)
print("VLAN創建成功")
print(output)

使用Netmiko創建VLAN

使用netmiko庫創建VLAN的代碼更為簡潔。以下是一個完整的示例:

fromnetmikoimportConnectHandler

defnetmiko_connect(hostname,username,password,device_type='cisco_ios'):
device={
'device_type':device_type,
'host':hostname,
'username':username,
'password':password,
}
net_connect=ConnectHandler(**device)
returnnet_connect

defcreate_vlan(net_connect,vlan_id,vlan_name):
commands=[
'configureterminal',
f'vlan{vlan_id}',
f'name{vlan_name}',
'end',
'writememory'
]
output=net_connect.send_config_set(commands)
returnoutput

#示例用法
hostname='192.168.1.1'
username='admin'
password='password'
vlan_id=10
vlan_name='Test_VLAN'

net_connect=netmiko_connect(hostname,username,password)
output=create_vlan(net_connect,vlan_id,vlan_name)
print("VLAN創建成功")
print(output)

腳本優化與錯誤處理

在實際應用中,我們可能會遇到各種錯誤和異常情況,例如登錄失敗、命令執行失敗等。為了使腳本更加健壯,我們需要加入錯誤處理機制。

使用Paramiko的錯誤處理

以下是加入錯誤處理后的paramiko腳本:

importparamiko
importtime

defssh_connect(hostname,username,password):
try:
ssh=paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname,username=username,password=password)
returnssh
exceptparamiko.AuthenticationException:
print("認證失敗,請檢查用戶名和密碼。")
exceptparamiko.SSHExceptionassshException:
print(f"無法建立SSH連接:{sshException}")
exceptExceptionase:
print(f"出現錯誤:{e}")

defcreate_vlan(ssh,vlan_id,vlan_name):
try:
remote_conn=ssh.invoke_shell()
remote_conn.send("configureterminal
")
time.sleep(1)
remote_conn.send(f"vlan{vlan_id}
")
time.sleep(1)
remote_conn.send(f"name{vlan_name}
")
time.sleep(1)
remote_conn.send("end
")
time.sleep(1)
remote_conn.send("writememory
")
time.sleep(1)
output=remote_conn.recv(65535).decode('utf-8')
returnoutput
exceptExceptionase:
print(f"創建VLAN時出錯:{e}")

#示例用法
hostname='192.168.1.1'
username='admin'
password='password'
vlan_id=10
vlan_name='Test_VLAN'

ssh=ssh_connect(hostname,username,password)
ifssh:
output=create_vlan(ssh,vlan_id,vlan_name)
ifoutput:
print("VLAN創建成功")
print(output)
ssh.close()

使用Netmiko的錯誤處理

以下是加入錯誤處理后的netmiko腳本:

fromnetmikoimportConnectHandler,NetMikoAuthenticationException,NetMikoTimeoutException

defnetmiko_connect(hostname,username,password,device_type='cisco_ios'):
device={
'device_type':device_type,
'host':hostname,
'username':username,
'password':password,
}
try:
net_connect=ConnectHandler(**device)
returnnet_connect
exceptNetMikoAuthenticationException:
print("認證失敗,請檢查用戶名和密碼。")
exceptNetMikoTimeoutException:
print("連接超時,請檢查交換機的網絡連接。")
exceptExceptionase:
print(f"出現錯誤:{e}")

defcreate_vlan(net_connect,vlan_id,vlan_name):
try:
commands=[
'configureterminal',
f'vlan{vlan_id}',
f'name{vlan_name}',
'end',
'writememory'
]
output=net_connect.send_config_set(commands)
returnoutput
exceptExceptionase:
print(f"創建VLAN時出錯:{e}")

#示例用法
hostname='192.168.1.1'
username='admin'
password='password'
vlan_id=10
vlan_name='Test_V

LAN'

net_connect=netmiko_connect(hostname,username,password)
ifnet_connect:
output=create_vlan(net_connect,vlan_id,vlan_name)
ifoutput:
print("VLAN創建成功")
print(output)
net_connect.disconnect()

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 交換機
    +關注

    關注

    21

    文章

    2624

    瀏覽量

    99284
  • VLAN
    +關注

    關注

    1

    文章

    273

    瀏覽量

    35582
  • python
    +關注

    關注

    56

    文章

    4783

    瀏覽量

    84473
  • 腳本
    +關注

    關注

    1

    文章

    387

    瀏覽量

    14834

原文標題:利用Python腳本怎么登錄到交換機并且創建VLAN?

文章出處:【微信號:網絡技術干貨圈,微信公眾號:網絡技術干貨圈】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    三層交換機VLAN路由的配置方法

    掌握vlan路由技術之三層交換機vlan路由的配置方法和結果驗證。
    的頭像 發表于 12-15 11:11 ?2992次閱讀
    三層<b class='flag-5'>交換機</b><b class='flag-5'>VLAN</b>路由的配置方法

    使用paramiko在eNSP的交換機中批量創建VLAN

    cloud連接本機,ip地址為192.168.56.1,五臺交換機的配置的地址為192.168.1.11~55。現在通過paramiko,ssh進入五臺設備,并且在五臺設備上分別創建vlan10-vlan20這11個
    的頭像 發表于 01-20 17:52 ?1596次閱讀
    使用paramiko在eNSP的<b class='flag-5'>交換機</b>中批量<b class='flag-5'>創建</b><b class='flag-5'>VLAN</b>

    ISM交換機如何添加VLAN呢?

    兩臺交換機額直接,PC連接F1/1 VLAN100 。 兩臺交換機設置是一樣的,登錄交換機192.168.2.2 用戶名 adm 密碼 1
    發表于 07-25 07:55

    [分享]常見網絡交換機故障及應用問答

    。通常,在VLAN結構發生變化的交換機上才采用服務器方式傳輸信息。一般地,分配級或訪問級交換機都設置為“vtp client”,這樣它們便可以接收傳送這些信息,但并不主動發送信息。如
    發表于 06-02 11:31

    華為路由器交換機VLAN配置實例

    華為路由器交換機VLAN配置實例[hide]華為路由器交換機VLAN配置實例使用4臺PC(pc多和少,原理是一樣的,所以這里我只用了4臺pc),華為路由器(R2621)、
    發表于 05-25 00:21

    交換機VLAN是如何實現的

    自動設置對應的VLAN ID。  5、基于用戶的VLAN  根據操作系統的登錄用戶決定VLAN。  6、Access接口和Trunk接口  交換機
    發表于 01-12 16:16

    交換機VLAN配置

    交換機VLAN配置
    發表于 12-27 16:49 ?0次下載

    二層交換機web配置教程

    啟動WEB服務 配置交換機VLAN接口的IP地址,交換機與WEB網管終端間路由可達。配置欲登錄的WEB網管用戶名和認證口令第一步:通過 Console口正確配置以太網
    發表于 03-06 11:06 ?2.6w次閱讀

    聊聊科地網管PoE交換機VLAN如何配置

    VLAN就是我們常說的虛擬局域網。VLAN是一種將局域網設備從邏輯上劃分成多個網段,從而實現虛擬工作組的數據交換技術。這一技術主要應用于交換機和路由器中,但主流應用還是在
    的頭像 發表于 12-11 16:29 ?9408次閱讀

    交換機劃分vlan的原因是什么

    有很多朋友就問到老胡vlan如何分配,這個是交換機在劃分網絡的時候會常用到,這里面我們就以最直接了解下,單獨對vlan基本操作,方便我們日常處理交換機配置,本期我們從
    發表于 08-18 15:44 ?2035次閱讀

    登錄網絡交換機的三種方法

    一般網絡交換機購買后就可以直接使用。那么,如果要配置VLAN或關閉端口,首先應該知道如何訪問交換機。下面以FS 3900-24F4S交換機為例詳細說明三種常見的
    發表于 10-29 17:24 ?1.1w次閱讀
    <b class='flag-5'>登錄</b>網絡<b class='flag-5'>交換機</b>的三種方法

    python巡檢華為交換機

    SSH登錄到各個交換機收集軟件版本、CPU、內存利用率和硬件狀態信息。
    的頭像 發表于 12-30 09:13 ?1231次閱讀

    如何配置交換機SSH遠程登錄

    如何配置交換機SSH遠程登錄,本期我們就來了解下ssh遠程登陸的方式,以銳捷交換機為例。
    的頭像 發表于 08-02 09:35 ?3636次閱讀
    如何配置<b class='flag-5'>交換機</b>SSH遠程<b class='flag-5'>登錄</b>?

    使用Python腳本備份華為交換機的配置信息

    在現代網絡管理中,備份交換機的配置信息是一項至關重要的任務。備份可以確保在交換機發生故障或配置錯誤時,能夠迅速恢復到之前的工作狀態。本文將詳細介紹如何使用Python腳本備份華為
    的頭像 發表于 08-12 17:50 ?505次閱讀
    使用<b class='flag-5'>Python</b><b class='flag-5'>腳本</b>備份華為<b class='flag-5'>交換機</b>的配置信息

    VLAN 交換機與路由器的區別

    在現代網絡架構中,VLAN交換機和路由器是構建高效、安全網絡的基石。 VLAN交換機 VLAN交換機
    的頭像 發表于 11-19 09:36 ?175次閱讀