这篇文章适用于希望第一次使用 Python 进行网络自动化的网络工程师。此外,您可能会遇到需要配置设备或从多个网络设备收集数据的场景,这将是一项无聊的登录每个设备并手动执行的任务。因此,这篇博客——面向初学者的 Python 网络自动化将指导您设置投资组合以开始网络自动化。
Python 网络自动化的 3 个好处:
- 提高工作效率
- 减少人为错误的可能性
- 满足新的工作需求
这个时候,我将解释一个没有编程知识的网络工程师如何快速轻松地开始使用python网络自动化的每一步。
先决条件
安装了 GNS3 和 python 的 PC
脚步:
- 安装 GNS3
- 将 IOS 镜像导入 GNS3
- 在PC端设置loopback接口访问GNS3网络设备
- Python3 安装
- 将环回适配器映射到 GNS3 路由器
- 导入 netmiko
- 将python连接到gns3路由器
- 运行基本代码
安装 GNS3
- 从 - https://www.gns3.com/software/download下载 GNS3
下载适合您操作系统的文件
之后,继续下一步
点击下一步
请注意,到此阶段,安装已完成,现在您可以打开 GNS3 并命名您的项目。
但是,默认情况下,GNS3 没有任何路由器实例,因此我们必须将路由器操作系统添加到 GNS3。
将路由器映像导入 GNS3 设备
下面,GNS3中列出了支持的设备型号,在此基础上您可以从各自的供应商处获取图像,也可以谷歌并获取它。
最后但并非最不重要的是,我遇到了包含 Cisco IOS 集合的 http://tfr.org/cisco。试试这个网站,如果它有效。
例如,将 IOS 与设备模型连接:
例如,选择“新建映像”单选按钮,然后浏览驱动器上的路由器映像。
之后,点击下一步
为图像选择合适的平台。
单击“下一步”后,我们在此处完成了设备设置过程。
此外,新增的c7200可以在路由器列表中找到,将该设备拖入工作区然后运行它,您可以从其菜单中获得控制台窗口
请注意,现在我们的设备在 GNS3 中运行,但我们将无法从我们的 PC 访问该设备,因此我们必须在 PC 上创建一个环回接口并连接到 GNS3 路由器。
在PC上配置Loopback接口访问GNS3路由器
打开运行并输入 hdwwiz
继续确定
关注,点击下一步
选择网络适配器
此外,从左侧窗口中选择 Microsoft,然后选择 Microsoft KM-TEST Loopback Adapter。
单击完成
确实,现在您可以在 windows 网络连接中看到环回网络适配器。此外,还需要为环回网卡配置IP,以便GNS3网络设备可以连接到它。
现在我们将把这个环回网络适配器拉入 GNS3 并配置到它的连接。
将“云”实例从“所有设备”类别拖放到工作区
此外,右键单击云实例并选择配置 - 您将在以太网接口选项卡下找到接口列表,您可以在此处选择我们之前配置的环回接口。
Python网络自动化初学者设置
现在使用链接工具相互连接。请注意,这里路由器接口显示红色是因为接口处于关闭状态。
我已经重命名了云实例并标记了接口的 IP 地址以供您理解。
配置环回接口IP地址。
验证您可以通过网络连接到路由器
例如,在这里,在我的路由器中,我配置了 SSH 来访问路由器。
参考 - Enable SSH in Cisco IOS Router
从Download Python | Python.org下载 python
Python 安装很简单。确保为 python 设置了环境变量,只需在 windows 命令行中键入 python 即可验证这一点。
将 windows 命令行的当前工作目录更改为 python 安装文件的 Scripts 文件夹。
通过 cd 命令更改命令行目录。
cd <你的目录>
使用 PIP 工具安装 Netmiko 模块。
netmiko 是一个 Python 库,它通过 SSH 连接到网络设备。
netmiko 安装命令——pip install netmiko
注意:确保您有互联网连接
现在您可以将 Netmiko 导入您的 Python 程序。
Python网络自动化第一个程序
这是第一个程序
from netmiko import ConnectHandler # Module which enables SSH connection
platform = ‘cisco_ios’
host = input(‘Enter the HostName or IP Address: ‘)
username = input(‘Enter the Login UserName: ‘) # edit to reflect
password = input(‘Enter the password: ‘) # edit to reflect
device = ConnectHandler(device_type=platform, ip=host, username=username, password=password)
output = device.send_command(‘show running-config’)
print(output)
input()
程序输出——显示运行配置
概括
总之,这是一个基本的程序,在这里我们只是熟悉使用python连接到网络设备。我们将在以后的文章中介绍更多有趣的自动化代码。