Routing on Docker 系列之自动化

通过上一节的介绍,大家应该感受到了Docker的方便性和强大的功能。对于一个要求进步的网工,应该也不会止步于此。曾试想如果能自动构建起docker-compose脚本,那么是不是很爽。

今天我将分享使用Perl脚本来构建OSPF-EIGRP重分布的网络结构图。

网络结构图


Routing on Docker 系列之自动化

此网络结构有如下组成:

  • 2个ASBR路由器,分别运行着OSPF和EIGRP。环回接口不进行重分发。
  • 2个OSPF路由器,运行在Area0区域,环回接口地址重分发到OSPF路由表中。
  • 2个EIGRP路由器, 运行在AS1自治系统中,环回接口地址重分发到EIGRP路由表中。

代码说明

  • 由于ASBR路由器个数通常是固定的,所以我们采用静态指定的方式。
  • OSPF和EIGRP路由器的个数通过命令行的方式来指定或者在脚本中手工指定。
  • 代码中针对ASBR,OSPF,EIGRP路由器各有1个循环来配置其docker启动选项和配置文件。
  • 各路由器除了互联接口外还配置了loopback和eth1接口,便于扩展。
  • 各路由器支持的协议通过daemon文件来动态调整
  • 各路由器的基本配置(接口IP,路由协议)通过frr.conf来指定

具体的代码可以在我的GitHub上下载,下载地址如下:

<code>git  clone  https://github.com/paulmao1/Routing-on-Docker.git/<code>

创建拓扑并启动

<code>perl ospf-igrp.pl -n 2 > docker-compose.yml
docker-compose up/<code>

查看协议运行状态

<code>ASBR1# show ip eigrp neighbors

EIGRP neighbors for AS(1)

H Address Interface Hold Uptime SRTT RTO Q Seq
(sec) (ms) Cnt Num
0 192.168.110.253 eth0 10 0 0 2 0 4
0 192.168.110.102 eth0 11 0 0 2 0 4
0 192.168.110.101 eth0 14 0 0 2 0 4

asbr-r01# show ip ospf neighbor

Neighbor ID Pri State Dead Time Address Interface RXmtL RqstL DBsmL
172.16.11.1 1 Full/DROther 38.618s 192.168.100.101 eth2:192.168.100.253 1 0 0
172.16.12.1 1 Full/DROther 38.621s 192.168.100.102 eth2:192.168.100.253 1 0 0
172.16.32.1 1 Full/DR 38.618s 192.168.100.254 eth2:192.168.100.253 1 0 0

/<code>


分享到:


相關文章: