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>


分享到:


相關文章: