在 Cisco 设备上运行程序

网络工程 思科
2021-08-02 11:15:06

我使用来自 (www.paramiko.org) 的 paramiko 自动登录 Cisco 设备,然后检查日志、界面统计信息,以及我真正想要的任何内容。

当我登录设备时,我进入了管理 VRF。我没有互联网访问权限。

如果我想为客户测试一些东西,我需要做一些类似的事情

ping vrf CUSTOMER_A 8.8.8.8 source Vlan 250

我想做的是利用 python 来做类似的事情



来自 GitHub 的wget speedtest-cli

基本上模拟在客户终端设备上

然而,到目前为止,我一直无法接近。

有没有网友尝试过这样的事情?

一个

3个回答

在 Cisco Nexus 设备上 - 根据型号和它运行的 NXOS 版本 - 您可以访问 bash shell、Linux 容器和/或 Python 解释器(可以导入纯 Python 模块)。

例如对于 nexus3000 上的 NXOS 7.x:

关于 Bash

除了 NX-OS CLI,Cisco Nexus 3000 系列设备还支持访问 Bourne-Again SHell (Bash)。Bash 解释您输入的命令或从 shell 脚本读取的命令。使用 Bash 可以访问设备上的底层 Linux 系统并管理系统。

关于来宾外壳

除了底层 Linux 环境中的 NX-OS CLI 和 Bash 访问之外,Cisco Nexus 3000 系列设备还支持访问在 Linux 容器 (LXC) 中运行的分离执行空间,称为“Guest Shell”。

在 Guest Shell 中,网络管理员具有以下功能:

通过 Linux 网络接口访问网络。
访问 Cisco Nexus 3000 引导程序。
访问 Cisco Nexus 3000 易失性 tmpfs。
访问 Cisco Nexus 3000 CLI。
访问 Cisco NX-API REST。
安装和运行 python 脚本的能力。
能够安装和运行 32 位和 64 位 Linux 应用程序

.

来源:Cisco Nexus 3000 系列 NX-OS 可编程性指南,7.x 版

TTCP应该适合您的需求。好消息是它内置于操作系统中,因此您无需在路由器上下载任何脚本或应用程序。

您可以在两个路由器甚至路由器和 PC 之间使用它。除此之外,您还可以选择在 PC 端运行 TTCP、iperf、jperf 等。

请注意,路由器上的 TTCP 是进程交换的,因此它有可能使用 100% 的 CPU 资源。

您可以使用ttcp通过Cisco 的 EEM自动执行这些任务,并将结果通过电子邮件发送给您 - 每小时、每天、每周等等。这可能是最简单的。

您还可以在许多较新的 Cisco 机器上启动 linux VM。

如果您更愿意在远程机器上执行此操作,当然可以使用 Python 甚至 Microsoftsendkeys类。

这里的 Python 示例

Sendkeys示例在这里