0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

使用paramiko在eNSP的交換機(jī)中批量創(chuàng)建VLAN

網(wǎng)絡(luò)技術(shù)干貨圈 ? 來源:網(wǎng)絡(luò)技術(shù)干貨圈 ? 2024-01-20 17:52 ? 次閱讀

來源:公眾號(hào)【網(wǎng)絡(luò)技術(shù)干貨圈】

作者:圈圈

ID:wljsghq

實(shí)驗(yàn)拓?fù)洌?/p>

cf825656-b777-11ee-8b88-92fbcf53809c.png
cloud連接本機(jī),ip地址為192.168.56.1,五臺(tái)交換機(jī)的配置的地址為192.168.1.11~55?,F(xiàn)在通過paramiko,ssh進(jìn)入五臺(tái)設(shè)備,并且在五臺(tái)設(shè)備上分別創(chuàng)建vlan10-vlan20這11個(gè)VLAN。

版本:python3.9

實(shí)驗(yàn)步驟:

一、ssh配置:

##創(chuàng)建秘鑰
[sw2]dsalocal-key-paircreate

##配置SSH認(rèn)證類型(密碼/其他)
[sw2]sshuserprinauthentication-typepassword
[sw2]sshuserprinservice-typestelnet
[sw2]stelnetserverenable

##配置認(rèn)證模式
[sw2]user-interfacevty04
[sw2-ui-vty0-4]authentication-modeaaa//配置認(rèn)證模式
[sw2-ui-vty0-4]protocolinboundssh//允許ssh連接虛擬終端

##配置本地用戶信息
[sw2]aaa
[sw2-aaa]local-userprinpasswordcipherHuawei@123
[sw2-aaa]local-userprinprivilegelevel15
[sw2-aaa]local-userprinservice-typessh

二、python腳本:

importparamiko
importtime
importgetpass

#使用input函數(shù),輸入SSH的用戶名
username=input('Username:')
#通過getpass()函數(shù)接收密碼,密碼是不可見的,但是在windows上有bug,密碼可見
password=getpass.getpass('Password:')

#創(chuàng)建一個(gè)列表,表示五臺(tái)設(shè)備最后8位的地址
ip_tail_list=[11,22,33,44,55]

#使用for循環(huán),接受SSH的秘鑰,并分別依次連接到五臺(tái)設(shè)備,注意需要將i轉(zhuǎn)化為字符串
foriinip_tail_list:
ip="192.168.56."+str(i)
ssh_client=paramiko.SSHClient()
ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh_client.connect(hostname=ip,username=username,password=password)

print("Successfullyconnectto",ip)

#使用invoke_shell()喚醒shell界面
command=ssh_client.invoke_shell()

#使用command.send()函數(shù)創(chuàng)建VLAN,并且設(shè)置每個(gè)VLAN的描述;未來保證設(shè)備能夠正常接受配置,每次創(chuàng)建1個(gè)VLAN后休息1s
command.send("system
")

forninrange(10,21):
print("CreatingVlan"+str(n))
command.send("vlan"+str(n)+"
")
command.send("descriptionPythonVlan"+str(n)+"
")
time.sleep(1)

#保存配置,并且通過command.recv()函數(shù)得到回信的信息,最多接受65535個(gè)字符
command.send("return
")
command.send("save
"+"y
"+"
")
time.sleep(2)
output=command.recv(65535)
print(output.decode('ascii'))

#關(guān)閉連接
ssh_client.close()

如果管理的設(shè)備數(shù)目過多,可以直接通過讀取txt文件的方式獲取IP地址,僅需要將如下代碼:

#創(chuàng)建一個(gè)列表,表示五臺(tái)設(shè)備最后8位的地址
ip_tail_list=[11,22,33,44,55]

#使用for循環(huán),接受SSH的秘鑰,并分別依次連接到五臺(tái)設(shè)備,注意需要將i轉(zhuǎn)化為字符串
foriinip_tail_list:
ip="192.168.56."+str(i)
ssh_client=paramiko.SSHClient()
ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh_client.connect(hostname=ip,username=username,password=password)
#......省略中間部分
ssh_client.close()

更換為下述即可:

#使用open()函數(shù)打開ip_list文件,并將讀取的結(jié)果賦予f
f=open("ip_list.txt","r")

#調(diào)用readlines()函數(shù),返回IP地址的列表,并使用for循環(huán)遍歷;注意使用readlines()的每一個(gè)ip地址后帶有
,需要通過strip()函數(shù)去除
foriinf.readlines():
ip=i.strip()
ssh_client=paramiko.SSHClient()
ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh_client.connect(hostname=ip,username=username,password=password)
#.......省略中間部分,在完成文件操作后,關(guān)閉文件
f.close()
ssh_client.close()

執(zhí)行效果:

cf9a9ae0-b777-11ee-8b88-92fbcf53809c.png

在設(shè)備上檢查是否配置成功,以SW1為例:
cfb985d6-b777-11ee-8b88-92fbcf53809c.png
可以看到創(chuàng)建VLAN和添加VLAN描述成功。

審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 交換機(jī)
    +關(guān)注

    關(guān)注

    20

    文章

    2598

    瀏覽量

    98862
  • VLAN
    +關(guān)注

    關(guān)注

    1

    文章

    263

    瀏覽量

    35499
  • 網(wǎng)絡(luò)技術(shù)

    關(guān)注

    1

    文章

    281

    瀏覽量

    29198
  • python
    +關(guān)注

    關(guān)注

    54

    文章

    4756

    瀏覽量

    84283
  • 腳本
    +關(guān)注

    關(guān)注

    1

    文章

    383

    瀏覽量

    14792

原文標(biāo)題:使用paramiko在eNSP的交換機(jī)中批量創(chuàng)建VLAN

文章出處:【微信號(hào):網(wǎng)絡(luò)技術(shù)干貨圈,微信公眾號(hào):網(wǎng)絡(luò)技術(shù)干貨圈】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    三層交換機(jī)VLAN路由的配置方法

    掌握vlan路由技術(shù)之三層交換機(jī)vlan路由的配置方法和結(jié)果驗(yàn)證。
    的頭像 發(fā)表于 12-15 11:11 ?2650次閱讀
    三層<b class='flag-5'>交換機(jī)</b><b class='flag-5'>VLAN</b>路由的配置方法

    ISM交換機(jī)如何添加VLAN呢?

    兩臺(tái)交換機(jī)額直接,PC連接F1/1 VLAN100 。 兩臺(tái)交換機(jī)設(shè)置是一樣的,登錄交換機(jī)192.168.2.2 用戶名 adm 密碼 123456 虛擬局域網(wǎng) 新增
    發(fā)表于 07-25 07:55

    [分享]常見網(wǎng)絡(luò)交換機(jī)故障及應(yīng)用問答

    是否正確,交換機(jī)是否正常。若是設(shè)置故障,先檢查交換機(jī)是否設(shè)置了IP地址,如果設(shè)置了和其他設(shè)備不在同一網(wǎng)段的IP地址,將其刪除或設(shè)一個(gè)和其他設(shè)備同一網(wǎng)段的IP地址;然后再看看是否是VLAN
    發(fā)表于 06-02 11:31

    華為路由器交換機(jī)VLAN配置實(shí)例

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

    交換機(jī)VLAN是如何實(shí)現(xiàn)的

      1、靜態(tài)VLAN  VLAN管理員最初配置交換機(jī)Port和VLAN ID的對(duì)應(yīng)關(guān)系時(shí),就已經(jīng)固定了這種對(duì)應(yīng)關(guān)系,即這個(gè)Port只能對(duì)應(yīng)
    發(fā)表于 01-12 16:16

    交換機(jī)路由VLAN配置視頻教程

    交換機(jī)路由VLAN配置視頻教程 VLAN是一種將局域網(wǎng)設(shè)備從邏輯上劃分成一個(gè)個(gè)網(wǎng)段,從而實(shí)現(xiàn)虛擬工作組的新興數(shù)據(jù)交換技術(shù)。這一新興技術(shù)主要應(yīng)用于
    發(fā)表于 09-09 16:20 ?151次下載

    、小局域網(wǎng)交換機(jī)VLAN的網(wǎng)絡(luò)配置

    、小局域網(wǎng)交換機(jī)VLAN的網(wǎng)絡(luò)配置 有關(guān)VLAN的技術(shù)標(biāo)準(zhǔn)IEEE 802.1Q早在1999年6月份就由IEEE委員正式頒布實(shí)施了,而且最早的
    發(fā)表于 10-20 09:22 ?879次閱讀

    交換機(jī)VLAN配置

    交換機(jī)VLAN配置
    發(fā)表于 12-27 16:49 ?0次下載

    如何將交換機(jī)的接口分配到vlan

    本文檔的主要內(nèi)容詳細(xì)介紹的是如何將交換機(jī)的接口分配到vlan。
    發(fā)表于 11-20 08:00 ?5次下載
    如何將<b class='flag-5'>交換機(jī)</b>的接口分配到<b class='flag-5'>vlan</b><b class='flag-5'>中</b>

    聊聊科地網(wǎng)管PoE交換機(jī)VLAN如何配置

    VLAN就是我們常說的虛擬局域網(wǎng)。VLAN是一種將局域網(wǎng)設(shè)備從邏輯上劃分成多個(gè)網(wǎng)段,從而實(shí)現(xiàn)虛擬工作組的數(shù)據(jù)交換技術(shù)。這一技術(shù)主要應(yīng)用于交換機(jī)和路由器
    的頭像 發(fā)表于 12-11 16:29 ?9317次閱讀

    交換機(jī)劃分vlan的原因是什么

    有很多朋友就問到老胡vlan如何分配,這個(gè)是交換機(jī)劃分網(wǎng)絡(luò)的時(shí)候會(huì)常用到,這里面我們就以最直接了解下,單獨(dú)對(duì)vlan基本操作,方便我們?nèi)粘L幚?b class='flag-5'>交換
    發(fā)表于 08-18 15:44 ?2006次閱讀

    交換機(jī)不同vlan間如何通信

    不同VLAN之間相互通信的兩種方式,單臂路由、三層交換機(jī),它們分別如何配置呢?哪一種好呢?
    發(fā)表于 05-04 16:50 ?6435次閱讀
    <b class='flag-5'>交換機(jī)</b>不同<b class='flag-5'>vlan</b>間如何通信

    配置不同VLAN之間通訊-使用三層交換機(jī)

    一臺(tái)交換機(jī)上劃分多個(gè)VLAN,正常情況下,不同的VLAN是不能互相通信,這是因?yàn)?b class='flag-5'>VLAN隔離了廣播 域,但有時(shí)需要他們能相互訪問,下面通過
    的頭像 發(fā)表于 06-02 16:07 ?4832次閱讀
    配置不同<b class='flag-5'>VLAN</b>之間通訊-使用三層<b class='flag-5'>交換機(jī)</b>

    工業(yè)物聯(lián)網(wǎng)光纖網(wǎng)絡(luò)交換機(jī)如何配置Voice VLAN

    什么是Voice VLAN?它在物聯(lián)網(wǎng)和工業(yè)物聯(lián)網(wǎng)起了怎樣的作用?Voice VLAN是如何工作的?怎樣通過光纖網(wǎng)絡(luò)交換機(jī)配置Voice VLAN
    的頭像 發(fā)表于 11-28 10:17 ?607次閱讀
    工業(yè)物聯(lián)網(wǎng)<b class='flag-5'>中</b>光纖網(wǎng)絡(luò)<b class='flag-5'>交換機(jī)</b>如何配置Voice <b class='flag-5'>VLAN</b>

    利用Python腳本登錄到交換機(jī)創(chuàng)建VLAN

    本文將詳細(xì)介紹如何利用Python腳本登錄到交換機(jī)創(chuàng)建VLAN。
    的頭像 發(fā)表于 08-12 17:59 ?418次閱讀