0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用paramiko在eNSP的交换机中批量创建VLAN

网络技术干货圈 来源:网络技术干货圈 2024-01-20 17:52 次阅读

来源:公众号【网络技术干货圈】

作者:圈圈

ID:wljsghq

实验拓扑:

cf825656-b777-11ee-8b88-92fbcf53809c.png
cloud连接本机,ip地址为192.168.56.1,五台交换机的配置的地址为192.168.1.11~55。现在通过paramiko,ssh进入五台设备,并且在五台设备上分别创建vlan10-vlan20这11个VLAN。

版本:python3.9

实验步骤:

一、ssh配置:

##创建秘钥
[sw2]dsalocal-key-paircreate

##配置SSH认证类型(密码/其他)
[sw2]sshuserprinauthentication-typepassword
[sw2]sshuserprinservice-typestelnet
[sw2]stelnetserverenable

##配置认证模式
[sw2]user-interfacevty04
[sw2-ui-vty0-4]authentication-modeaaa//配置认证模式
[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函数,输入SSH的用户名
username=input('Username:')
#通过getpass()函数接收密码,密码是不可见的,但是在windows上有bug,密码可见
password=getpass.getpass('Password:')

#创建一个列表,表示五台设备最后8位的地址
ip_tail_list=[11,22,33,44,55]

#使用for循环,接受SSH的秘钥,并分别依次连接到五台设备,注意需要将i转化为字符串
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()函数创建VLAN,并且设置每个VLAN的描述;未来保证设备能够正常接受配置,每次创建1个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()函数得到回信的信息,最多接受65535个字符
command.send("return
")
command.send("save
"+"y
"+"
")
time.sleep(2)
output=command.recv(65535)
print(output.decode('ascii'))

#关闭连接
ssh_client.close()

如果管理的设备数目过多,可以直接通过读取txt文件的方式获取IP地址,仅需要将如下代码:

#创建一个列表,表示五台设备最后8位的地址
ip_tail_list=[11,22,33,44,55]

#使用for循环,接受SSH的秘钥,并分别依次连接到五台设备,注意需要将i转化为字符串
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()函数打开ip_list文件,并将读取的结果赋予f
f=open("ip_list.txt","r")

#调用readlines()函数,返回IP地址的列表,并使用for循环遍历;注意使用readlines()的每一个ip地址后带有
,需要通过strip()函数去除
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)
#.......省略中间部分,在完成文件操作后,关闭文件
f.close()
ssh_client.close()

执行效果:

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

在设备上检查是否配置成功,以SW1为例:
cfb985d6-b777-11ee-8b88-92fbcf53809c.png
可以看到创建VLAN和添加VLAN描述成功。

审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 交换机
    +关注

    关注

    19

    文章

    2437

    浏览量

    95656
  • VLAN
    +关注

    关注

    1

    文章

    249

    浏览量

    35249
  • 网络技术
    +关注

    关注

    1

    文章

    278

    浏览量

    28984
  • python
    +关注

    关注

    51

    文章

    4675

    浏览量

    83466
  • 脚本
    +关注

    关注

    1

    文章

    372

    浏览量

    14635

原文标题:使用paramiko在eNSP的交换机中批量创建VLAN

文章出处:【微信号:网络技术干货圈,微信公众号:网络技术干货圈】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    三层交换机VLAN路由的配置方法

    掌握vlan路由技术之三层交换机vlan路由的配置方法和结果验证。
    的头像 发表于 12-15 11:11 995次阅读
    三层<b class='flag-5'>交换机</b><b class='flag-5'>VLAN</b>路由的配置方法

    交换机如何批量加入VLAN

    交换机
    学习电子知识
    发布于 :2022年11月26日 20:53:19

    [分享]常见网络交换机故障及应用问答

    是否正确,交换机是否正常。若是设置故障,先检查交换机是否设置了IP地址,如果设置了和其他设备不在同一网段的IP地址,将其删除或设一个和其他设备同一网段的IP地址;然后再看看是否是VLAN
    发表于 06-02 11:31

    华为路由器交换机VLAN配置实例

    华为路由器交换机VLAN配置实例[hide]华为路由器交换机VLAN配置实例使用4台PC(pc多和少,原理是一样的,所以这里我只用了4台pc),华为路由器(R2621)、
    发表于 05-25 00:21

    交换机知识总结之选购篇

    策略、生成树协议和VLAN都是必不可少的功能,经过仔细分析,某些功能进行进一步的细分,而这些细分功能正是导致产品差异的主要原因,也是体现产品附加值的重要途径。交换机的应用级QoS保证交换机
    发表于 10-11 09:33

    交换机VLAN是如何实现的

      1、静态VLAN  VLAN管理员最初配置交换机Port和VLAN ID的对应关系时,就已经固定了这种对应关系,即这个Port只能对应
    发表于 01-12 16:16

    网络交换机

      交换机(Switch)就是一个延展装置,把原本的一个网线接口分成了多个。但是不同于传统意义上的集线器(Hub),交换机将一个网络分成多个的情况下,并不会影响带宽和网速。由于交换机
    发表于 04-28 16:09

    交换机综合设计实验

    交换机综合设计实验1 一. 实验内容:在多台交换机上配置VLAN二. 实验目的:进一步深入理解VLAN 的配置三. 实验环境:实验环
    发表于 09-24 13:42 834次阅读
    <b class='flag-5'>交换机</b>综合设计实验

    交换机VLAN配置

    交换机VLAN配置
    发表于 12-27 16:49 0次下载

    聊聊科地网管PoE交换机VLAN如何配置

    VLAN就是我们常说的虚拟局域网。VLAN是一种将局域网设备从逻辑上划分成多个网段,从而实现虚拟工作组的数据交换技术。这一技术主要应用于交换机和路由器中,但主流应用还是在
    的头像 发表于 12-11 16:29 8904次阅读

    交换机划分vlan的原因是什么

    有很多朋友就问到老胡vlan如何分配,这个是交换机在划分网络的时候会常用到,这里面我们就以最直接了解下,单独对vlan基本操作,方便我们日常处理交换机配置,本期我们从
    发表于 08-18 15:44 1870次阅读

    一文详解交换机VLAN的通信过程

    VLAN(VirtualLocalAreaNetwork,虚拟局域网),通过在支持VLAN交换机上添加VLAN,并且动态的调整每个端口所属VLAN
    的头像 发表于 11-23 12:12 6769次阅读
    一文详解<b class='flag-5'>交换机</b>间<b class='flag-5'>VLAN</b>的通信过程

    交换机不同vlan间如何通信

    不同VLAN之间相互通信的两种方式,单臂路由、三层交换机,它们分别如何配置呢?哪一种好呢?
    发表于 05-04 16:50 5201次阅读
    <b class='flag-5'>交换机</b>不同<b class='flag-5'>vlan</b>间如何通信

    配置不同VLAN之间通讯-使用三层交换机

    在一台交换机上划分多个VLAN,正常情况下,不同的VLAN是不能互相通信,这是因为VLAN隔离了广播 域,但有时需要他们能相互访问,下面通过华为的E
    的头像 发表于 06-02 16:07 3531次阅读
    配置不同<b class='flag-5'>VLAN</b>之间通讯-使用三层<b class='flag-5'>交换机</b>

    广播风暴之华三交换机默认VLAN IP冲突

    通过查看核心交换机Log正常,查看汇聚层交换机,发现个IP冲突导致广播风暴,经查,由于多台华三交换机默认存在VLAN1 的IP为192.168.0.233致使广播风暴产生,日志如下
    的头像 发表于 07-11 14:38 1320次阅读
    广播风暴之华三<b class='flag-5'>交换机</b>默认<b class='flag-5'>VLAN</b> IP冲突