电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Python實現網絡自動化eNSP

瀏覽:124日期:2022-06-18 10:54:08
目錄1.使用Paramiko登陸到單臺交換機實驗拓撲實驗要求2.使用Paramiko登陸到連續子網交換機實驗拓撲實驗要求實驗步驟3.Paramiko登陸不連續子網交換機實驗拓撲實驗要求4.sys.argv[ ] 實現靈活調用腳本所需文件實驗拓撲實驗要求實驗步驟5.SSH連接失敗處理1.使用Paramiko登陸到單臺交換機實驗拓撲

云彩橋接到本機環回接口:192.168.1.1/24三層交換機IP:192.168.1.2/24

Python實現網絡自動化eNSP

實驗要求

使用Python Paramiko 模塊實現SSH 登錄單個交換機(192.168.56.2/24),配置LoopBack0地址:1.1.1.1/32。配置完成后,保存退出。

實驗步驟 配置交換機管理地址,并測試與主機虛擬網卡連通性

[Huawei]vlan 10[Huawei]int vlan 10[Huawei-Vlanif10]ip add 192.168.1.2 24[Huawei-GigabitEthernet0/0/1]port link-type access [Huawei-GigabitEthernet0/0/1]port default vlan 10

Python實現網絡自動化eNSP

Python實現網絡自動化eNSP

配置三層交換機開啟 SSH 服務端,配置 SSH 賬號密碼。

[Huawei]user-interface vty 0 4[Huawei-ui-vty0-4]authentication-mode aaa[Huawei-ui-vty0-4]protocol inbound ssh[Huawei-aaa]local-user python password cipher 123[Huawei-aaa]local-user python privilege level 3[Huawei-aaa]local-user python service-type ssh [Huawei]stelnet server enable [Huawei]ssh authentication-type default password

Python代碼

import paramikoimport timeip = ’192.168.56.2’username = ’python’password = ’123’ssh_client = paramiko.SSHClient()ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) //默認情況下,Paramiko會拒絕任何未知的SSH public keys,使用此函數使其接收來自交換機提供的public keys。ssh_client.connect(hostname=ip, username=username, password=password, look_for_keys=False)print(’Successfully connect to ’ + ip)commend = ssh_client.invoke_shell()commend.send(’sysn’)commend.send(’interface LoopBack 0n’)commend.send(’ip add 1.1.1.1 255.255.255.255n’)commend.send(’returnn’)commend.send(’saven’)commend.send(’yn’)time.sleep(3) //稍等3秒,然后執行以下操作output = commend.recv(65535) //截取本次運行script后的所有輸出記錄,將其assign給output變量print(output.decode('ascii'))ssh_client.close()

查看運行結果

Python實現網絡自動化eNSP

在交換機上查看

Python實現網絡自動化eNSP

也可以在交換機上debuggiing ip packet可以看到日志

2.使用Paramiko登陸到連續子網交換機實驗拓撲

連續子網三層交換機:管理地址 192.168.1.2/24 to 192.168.1.5/24

Python實現網絡自動化eNSP

實驗要求

登陸到各臺交換機,并為其配置vlan 11 to 15,保存配置并退出。

實驗步驟

配置管理口IP地址,并配置SSH Server 登陸名以及密碼等

python代碼

import paramikoimport time#import getpass#username = input(’Username: ’)#password = getpass.getpass(’Password: ’) //pycharm中該模塊運行沒反應,用戶名和密碼還是直接寫的username = ’python’password = ’123’for i in range(2, 6): ip = ’192.168.1.’ + str(i) ssh_client = paramiko.SSHClient() ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh_client.connect(hostname=ip, username=username, password=password, look_for_keys=False) command = ssh_client.invoke_shell() print(’Successfully connect to ’ + ip) command.send(’sysn’) for j in range(11, 16):print(’正在創建VLAN: ’ + str(j))command.send(’vlan ’ + str(j) + ’n’)time.sleep(1) command.send(’returnn’) command.send(’saven’) command.send(’yn’) time.sleep(2) output = command.recv(65535).decode(’ascii’) print(output)ssh_client.close()

運行結果

Python實現網絡自動化eNSP

Python實現網絡自動化eNSP

3.Paramiko登陸不連續子網交換機實驗拓撲

將交換機LSW5的管理接口ip更改為192.168.1.6/24,使交換機ip不在同一網段

Python實現網絡自動化eNSP

實驗要求

使用Paramiko登陸四臺ip不連續的交換機,并給其配置vlan11 to 15

