eNSP中玩转Python自动化——解锁网工新姿势

Python自动化

  • 一、安装Paramiko模块
  • 二、搭建实验环境
    • 1、桥接电脑网卡
    • 2、配置交换机IP地址
      • 交换机配置
      • 测试ensp的交换机与电脑的连通性
      • 交换机配置SSH
      • Xshell验证
  • 三、Python脚本
    • 1、执行python脚本
    • 2、同步成功

一、安装Paramiko模块

首先安装Python3
然后安装pip解释器
最后安装Paramiko模块

Windows+R打开Cmd,输入命令:

pip3 install paramiko

eNSP中玩转Python自动化——解锁网工新姿势_第1张图片
进入python,导入 paramiko模块:

import paramiko

eNSP中玩转Python自动化——解锁网工新姿势_第2张图片

二、搭建实验环境

1、桥接电脑网卡

eNSP中玩转Python自动化——解锁网工新姿势_第3张图片

2、配置交换机IP地址

eNSP中玩转Python自动化——解锁网工新姿势_第4张图片

交换机配置

<Huawei>sys
[Huawei]sys SW1
[SW1]
[SW1]vlan 10
[SW1-vlan10]qu
[SW1]
[SW1]int Vlanif 10
[SW1-Vlanif10]ip add 192.168.1.254 24
[SW1]int g0/0/1
[SW1-GigabitEthernet0/0/1]port link-type access
[SW1-GigabitEthernet0/0/1]port default  vlan  10

测试ensp的交换机与电脑的连通性

eNSP中玩转Python自动化——解锁网工新姿势_第5张图片
eNSP中玩转Python自动化——解锁网工新姿势_第6张图片

交换机配置SSH

[SW1]dsa local-key-pair create 
Info: The key name will be: SW1_Host_DSA.
Info: The key modulus can be any one of the following : 512, 1024, 2048.
Info: If the key modulus is greater than 512, it may take a few minutes.
Please input the modulus [default=512]:2048
Info: Generating keys...

[SW1]user-interface  vty  0 4
[SW1-ui-vty0-4]authentication-mode aaa
[SW1-ui-vty0-4]protocol inbound ssh 
[SW1-ui-vty0-4]

[SW1]aaa
[SW1-aaa]local-user huawei password cipher huawei@123
[SW1-aaa]local-user huawei privilege level 15
[SW1-aaa]local-user huawei service-type ssh
[SW1-aaa]

[SW1]ssh user  huawei authentication-type password
[SW1]ssh user huawei service-type stelnet
[SW1]stelnet server enable 

Xshell验证

eNSP中玩转Python自动化——解锁网工新姿势_第7张图片

eNSP中玩转Python自动化——解锁网工新姿势_第8张图片
eNSP中玩转Python自动化——解锁网工新姿势_第9张图片
eNSP中玩转Python自动化——解锁网工新姿势_第10张图片
登录成功

三、Python脚本

import paramiko
import time

ip = "192.168.1.254"
user = "huawei"
pw = "huawei@123"

#欢迎关注喜欢华为的李工
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname=ip, username=user , password=pw)


print("恭喜您成功登录到ensp上的交换机了!" , ip)

#连接成功后,调用invoke_shell()方法来唤醒shell,也就是华为系统命令行,同时把它赋值给command,方便后续调用。
command = ssh.invoke_shell()

#向设备发送命令,需要执行的命令。
command.send("system\n")
command.send("vlan 20\n")
command.send("quit \n")
command.send("int vlan 20 \n")
command.send("ip add 192.168.20.1 24 \n")
command.send("vlan 30\n")
command.send("quit \n")
command.send("int vlan 30 \n")
command.send("ip add 192.168.30.1 24 \n")
command.send("vlan 40\n")
command.send("quit \n")
command.send("int vlan 40 \n")
command.send("ip add 192.168.40.1 24 \n")
command.send("vlan 50\n")
command.send("quit \n")
command.send("int vlan 50 \n")
command.send("ip add 192.168.50.1 24 \n")
command.send("vlan 60\n")
command.send("quit \n")
command.send("int vlan 60 \n")
command.send("ip add 192.168.60.1 24 \n")
command.send("quit \n")
#欢迎关注喜欢华为的李工
#使用sleep函数,让脚步执行后休息2s,再回显内容。65535是回显多少个字符
time.sleep(2)
output = command.recv(65535)
print(output.decode("ascii"))

#配置完后,用close方法退出ssh  
ssh.close()     

在执行前还没有vlanif 20、vlanif 30、vlanif 40、vlanif 50、vlanif 60的接口及ip地址
eNSP中玩转Python自动化——解锁网工新姿势_第11张图片

1、执行python脚本

eNSP中玩转Python自动化——解锁网工新姿势_第12张图片
eNSP中玩转Python自动化——解锁网工新姿势_第13张图片
脚本执行成功

2、同步成功

eNSP中玩转Python自动化——解锁网工新姿势_第14张图片

你可能感兴趣的:(eNSP,Python,交换机,ssh,网络)