一、实验运行环境¶
1.1 主机操作系统¶
1.1.1 Window 10上运行Centos8(VMware虚拟机)¶
1.2 网络设备¶
1.2.1 Ensp模拟器上运行的华为三层交换机Quidway S5700-28C-HI¶
1.3 网络设备OS版本¶
1.3.1 华为IOS¶
1.4 Python版本¶
1.4.1 2¶
二、实验拓扑¶

三、实验所用地址¶
3.1 局域网IP段¶
3.1.1 0/24¶
3.2 运行Python的Centos主机¶
3.2.1 20/24¶
3.3 SW1¶
3.3.1 11/24¶
3.4 SW2¶
3.4.1 12/24¶
3.5 SW3¶
3.5.1 13/24¶
四、实验目的¶
4.1 通过Netmiko模块,分别登录交换机SW2,给交换机SW2的loopback1端口配置IP地址2.2.2.2/24¶
五、实验步骤¶
5.1 每台交换机提前配好SSH,这里不做过多描述,如有需要请参考SSH配置实验¶
5.2 配置互联地址,并进行Ping测试,这里不做演示¶
5.3 建议提前手工远程登录交换机进行测试¶
5.4 先在虚拟机下载Python第三方模块Netmiko¶
5.4.1 执行命令'pip3.8 install netmiko',安装完成如下¶

5.4.1.1 这里不用管红线框里的内容,只是提醒版本过低而已¶
5.4.2 执行命令'python3.8'进入交互模式,输入'import netmiko'进行导入测试¶

5.4.2.1 没报错说明下载Netmiko模块成功¶
5.5 在虚拟机上写Python脚本¶
5.5.1 执行命令'vi ssh_Netmiko.py'进入文本模式¶
5.5.1.1 切记:这里不要以ssh和Netmiko作为脚本名¶
5.5.2 输入'i'进行编辑模式,具体脚本如下¶
#通过import语句从Netmiko模块导入它的链接库函数ConnectHandler()
from netmiko import ConnectHandler
#创建一个名为SW2的字典,其中包含四个键值对,分别对应设备类型、登录地址、用户名、密码
SW2 = {
'device_type':'huawei',
'ip':'192.168.100.12',
'username':'python',
'password':'123'}
#调用函数ConnectHandler()用已创建的字典SW2进行SSH连接,并将其赋值给connect,其中**代表标识不可省略
connect = ConnectHandler(**SW2)
#打印登录成功的输出信息
print(f"Successfully connected to {SW2['ip']}.")
#创建一个名为config_commends的列表,并将命令作为元素依次执行
config_commends = ['int loop 1','ip add 2.2.2.2 24']
#调用ConnectHandler()中函数send_config_set()依次执行命令进行配置,并将配置过程打印出来
output = connect.send_config_set(config_commends)
print(output)
#调用ConnectHandler()中函数send_command()执行命令查看接口信息,并将回显内容打印出来
result = connect.send_command('dis ip int bri')
print(result)
5.5.3 按'esc'键退出文本模式,并执行命令':wq'保存文本内容并退出¶
5.5.4 执行命令'chmod +x ssh_Netmiko.py'给脚本加可执行权限¶
5.5.4.1 切记:没有可执行权限不能执行脚本!!!¶
5.5.5 执行命令'python3.8 ssh_Netmiko.py'来运行脚本,结果如下:¶

5.5.5.1 注:这里是因为第二次执行脚本,地址已存在所以会报错¶
5.5.6 手工登录交换机查看端口信息¶

5.5.7 到这里实验差不多就结束了¶
六、拓展:Windows主机如何下载第三方模块Netmiko¶
6.1 具体步骤如下:¶
6.1.1 先找到pip程序所在文件夹并复制其绝对路径,以'C:\Program Files\Python38\Scripts'举例¶
6.1.2 同时按'window键'和'R'并输入'cmd'进入命令行界面¶
6.1.3 执行命令'cd C:\Program Files\Python38\Scripts'进入pip程序所在文件夹中¶
6.1.4 执行命令'pip install netmiko'下载第三方模块Netmiko¶
6.1.5 这个时候如果发生报错,下载失败则更新pip版本即可¶
6.1.5.1 毕竟更新解万难,这里建议先更新版本¶
6.1.6 修改pip程序所在文件夹的权限,过程如下¶



6.1.6.1 注:这里已经打过对勾修改过权限¶
6.1.7 在当前视图下执行命令'python -m pip install --upgrade pip'进行更新版本¶

6.1.7.1 注:这是已更新完成后的截图¶
6.1.8 在当前视图下执行命令'pip install netmiko'下载第三方模块Netmiko¶
