众里寻他千百度,最好用的网络实验ZTP系统,我竟然自己写了一个!

关于SR-MPLS的实验,我们已经做了6个了(SR-MPLS跨域Option B架构全景实战),整体实验效果还算是比较理想。

但是,在最近的实验中(路由黑科技!如何让两个SR孤岛,无感跨越传统LDP核心网?),我们发现,各个实验的配置都不衔接。如果要一点一点undo掉,那简直是愚公移山,费时费力。如果要保存一个基础配置,实验之后直接不保存配置直接重启,又会触发设备重启 3 次自动重置配置的死穴。

正所谓,工欲善其事,必先利其器。为此,我们再次研究了华三的ZTP配置。对于支持配置TFTP服务器的路由器(拒绝手工搬砖!一文搞懂批量设备ZTP配置下发,让网络拓扑随心所欲!),我们可以将DHCP服务器、DNS服务器、TFTP服务器合三为一,实现ZTP的极简配置。对于不支持TFTP服务器的路由器(路由器不支持TFTP?那就用Ubuntu打造一个极简ZTP自动开局神器!),我们也可以单独部署TFTP服务器,实现设备的零接触配置上线。

后来我就想,既然我们都用上单独的Ubuntu服务器了,那为什么百尺竿头、更进一步,把它做成一个功能完整的ZTP可视化管理系统呢?

说干就干!敲键盘的火星子还没散去,我的ZTP系统V1.0版本就新鲜出炉了。今天就给大家亮个相。

系统在功能上可谓是麻雀虽小,五脏俱全,主要分为实验室、设备型号、上线日志这三大核心模块。

这个实验室就好比咱们网工的练兵场,跟咱们平时做实验的拓扑环境一一对应,用于统筹管理设备和配置信息。

在设备型号页面,我们可以管理不同型号设备的初始化配置信息。

单击【新增型号】,我们先添加一个H3C VSR8808-X设备,并把初始化配置贴进来。

初始化配置中,主要包含启用管理接口DHCP功能、启用远程管理、创建管理用户等操作。这就好比给设备打通了任督二脉,确保设备一开机,咱们就能直接远程接管。

按照这个思路,我们先添加两款设备。

回到实验室管理页面,我们单击【新建实验室】,把实验环境里的设备在这里也复刻一遍。

首先指定实验室名称,注意这里是个小细节:名称不能带空格。建好后,点击实验室图标进入详情页面。

新建的实验室默认是没有设备节点的,我们需要单击【添加节点】来新增设备节点。

在添加节点时,我们需要配置节点的主机名、IP地址、设备型号、SSH登录账户等信息。

添加完节点之后,我们需要单击【激活】按钮,系统会在底层将TFTP服务的工作目录无缝切换到该实验室对应的路径下。

注意,激活实验室之后,这就好比开弓没有回头箭,为了保证设备能够顺利上线,系统会锁定节点管理功能,此时是不能再修改节点信息的。

如果你突然想起来有配置需要微调,别慌,先单击一下【去激活】按钮解除锁定即可。

现在,见证奇迹的时刻到了!我们启动设备,让节点零接触自动上线。

完美!通过终端回显可以看到,3个节点行云流水般上线成功。

当然,系统后台还配了个千里眼,我们可以在设备上线日志页面,一目了然地查看设备的上线轨迹。

通过观察设备请求的文件,我们就能精确判断当前设备上线处于哪一阶段,出现问题也能及时排查。

到这里,我们只是完成了设备的空配置上线,还不满足我们连贯实验的需求。

举个例子,假如我们现在已经完成了3台设备在实验2中的复杂配置(骨干网平滑升级秘籍:让SR-MPLS与LDP和谐共存的底层互通实战),我们可以在实验室详情页面,单击【配置快照】按钮,来采集设备的配置快照,给当前的实验状态存个档。

采集快照时,我们可以指定快照名称,例如跟实验节奏相呼应的snap1、snap2等等。如果不配置,则会使用采集配置快照的时间戳进行保存。

采集完成之后,我们可以查看保存的配置文件信息。

接下来是真正的痛点杀手,假设我们的实验3跟实验2是不连贯的,但是我们在配置实验4时,又要基于实验2。这个时候,我们先去激活实验室,然后单击节点后面的【编辑配置】按钮。

在配置编辑页面,我们可以直接修改配置文件,也可以选择已经保存的配置文件,例如我们刚刚保存的配置快照。

选择好配置之后,单击【加载】按钮,载入配置文件的配置。确认没有问题,单击【保存配置】就可以同步到默认配置了。

正所谓小心驶得万年船,为了避免手抖误操作,我们在系统底层干掉了所有的直接覆盖写入,我们修改的每一笔配置,系统都会自动通过另存为的方式保留历史快照。

这样一来,我们就可以像玩单机游戏一样,丝滑无缝地读档、存档,随意切换所有的实验状态!更关键的是,这套自动化玩法完全无视了虚拟设备的授权状态限制,简直是咱们做多阶段网络实验的满分伴侣。

声明:来自铁军哥,仅代表创作者观点。链接:https://eyangzhen.com/8674.html

铁军哥的头像铁军哥

相关推荐

添加微信
添加微信
Ai学习群
返回顶部