實驗步驟

創建一個文本文檔,將需要配置的交換機的ip地址寫入,這里我在Desktop下創建了一個名為ip.txt文檔

Python實現網絡自動化eNSP

使用open函數,打開文件,進行操作,實現不連續子網調用

import paramikoimport timeusername = ’python’password = ’123’f = open(’C:/Users/DELL/Desktop/ip.txt’, ’r’)for line in f.readlines(): ip = line.strip() ssh_client = paramiko.SSHClient() ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh_client.connect(hostname=ip, username=username, password=password) print(’Successfully connect to ’, ip) command = ssh_client.invoke_shell() command.send(’sysn’) command.send(’vlan batch 11 to 15n’) time.sleep(2) command.send(’returnn’) command.send(’saven’) command.send(’yn’) time.sleep(2) output = command.recv(65535).decode(’ascii’) print(output)f.close()ssh_client.close()

查看運行結果

Python實現網絡自動化eNSP

Python實現網絡自動化eNSP

Python實現網絡自動化eNSP

4.sys.argv[ ] 實現靈活調用腳本所需文件實驗拓撲

假設1.2和1.3為一組,1.4和1.6為一組

Python實現網絡自動化eNSP

實驗要求

同時修改不同型號設備的配置,給SW1/3配置vlan11 to 15,SW4/5配置vlan16 to 20

實驗步驟

創建兩個名為ip1.txt,command1.txt的文件,存儲1組的ip和要進行的配置

Python實現網絡自動化eNSP

同樣創建兩個名為ip2.txt,command2.txt文件,存儲2組的ip和要進行的配置

Python實現網絡自動化eNSP

Python實現網絡自動化eNSP

python代碼

import paramikoimport timeimport sysusername = ’python’password = ’123’ip_file = sys.argv[1]cmd_file = sys.argv[2]iplist = open(ip_file)for line in iplist.readlines(): ip = line.strip() ssh_client = paramiko.SSHClient() ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh_client.connect(hostname=ip, username=username, password=password) print(’Successfully connect to ’, ip) command = ssh_client.invoke_shell() cmdlist = open(cmd_file, ’r’) cmdlist.seek(0) for line in cmdlist.readlines():command.send(line + ’n’)time.sleep(5) cmdlist.close() output = command.recv(65535) print(output)iplist.close()ssh_client.close()

查看運行結果(pycharm不可以使用argv,在cmd里使用)

Python實現網絡自動化eNSP

5.SSH連接失敗處理

import paramikoimport timeimport sysimport socketimport getpassusername = input(’Username: ’)password = getpass.getpass(’Password: ’)ip_file = sys.argv[1]cmd_file = sys.argv[2]switch_with_authentication_issue = []switch_not_reachable = []iplist = open(ip_file, ’r’)for line in iplist.readlines(): try:ip = line.strip()ssh_client = paramiko.SSHClient()ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())ssh_client.connect(hostname=ip, username=username, password=password,look_for_keys=False)print(’Successfully connect to ’ + ip)command = ssh_client.invoke_shell()cmdlist = open(cmd_file, ’r’)cmdlist.seek(0)for cmd in cmdlist.readlines(): command.send(cmd + ’n’)time.sleep(1)cmdlist.close()output = command.recv(65535)print(output.decode('ascii')) except paramiko.ssh_exception.AuthenticationException:print(’User authentication failed for ’ + ip + ’.’)switch_with_authentication_issue.append(ip) except TimeoutError:switch_not_reachable.append(ip)iplist.close()ssh_client.close()print(’nUser authentication failed for below switches: ’)for i in switch_with_authentication_issue: print(i)print(’nBelow switchs are not reachable: ’)for i in switch_not_reachable: print(i)

