实验背景
前面的几个实验是基于一批设备的类型、型号、版本等都一致的情况下进行的。咱们实际现网运维中,数通设备产品线广阔,同样的产品还有众多型号,即便同型号的设备还有不同的软件版本。这些差异造成相应的指令集可能有微小差别,甚至天差地别。本实验通过设备分组模拟现网批次设备间的差异,配合 sys.argv ,让不同组调用不同的预设脚本。
实验拓扑
【SSH 客户端】Win10 虚拟网卡,IP 为 192.168.11.2/24,桥接到云彩,Python所在。
【透明交换机】SW1(启动即可,无需配置,给云彩扩展端口使用)。
【SSH 操作对象】L3Sx,IP为 192.168.11.1x/24,IP 末位奇数分为组1,IP末位偶数为组2,模拟不同型号或版本的交换机。
实验目的
- 192.168.11.11、192.168.11.13、192.168.11.15归类为组1,模拟华为交换机版本:VRP (R) software, Version 5.110 (S5700 V200R001C00),进入 vlanif 1 ,执行 description Python_G1。
2. 192.168.11.12、192.168.11.14归类为组2,模拟华为交换机版本:VRP (R) software, Version 5.110 (S3700 V100R001C00),进入 vlanif 1 ,执行 description Python_G2。
查询华为设备版本可以用 display version
实验准备
在实验文件夹中,建立各组的 IP 清单列表及执行命令,如下图所示。
按照拓扑,每台交换机 vlan 1 都配置 vlanif 的 IP 作为管理,需做到能手工逐台登录,具体可参见前序文章,链接如下:
sysname L3SW1 aaa local-user python password cipher 123 interface Vlanif1 stelnet server enable user-interface con 0 |
实验前检查
- 按之前实验套路,对 L3S1 到 L3S5 逐一检查 PC 到 L3S1 至 L3S5 的网络连通性,如不通需要排网络,本文此处描述从简。
2. 检查各组每台交换机的 vlanif 是否有描述信息,实验前应如下图,如有冗余配置可手工删除掉。
Python 代码
代码
@弈心
大神在视频和书中都逐条做了详细解释,如需要请移步阅读,强烈建议看视频中的代码解释。这里我将其代码中的思科指令修改成华为指令,让实验能在华为设备来跑起来。推进到现在,华为指令被放在了 txt 文件中,不用在代码中了。这样代码就更简洁了哈,这可以说就是利用了模块化和封装思想吧。升华一下。咱们一步一步给自己制作些属于自己的轮子,然后有天咱们就可以装车出发,或者能用别人制造的轮子了。
|
实验过程
从 CMD 上进入目录执行。
实验结果检查
display cur int vlanif 1
组一