到此這篇關于Python實現網絡自動化eNSP的實現的文章就介紹到這了,更多相關Python 網絡自動化 內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 餐饮小吃技术培训-火锅串串香培训「何小胖培训」_成都点石成金[官网] | ?水马注水围挡_塑料注水围挡_防撞桶-常州瑞轩水马注水围挡有限公司 | 气动隔膜阀_气动隔膜阀厂家_卫生级隔膜阀价格_浙江浙控阀门有限公司 | 花纹铝板,合金铝卷板,阴极铝板-济南恒诚铝业有限公司 | 企业彩铃制作_移动、联通、电信集团彩铃上传开通_彩铃定制_商务彩铃管理平台-集团彩铃网 | 科威信洗净科技,碳氢清洗机,超声波清洗机,真空碳氢清洗机 | 污水/卧式/潜水/钻井/矿用/大型/小型/泥浆泵,价格,参数,型号,厂家 - 安平县鼎千泵业制造厂 | 除尘器布袋骨架,除尘器滤袋,除尘器骨架,电磁脉冲阀膜片,卸灰阀,螺旋输送机-泊头市天润环保机械设备有限公司 | 超声波成孔成槽质量检测仪-压浆机-桥梁预应力智能张拉设备-上海硕冠检测设备有限公司 | 清水-铝合金-建筑模板厂家-木模板价格-铝模板生产「五棵松」品牌 | TPU薄膜_TPU薄膜生产厂家_TPU热熔胶膜厂家定制_鑫亘环保科技(深圳)有限公司 | sfp光模块,高速万兆光模块工厂-性价比更高的光纤模块制造商-武汉恒泰通 | 热工多功能信号校验仪-热电阻热电偶校验仿真仪-金湖虹润仪表 | PO膜_灌浆膜及地膜供应厂家 - 青州市鲁谊塑料厂| 电动打包机_气动打包机_钢带捆扎机_废纸打包机_手动捆扎机 | 水厂自动化-水厂控制系统-泵站自动化|控制系统-闸门自动化控制-济南华通中控科技有限公司 | 定做大型恒温循环水浴槽-工业用不锈钢恒温水箱-大容量低温恒温水槽-常州精达仪器 | 3d可视化建模_三维展示_产品3d互动数字营销_三维动画制作_3D虚拟商城 【商迪3D】三维展示服务商 广东健伦体育发展有限公司-体育工程配套及销售运动器材的体育用品服务商 | 安全光栅|射频导纳物位开关|音叉料位计|雷达液位计|两级跑偏开关|双向拉绳开关-山东卓信机械有限公司 | 电动不锈钢套筒阀-球面偏置气动钟阀-三通换向阀止回阀-永嘉鸿宇阀门有限公司 | 脱硫搅拌器厂家-淄博友胜不锈钢搅拌器厂家 | 代写标书-专业代做标书-商业计划书代写「深圳卓越创兴公司」 | 浴室柜-浴室镜厂家-YINAISI · 意大利设计师品牌 | 咿耐斯 |-浙江台州市丰源卫浴有限公司 | 山东锐智科电检测仪器有限公司_超声波测厚仪,涂层测厚仪,里氏硬度计,电火花检漏仪,地下管线探测仪 | 低浓度恒温恒湿称量系统,强光光照培养箱-上海三腾仪器有限公司 | 紫外荧光硫分析仪-硫含量分析仪-红外光度测定仪-泰州美旭仪器 | 游戏版号转让_游戏资质出售_游戏公司转让-【八九买卖网】 | 成都茶楼装修公司 - 会所设计/KTV装修 - 成都朗煜装饰公司 | 十二星座查询(性格特点分析、星座运势解读) - 玄米星座网 | 中式装修设计_全屋定制家具_实木仿古门窗花格厂家-喜迎门 | 英语词典_成语词典_日语词典_法语词典_在线词典网 | 河南卓美创业科技有限公司-河南卓美防雷公司-防雷接地-防雷工程-重庆避雷针-避雷器-防雷检测-避雷带-避雷针-避雷塔、机房防雷、古建筑防雷等-山西防雷公司 | 鑫铭东办公家具一站式定制采购-深圳办公家具厂家直销 | 海南在线 海南一家| 私人别墅家庭影院系统_家庭影院音响_家庭影院装修设计公司-邦牛影音 | 不锈钢搅拌罐_高速搅拌罐厂家-无锡市凡格德化工装备科技有限公司 | 间甲酚,间甲酚厂家-山东祥东新材料| 胜为光纤光缆_光纤跳线_单模尾纤_光纤收发器_ODF光纤配线架厂家直销_北京睿创胜为科技有限公司 - 北京睿创胜为科技有限公司 | 钢衬四氟管道_钢衬四氟直管_聚四氟乙烯衬里管件_聚四氟乙烯衬里管道-沧州汇霖管道科技有限公司 | hdpe土工膜-防渗膜-复合土工膜-长丝土工布价格-厂家直销「恒阳新材料」-山东恒阳新材料有限公司 ETFE膜结构_PTFE膜结构_空间钢结构_膜结构_张拉膜_浙江萬豪空间结构集团有限公司 | 长沙广告公司|长沙广告制作设计|长沙led灯箱招牌制作找望城湖南锦蓝广告装饰工程有限公司 |