ズンドコキヨシをルータで実現してみました。
@webdevjpさんの下記のツイートに触発され、Ciscoルータで実現してみました。
ズンドコをtracerouteで表現しました(メディアアート) pic.twitter.com/1Bc7DDfGXi
— Web猫 (@webdevjp) 2016年3月22日
ズンドコキヨシについては、ズンドコキヨシまとめを参照してください。
ズンドコルータ
「ズン」ルータと「ドコ」ルータでネットワークを構築し、経由するルータによってズンドコキヨシを実現します。実現にはルータが大量に必要なため、Ciscoの仮想ルータ環境を構築するCisco VIRLを用いて、合計14台の仮想ルータと検証用ホストを構築しました。
構築したネットワークは下図になります。最初にstartルータと最後にfinishルータがあり、その間にズンドコルータとキヨシルータとfailedルータで構成しています。ズンドコキヨシの条件に一致した時にはキヨシルータを経由し、それ以外はfailedルータを経由します。
方法
ルータで宛先に複数の経路がありルーティングプロトコルのOSFPを使用している場合、ECMPにより分散してトラフィックが流れます。このまま構築すると、ズンドコキヨシの条件に一致しなくても、キヨシルータを経由する可能性があります。そのため、ソースルーティングにより予め経由するルータを指定します。ソースルーティングはOSPFとMPLS-TEで実現します。
5段のズンドコルータを経由するパスは32パス(2の5乗)あるため、全32パスをstartルータで定義します。32パス中、「zun1 - zun2 - zun3 - zun4 - doko5」を経由するパスのみキヨシルータを経由し、それ以外はfailedルータを経由するよう設定します。
パケットがstartルータを経由する場合、ECMPにより32パスから1パスが経路として選定され、指定したルータを経由してfinishまで到達します。
結果
下記の通りhostからtracerouteすることで、特定パケットのみキヨシルータを通り、それ以外はfailedルータを経由します。
tracerouteの実行結果にルータ名を表示するため、hostの/etc/hostsにIPアドレスとホスト名を記述しています。
tracerouteの実行時にホップごとに異なるパスを経由することを回避するため、tracerouteのオプションで、TCPの指定と宛先ポートを指定して、プローブパケットの宛先情報が変化しないよう固定しています。「-T」でTCPプロトコル、「-p」で宛先ポートを指定しています。これにより、tracerouteのプローブパケットの宛先情報がプローブパケットごとに変化しないため、同じパスを経由するようになります。
設定
CiscoルータのMPLS-TE設定を抜粋しました。1ルータまるごとのコンフィグは付録にあります。
startルータのみ、ソースルーティングのために、特別な設定をしています。
! プローブパケットにTCPを利用したtraceroute時に宛先ポート番号ごとにロードバランスするよう設定
ip cef load-sharing algorithm include-ports destination
!
! トラフィックが32パスに分散されるよう設定
router ospf 1
maximum-paths 32
!
! ソースルーティング用に32パス分のMPLS-TEの定義を実施
! ip explicit-pathとトンネルインタフェースをパスごとに設定
!
! ズンドコキヨシの条件に一致しないパス
ip explicit-path name Tunnel100 enable
next-address 192.168.0.11 ! zun1ルータ
next-address 192.168.0.12 ! zun2ルータ
next-address 192.168.0.13 ! zun3ルータ
next-address 192.168.0.14 ! zun4ルータ
next-address 192.168.0.15 ! zun5ルータ
next-address 192.168.0.31 ! failedルータ
interface Tunnel100
ip unnumbered Loopback0
tunnel mode mpls traffic-eng
tunnel destination 192.168.0.2 ! finishルータ
tunnel mpls traffic-eng autoroute announce
tunnel mpls traffic-eng path-option 1 explicit name Tunnel100
tunnel mpls traffic-eng record-route
!
! ズンドコキヨシの条件に一致するパス
ip explicit-path name Tunnel101 enable
next-address 192.168.0.11 ! zun1ルータ
next-address 192.168.0.12 ! zun2ルータ
next-address 192.168.0.13 ! zun3ルータ
next-address 192.168.0.14 ! zun4ルータ
next-address 192.168.0.25 ! doko5ルータ
next-address 192.168.0.32 ! kiyoshiルータ
interface Tunnel101
ip unnumbered Loopback0
tunnel mode mpls traffic-eng
tunnel destination 192.168.0.2 ! finishルータ
tunnel mpls traffic-eng autoroute announce
tunnel mpls traffic-eng path-option 1 explicit name Tunnel101
tunnel mpls traffic-eng record-route
状態
startルータでshow ip routeの実行結果です。32パスでECMPしていることが確認できます。
start#show ip route 192.168.0.2
Routing entry for 192.168.0.2/32
Known via "ospf 1", distance 110, metric 8, type intra area
Last update from 192.168.0.2 on Tunnel122, 02:23:58 ago
Routing Descriptor Blocks:
192.168.0.2, from 192.168.0.2, 02:23:58 ago, via Tunnel122
Route metric is 8, traffic share count is 1
192.168.0.2, from 192.168.0.2, 02:23:58 ago, via Tunnel123
Route metric is 8, traffic share count is 1
192.168.0.2, from 192.168.0.2, 02:23:58 ago, via Tunnel124
Route metric is 8, traffic share count is 1
192.168.0.2, from 192.168.0.2, 02:23:58 ago, via Tunnel125
Route metric is 8, traffic share count is 1
192.168.0.2, from 192.168.0.2, 02:23:58 ago, via Tunnel126
Route metric is 8, traffic share count is 1
192.168.0.2, from 192.168.0.2, 02:23:58 ago, via Tunnel127
Route metric is 8, traffic share count is 1
192.168.0.2, from 192.168.0.2, 02:23:58 ago, via Tunnel128
Route metric is 8, traffic share count is 1
192.168.0.2, from 192.168.0.2, 02:23:58 ago, via Tunnel129
Route metric is 8, traffic share count is 1
192.168.0.2, from 192.168.0.2, 02:23:58 ago, via Tunnel130
Route metric is 8, traffic share count is 1
192.168.0.2, from 192.168.0.2, 02:23:58 ago, via Tunnel131
Route metric is 8, traffic share count is 1
192.168.0.2, from 192.168.0.2, 02:24:08 ago, via Tunnel113
Route metric is 8, traffic share count is 1
192.168.0.2, from 192.168.0.2, 02:24:08 ago, via Tunnel114
Route metric is 8, traffic share count is 1
192.168.0.2, from 192.168.0.2, 02:24:08 ago, via Tunnel115
Route metric is 8, traffic share count is 1
192.168.0.2, from 192.168.0.2, 02:24:08 ago, via Tunnel116
Route metric is 8, traffic share count is 1
192.168.0.2, from 192.168.0.2, 02:24:08 ago, via Tunnel117
Route metric is 8, traffic share count is 1
192.168.0.2, from 192.168.0.2, 02:24:08 ago, via Tunnel118
Route metric is 8, traffic share count is 1
192.168.0.2, from 192.168.0.2, 02:24:08 ago, via Tunnel119
Route metric is 8, traffic share count is 1
192.168.0.2, from 192.168.0.2, 02:24:08 ago, via Tunnel120
Route metric is 8, traffic share count is 1
192.168.0.2, from 192.168.0.2, 02:24:08 ago, via Tunnel121
Route metric is 8, traffic share count is 1
192.168.0.2, from 192.168.0.2, 02:24:18 ago, via Tunnel108
Route metric is 8, traffic share count is 1
192.168.0.2, from 192.168.0.2, 02:24:18 ago, via Tunnel109
Route metric is 8, traffic share count is 1
192.168.0.2, from 192.168.0.2, 02:24:18 ago, via Tunnel110
Route metric is 8, traffic share count is 1
192.168.0.2, from 192.168.0.2, 02:24:18 ago, via Tunnel111
Route metric is 8, traffic share count is 1
192.168.0.2, from 192.168.0.2, 02:24:18 ago, via Tunnel112
Route metric is 8, traffic share count is 1
192.168.0.2, from 192.168.0.2, 02:24:28 ago, via Tunnel100
Route metric is 8, traffic share count is 1
192.168.0.2, from 192.168.0.2, 02:24:28 ago, via Tunnel101
Route metric is 8, traffic share count is 1
192.168.0.2, from 192.168.0.2, 02:24:28 ago, via Tunnel102
Route metric is 8, traffic share count is 1
192.168.0.2, from 192.168.0.2, 02:24:28 ago, via Tunnel103
Route metric is 8, traffic share count is 1
192.168.0.2, from 192.168.0.2, 02:24:28 ago, via Tunnel104
Route metric is 8, traffic share count is 1
192.168.0.2, from 192.168.0.2, 02:24:28 ago, via Tunnel105
Route metric is 8, traffic share count is 1
192.168.0.2, from 192.168.0.2, 02:24:28 ago, via Tunnel106
Route metric is 8, traffic share count is 1
* 192.168.0.2, from 192.168.0.2, 02:24:28 ago, via Tunnel107
Route metric is 8, traffic share count is 1
start#
MPLS-TEで生成したトンネルの結果です。ip explicit-pathsで経由するルータを指定し、MPLS-TE Tunnelにそのパス情報を使うよう設定していることが確認できます。
start#show ip explicit-paths name Tunnel101
PATH Tunnel101 (strict source route, path complete, generation 16)
1: next-address 192.168.0.11
2: next-address 192.168.0.12
3: next-address 192.168.0.13
4: next-address 192.168.0.14
5: next-address 192.168.0.25
6: next-address 192.168.0.32
start#show mpls traffic-eng tunnels Tunnel101
Name: start_t101 (Tunnel101) Destination: 192.168.0.2
Status:
Admin: up Oper: up Path: valid Signalling: connected
path option 1, type explicit Tunnel101 (Basis for Setup, path weight 7)
Config Parameters:
Bandwidth: 0 kbps (Global) Priority: 7 7 Affinity: 0x0/0xFFFF
Metric Type: TE (default)
AutoRoute: enabled LockDown: disabled Loadshare: 0 bw-based
auto-bw: disabled
Active Path Option Parameters:
State: explicit path option 1 is active
BandwidthOverride: disabled LockDown: disabled Verbatim: disabled
InLabel : -
OutLabel : GigabitEthernet0/1, 51
RSVP Signalling Info:
Src 192.168.0.1, Dst 192.168.0.2, Tun_Id 101, Tun_Instance 1
RSVP Path Info:
My Address: 10.0.0.17
Explicit Route: 10.0.0.18 10.0.0.49 10.0.0.50 10.0.0.65
10.0.0.66 10.0.0.73 10.0.0.74 10.0.0.90
10.0.0.89 10.0.0.25 10.0.0.26 10.0.0.10
10.0.0.9 192.168.0.2
Record Route:
Tspec: ave rate=0 kbits, burst=1000 bytes, peak rate=0 kbits
RSVP Resv Info:
Record Route: 10.0.0.49 10.0.0.65 10.0.0.73 10.0.0.90
10.0.0.25 10.0.0.10 10.0.0.9
Fspec: ave rate=0 kbits, burst=1000 bytes, peak rate=0 kbits
Shortest Unconstrained Path Info:
Path Weight: 7 (TE)
Explicit Route: 10.0.0.22 10.0.0.21 10.0.0.41 10.0.0.42
10.0.0.54 10.0.0.53 10.0.0.69 10.0.0.70
10.0.0.93 10.0.0.94 10.0.0.25 10.0.0.26
10.0.0.10 10.0.0.9 192.168.0.2
History:
Tunnel:
Time since created: 2 hours, 27 minutes
Time since path change: 2 hours, 27 minutes
Number of LSP IDs (Tun_Instances) used: 1
Current LSP:
Uptime: 2 hours, 27 minutes
start#
付録
パス生成スクリプト
startルータで32パスを定義するため、Rubyでスクリプト作成しました。下記を実行することでMPLS-TEの定義用のコンフィグが生成されます。
# IPアドレスの4オクテット目
zun_row = [11, 12, 13, 14, 15, 31]
doko_row = [21, 22, 23, 24, 25, 32]
row = zun_row.zip(doko_row)
# => [[11, 21], [12, 22], [13, 23], [14, 24], [15, 25], [31, 32]]
# 2進数で32パターンを定義
# 0はズン列、1はドコ列を経由するよう設定
kiyoshi_path = '00001'
paths = []
32.times do |i|
path = '%05b' % i
# 00001(zun1 zun2 zun3 zun4 dok5)の場合、kiyoshiルータを経由
path += kiyoshi_path == path ? '1' : '0'
paths << path
end
# 32パターンのMPLS-TEトンネルを生成
paths.each_with_index do |path, i|
iface = 'Tunnel%d' % (100 + i)
puts 'ip explicit-path name %s' % iface
# 中継するルータを定義
path.chars.each_with_index do |c, j|
puts ' next-address 192.168.0.%d ' % row[j][c.to_i]
end
puts 'interface %s' % iface
puts ' ip unnumbered Loopback0'
puts ' tunnel destination 192.168.0.2'
puts ' tunnel mode mpls traffic-eng'
puts ' tunnel mpls traffic-eng path-option 1 explicit name %s' % iface
puts ' tunnel mpls traffic-eng record-route'
puts ' tunnel mpls traffic-eng autoroute announce'
puts
end
$ ruby create_path.rb
ip explicit-path name Tunnel100
next-address 192.168.0.11
next-address 192.168.0.12
next-address 192.168.0.13
next-address 192.168.0.14
next-address 192.168.0.15
next-address 192.168.0.31
interface Tunnel100
ip unnumbered Loopback0
tunnel destination 192.168.0.2
tunnel mode mpls traffic-eng
tunnel mpls traffic-eng path-option 1 explicit name Tunnel100
tunnel mpls traffic-eng record-route
tunnel mpls traffic-eng autoroute announce
ip explicit-path name Tunnel101
next-address 192.168.0.11
next-address 192.168.0.12
next-address 192.168.0.13
next-address 192.168.0.14
next-address 192.168.0.25
next-address 192.168.0.32
interface Tunnel101
ip unnumbered Loopback0
tunnel destination 192.168.0.2
tunnel mode mpls traffic-eng
tunnel mpls traffic-eng path-option 1 explicit name Tunnel101
tunnel mpls traffic-eng record-route
tunnel mpls traffic-eng autoroute announce
〜略〜
コンフィグ
VIRLに付属のツール「AutoNetkit」で生成したコンフィグに必要なコンフィグを追加しています。コンフィグが長いため、startルータとzun1ルータのみ掲載します。
startルータ
start#show run
Building configuration...
Current configuration : 19542 bytes
!
! Last configuration change at 11:33:50 UTC Fri Mar 25 2016
!
version 15.6
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname start
!
boot-start-marker
boot-end-marker
!
!
vrf definition Mgmt-intf
!
address-family ipv4
exit-address-family
!
address-family ipv6
exit-address-family
!
enable password cisco
!
no aaa new-model
ethernet lmi ce
!
!
!
mmi polling-interval 60
no mmi auto-configure
no mmi pvc
mmi snmp-timeout 180
!
!
!
!
!
!
!
!
!
!
!
no ip domain lookup
ip domain name virl.info
ip cef
ip cef load-sharing algorithm include-ports destination
ipv6 unicast-routing
ipv6 cef
!
multilink bundle-name authenticated
mpls traffic-eng tunnels
!
!
!
!
username cisco privilege 15 secret 5 $1$m4LM$omj4gj9dA2PFBXyGxz.Og1
!
redundancy
!
no cdp run
!
!
!
!
!
!
!
!
!
!
!
!
!
!
interface Loopback0
description Loopback
ip address 192.168.0.1 255.255.255.255
!
interface Tunnel100
ip unnumbered Loopback0
tunnel mode mpls traffic-eng
tunnel destination 192.168.0.2
tunnel mpls traffic-eng autoroute announce
tunnel mpls traffic-eng path-option 1 explicit name Tunnel100
tunnel mpls traffic-eng record-route
no routing dynamic
!
interface Tunnel101
ip unnumbered Loopback0
tunnel mode mpls traffic-eng
tunnel destination 192.168.0.2
tunnel mpls traffic-eng autoroute announce
tunnel mpls traffic-eng path-option 1 explicit name Tunnel101
tunnel mpls traffic-eng record-route
no routing dynamic
!
interface Tunnel102
ip unnumbered Loopback0
tunnel mode mpls traffic-eng
tunnel destination 192.168.0.2
tunnel mpls traffic-eng autoroute announce
tunnel mpls traffic-eng path-option 1 explicit name Tunnel102
tunnel mpls traffic-eng record-route
no routing dynamic
!
interface Tunnel103
ip unnumbered Loopback0
tunnel mode mpls traffic-eng
tunnel destination 192.168.0.2
tunnel mpls traffic-eng autoroute announce
tunnel mpls traffic-eng path-option 1 explicit name Tunnel103
tunnel mpls traffic-eng record-route
no routing dynamic
!
interface Tunnel104
ip unnumbered Loopback0
tunnel mode mpls traffic-eng
tunnel destination 192.168.0.2
tunnel mpls traffic-eng autoroute announce
tunnel mpls traffic-eng path-option 1 explicit name Tunnel104
tunnel mpls traffic-eng record-route
no routing dynamic
!
interface Tunnel105
ip unnumbered Loopback0
tunnel mode mpls traffic-eng
tunnel destination 192.168.0.2
tunnel mpls traffic-eng autoroute announce
tunnel mpls traffic-eng path-option 1 explicit name Tunnel105
tunnel mpls traffic-eng record-route
no routing dynamic
!
interface Tunnel106
ip unnumbered Loopback0
tunnel mode mpls traffic-eng
tunnel destination 192.168.0.2
tunnel mpls traffic-eng autoroute announce
tunnel mpls traffic-eng path-option 1 explicit name Tunnel106
tunnel mpls traffic-eng record-route
no routing dynamic
!
interface Tunnel107
ip unnumbered Loopback0
tunnel mode mpls traffic-eng
tunnel destination 192.168.0.2
tunnel mpls traffic-eng autoroute announce
tunnel mpls traffic-eng path-option 1 explicit name Tunnel107
tunnel mpls traffic-eng record-route
no routing dynamic
!
interface Tunnel108
ip unnumbered Loopback0
tunnel mode mpls traffic-eng
tunnel destination 192.168.0.2
tunnel mpls traffic-eng autoroute announce
tunnel mpls traffic-eng path-option 1 explicit name Tunnel108
tunnel mpls traffic-eng record-route
no routing dynamic
!
interface Tunnel109
ip unnumbered Loopback0
tunnel mode mpls traffic-eng
tunnel destination 192.168.0.2
tunnel mpls traffic-eng autoroute announce
tunnel mpls traffic-eng path-option 1 explicit name Tunnel109
tunnel mpls traffic-eng record-route
no routing dynamic
!
interface Tunnel110
ip unnumbered Loopback0
tunnel mode mpls traffic-eng
tunnel destination 192.168.0.2
tunnel mpls traffic-eng autoroute announce
tunnel mpls traffic-eng path-option 1 explicit name Tunnel110
tunnel mpls traffic-eng record-route
no routing dynamic
!
interface Tunnel111
ip unnumbered Loopback0
tunnel mode mpls traffic-eng
tunnel destination 192.168.0.2
tunnel mpls traffic-eng autoroute announce
tunnel mpls traffic-eng path-option 1 explicit name Tunnel111
tunnel mpls traffic-eng record-route
no routing dynamic
!
interface Tunnel112
ip unnumbered Loopback0
tunnel mode mpls traffic-eng
tunnel destination 192.168.0.2
tunnel mpls traffic-eng autoroute announce
tunnel mpls traffic-eng path-option 1 explicit name Tunnel112
tunnel mpls traffic-eng record-route
no routing dynamic
!
interface Tunnel113
ip unnumbered Loopback0
tunnel mode mpls traffic-eng
tunnel destination 192.168.0.2
tunnel mpls traffic-eng autoroute announce
tunnel mpls traffic-eng path-option 1 explicit name Tunnel113
tunnel mpls traffic-eng record-route
no routing dynamic
!
interface Tunnel114
ip unnumbered Loopback0
tunnel mode mpls traffic-eng
tunnel destination 192.168.0.2
tunnel mpls traffic-eng autoroute announce
tunnel mpls traffic-eng path-option 1 explicit name Tunnel114
tunnel mpls traffic-eng record-route
no routing dynamic
!
interface Tunnel115
ip unnumbered Loopback0
tunnel mode mpls traffic-eng
tunnel destination 192.168.0.2
tunnel mpls traffic-eng autoroute announce
tunnel mpls traffic-eng path-option 1 explicit name Tunnel115
tunnel mpls traffic-eng record-route
no routing dynamic
!
interface Tunnel116
ip unnumbered Loopback0
tunnel mode mpls traffic-eng
tunnel destination 192.168.0.2
tunnel mpls traffic-eng autoroute announce
tunnel mpls traffic-eng path-option 1 explicit name Tunnel116
tunnel mpls traffic-eng record-route
no routing dynamic
!
interface Tunnel117
ip unnumbered Loopback0
tunnel mode mpls traffic-eng
tunnel destination 192.168.0.2
tunnel mpls traffic-eng autoroute announce
tunnel mpls traffic-eng path-option 1 explicit name Tunnel117
tunnel mpls traffic-eng record-route
no routing dynamic
!
interface Tunnel118
ip unnumbered Loopback0
tunnel mode mpls traffic-eng
tunnel destination 192.168.0.2
tunnel mpls traffic-eng autoroute announce
tunnel mpls traffic-eng path-option 1 explicit name Tunnel118
tunnel mpls traffic-eng record-route
no routing dynamic
!
interface Tunnel119
ip unnumbered Loopback0
tunnel mode mpls traffic-eng
tunnel destination 192.168.0.2
tunnel mpls traffic-eng autoroute announce
tunnel mpls traffic-eng path-option 1 explicit name Tunnel119
tunnel mpls traffic-eng record-route
no routing dynamic
!
interface Tunnel120
ip unnumbered Loopback0
tunnel mode mpls traffic-eng
tunnel destination 192.168.0.2
tunnel mpls traffic-eng autoroute announce
tunnel mpls traffic-eng path-option 1 explicit name Tunnel120
tunnel mpls traffic-eng record-route
no routing dynamic
!
interface Tunnel121
ip unnumbered Loopback0
tunnel mode mpls traffic-eng
tunnel destination 192.168.0.2
tunnel mpls traffic-eng autoroute announce
tunnel mpls traffic-eng path-option 1 explicit name Tunnel121
tunnel mpls traffic-eng record-route
no routing dynamic
!
interface Tunnel122
ip unnumbered Loopback0
tunnel mode mpls traffic-eng
tunnel destination 192.168.0.2
tunnel mpls traffic-eng autoroute announce
tunnel mpls traffic-eng path-option 1 explicit name Tunnel122
tunnel mpls traffic-eng record-route
no routing dynamic
!
interface Tunnel123
ip unnumbered Loopback0
tunnel mode mpls traffic-eng
tunnel destination 192.168.0.2
tunnel mpls traffic-eng autoroute announce
tunnel mpls traffic-eng path-option 1 explicit name Tunnel123
tunnel mpls traffic-eng record-route
no routing dynamic
!
interface Tunnel124
ip unnumbered Loopback0
tunnel mode mpls traffic-eng
tunnel destination 192.168.0.2
tunnel mpls traffic-eng autoroute announce
tunnel mpls traffic-eng path-option 1 explicit name Tunnel124
tunnel mpls traffic-eng record-route
no routing dynamic
!
interface Tunnel125
ip unnumbered Loopback0
tunnel mode mpls traffic-eng
tunnel destination 192.168.0.2
tunnel mpls traffic-eng autoroute announce
tunnel mpls traffic-eng path-option 1 explicit name Tunnel125
tunnel mpls traffic-eng record-route
no routing dynamic
!
interface Tunnel126
ip unnumbered Loopback0
tunnel mode mpls traffic-eng
tunnel destination 192.168.0.2
tunnel mpls traffic-eng autoroute announce
tunnel mpls traffic-eng path-option 1 explicit name Tunnel126
tunnel mpls traffic-eng record-route
no routing dynamic
!
interface Tunnel127
ip unnumbered Loopback0
tunnel mode mpls traffic-eng
tunnel destination 192.168.0.2
tunnel mpls traffic-eng autoroute announce
tunnel mpls traffic-eng path-option 1 explicit name Tunnel127
tunnel mpls traffic-eng record-route
no routing dynamic
!
interface Tunnel128
ip unnumbered Loopback0
tunnel mode mpls traffic-eng
tunnel destination 192.168.0.2
tunnel mpls traffic-eng autoroute announce
tunnel mpls traffic-eng path-option 1 explicit name Tunnel128
tunnel mpls traffic-eng record-route
no routing dynamic
!
interface Tunnel129
ip unnumbered Loopback0
tunnel mode mpls traffic-eng
tunnel destination 192.168.0.2
tunnel mpls traffic-eng autoroute announce
tunnel mpls traffic-eng path-option 1 explicit name Tunnel129
tunnel mpls traffic-eng record-route
no routing dynamic
!
interface Tunnel130
ip unnumbered Loopback0
tunnel mode mpls traffic-eng
tunnel destination 192.168.0.2
tunnel mpls traffic-eng autoroute announce
tunnel mpls traffic-eng path-option 1 explicit name Tunnel130
tunnel mpls traffic-eng record-route
no routing dynamic
!
interface Tunnel131
ip unnumbered Loopback0
tunnel mode mpls traffic-eng
tunnel destination 192.168.0.2
tunnel mpls traffic-eng autoroute announce
tunnel mpls traffic-eng path-option 1 explicit name Tunnel131
tunnel mpls traffic-eng record-route
no routing dynamic
!
interface GigabitEthernet0/0
description OOB Management
vrf forwarding Mgmt-intf
ip address 10.255.0.212 255.255.0.0
duplex full
speed auto
media-type rj45
!
interface GigabitEthernet0/1
description to zun1
ip address 10.0.0.17 255.255.255.252
ip ospf cost 1
duplex full
speed auto
media-type rj45
mpls traffic-eng tunnels
mpls ip
ip rsvp bandwidth percent 100
!
interface GigabitEthernet0/2
description to doko1
ip address 10.0.0.22 255.255.255.252
ip ospf cost 1
duplex full
speed auto
media-type rj45
mpls traffic-eng tunnels
mpls ip
ip rsvp bandwidth percent 100
!
interface GigabitEthernet0/3
description to host
ip address 10.0.0.5 255.255.255.252
ip ospf cost 1
duplex full
speed auto
media-type rj45
!
router ospf 1
mpls traffic-eng router-id Loopback0
mpls traffic-eng area 0
passive-interface Loopback0
network 10.0.0.4 0.0.0.3 area 0
network 10.0.0.16 0.0.0.3 area 0
network 10.0.0.20 0.0.0.3 area 0
network 192.168.0.1 0.0.0.0 area 0
maximum-paths 32
!
router bgp 1
bgp router-id 192.168.0.1
bgp log-neighbor-changes
!
address-family ipv4
network 192.168.0.1 mask 255.255.255.255
exit-address-family
!
ip forward-protocol nd
!
!
no ip http server
no ip http secure-server
!
ip explicit-path name Tunnel100 enable
next-address 192.168.0.11
next-address 192.168.0.12
next-address 192.168.0.13
next-address 192.168.0.14
next-address 192.168.0.15
next-address 192.168.0.31
!
ip explicit-path name Tunnel101 enable
next-address 192.168.0.11
next-address 192.168.0.12
next-address 192.168.0.13
next-address 192.168.0.14
next-address 192.168.0.25
next-address 192.168.0.32
!
ip explicit-path name Tunnel102 enable
next-address 192.168.0.11
next-address 192.168.0.12
next-address 192.168.0.13
next-address 192.168.0.24
next-address 192.168.0.15
next-address 192.168.0.31
!
ip explicit-path name Tunnel103 enable
next-address 192.168.0.11
next-address 192.168.0.12
next-address 192.168.0.13
next-address 192.168.0.24
next-address 192.168.0.25
next-address 192.168.0.31
!
ip explicit-path name Tunnel104 enable
next-address 192.168.0.11
next-address 192.168.0.12
next-address 192.168.0.23
next-address 192.168.0.14
next-address 192.168.0.15
next-address 192.168.0.31
!
ip explicit-path name Tunnel105 enable
next-address 192.168.0.11
next-address 192.168.0.12
next-address 192.168.0.23
next-address 192.168.0.14
next-address 192.168.0.25
next-address 192.168.0.31
!
ip explicit-path name Tunnel106 enable
next-address 192.168.0.11
next-address 192.168.0.12
next-address 192.168.0.23
next-address 192.168.0.24
next-address 192.168.0.15
next-address 192.168.0.31
!
ip explicit-path name Tunnel107 enable
next-address 192.168.0.11
next-address 192.168.0.12
next-address 192.168.0.23
next-address 192.168.0.24
next-address 192.168.0.25
next-address 192.168.0.31
!
ip explicit-path name Tunnel108 enable
next-address 192.168.0.11
next-address 192.168.0.22
next-address 192.168.0.13
next-address 192.168.0.14
next-address 192.168.0.15
next-address 192.168.0.31
!
ip explicit-path name Tunnel109 enable
next-address 192.168.0.11
next-address 192.168.0.22
next-address 192.168.0.13
next-address 192.168.0.14
next-address 192.168.0.25
next-address 192.168.0.31
!
ip explicit-path name Tunnel110 enable
next-address 192.168.0.11
next-address 192.168.0.22
next-address 192.168.0.13
next-address 192.168.0.24
next-address 192.168.0.15
next-address 192.168.0.31
!
ip explicit-path name Tunnel111 enable
next-address 192.168.0.11
next-address 192.168.0.22
next-address 192.168.0.13
next-address 192.168.0.24
next-address 192.168.0.25
next-address 192.168.0.31
!
ip explicit-path name Tunnel112 enable
next-address 192.168.0.11
next-address 192.168.0.22
next-address 192.168.0.23
next-address 192.168.0.14
next-address 192.168.0.15
next-address 192.168.0.31
!
ip explicit-path name Tunnel113 enable
next-address 192.168.0.11
next-address 192.168.0.22
next-address 192.168.0.23
next-address 192.168.0.14
next-address 192.168.0.25
next-address 192.168.0.31
!
ip explicit-path name Tunnel114 enable
next-address 192.168.0.11
next-address 192.168.0.22
next-address 192.168.0.23
next-address 192.168.0.24
next-address 192.168.0.15
next-address 192.168.0.31
!
ip explicit-path name Tunnel115 enable
next-address 192.168.0.11
next-address 192.168.0.22
next-address 192.168.0.23
next-address 192.168.0.24
next-address 192.168.0.25
next-address 192.168.0.31
!
ip explicit-path name Tunnel116 enable
next-address 192.168.0.21
next-address 192.168.0.12
next-address 192.168.0.13
next-address 192.168.0.14
next-address 192.168.0.15
next-address 192.168.0.31
!
ip explicit-path name Tunnel117 enable
next-address 192.168.0.21
next-address 192.168.0.12
next-address 192.168.0.13
next-address 192.168.0.14
next-address 192.168.0.25
next-address 192.168.0.31
!
ip explicit-path name Tunnel118 enable
next-address 192.168.0.21
next-address 192.168.0.12
next-address 192.168.0.13
next-address 192.168.0.24
next-address 192.168.0.15
next-address 192.168.0.31
!
ip explicit-path name Tunnel119 enable
next-address 192.168.0.21
next-address 192.168.0.12
next-address 192.168.0.13
next-address 192.168.0.24
next-address 192.168.0.25
next-address 192.168.0.31
!
ip explicit-path name Tunnel120 enable
next-address 192.168.0.21
next-address 192.168.0.12
next-address 192.168.0.23
next-address 192.168.0.14
next-address 192.168.0.15
next-address 192.168.0.31
!
ip explicit-path name Tunnel121 enable
next-address 192.168.0.21
next-address 192.168.0.12
next-address 192.168.0.23
next-address 192.168.0.14
next-address 192.168.0.25
next-address 192.168.0.31
!
ip explicit-path name Tunnel122 enable
next-address 192.168.0.21
next-address 192.168.0.12
next-address 192.168.0.23
next-address 192.168.0.24
next-address 192.168.0.15
next-address 192.168.0.31
!
ip explicit-path name Tunnel123 enable
next-address 192.168.0.21
next-address 192.168.0.12
next-address 192.168.0.23
next-address 192.168.0.24
next-address 192.168.0.25
next-address 192.168.0.31
!
ip explicit-path name Tunnel124 enable
next-address 192.168.0.21
next-address 192.168.0.22
next-address 192.168.0.13
next-address 192.168.0.14
next-address 192.168.0.15
next-address 192.168.0.31
!
ip explicit-path name Tunnel125 enable
next-address 192.168.0.21
next-address 192.168.0.22
next-address 192.168.0.13
next-address 192.168.0.14
next-address 192.168.0.25
next-address 192.168.0.31
!
ip explicit-path name Tunnel126 enable
next-address 192.168.0.21
next-address 192.168.0.22
next-address 192.168.0.13
next-address 192.168.0.24
next-address 192.168.0.15
next-address 192.168.0.31
!
ip explicit-path name Tunnel127 enable
next-address 192.168.0.21
next-address 192.168.0.22
next-address 192.168.0.13
next-address 192.168.0.24
next-address 192.168.0.25
next-address 192.168.0.31
!
ip explicit-path name Tunnel128 enable
next-address 192.168.0.21
next-address 192.168.0.22
next-address 192.168.0.23
next-address 192.168.0.14
next-address 192.168.0.15
next-address 192.168.0.31
!
ip explicit-path name Tunnel129 enable
next-address 192.168.0.21
next-address 192.168.0.22
next-address 192.168.0.23
next-address 192.168.0.14
next-address 192.168.0.25
next-address 192.168.0.31
!
ip explicit-path name Tunnel130 enable
next-address 192.168.0.21
next-address 192.168.0.22
next-address 192.168.0.23
next-address 192.168.0.24
next-address 192.168.0.15
next-address 192.168.0.31
!
ip explicit-path name Tunnel131 enable
next-address 192.168.0.21
next-address 192.168.0.22
next-address 192.168.0.23
next-address 192.168.0.24
next-address 192.168.0.25
next-address 192.168.0.31
ip ssh server algorithm authentication password
!
!
!
mpls ldp router-id Loopback0
!
control-plane
!
banner exec ^C
**************************************************************************
* IOSv is strictly limited to use for evaluation, demonstration and IOS *
* education. IOSv is provided as-is and is not supported by Cisco's *
* Technical Advisory Center. Any use or disclosure, in whole or in part, *
* of the IOSv Software or Documentation to any third party for any *
* purposes is expressly prohibited except as otherwise authorized by *
* Cisco in writing. *
**************************************************************************^C
banner incoming ^C
**************************************************************************
* IOSv is strictly limited to use for evaluation, demonstration and IOS *
* education. IOSv is provided as-is and is not supported by Cisco's *
* Technical Advisory Center. Any use or disclosure, in whole or in part, *
* of the IOSv Software or Documentation to any third party for any *
* purposes is expressly prohibited except as otherwise authorized by *
* Cisco in writing. *
**************************************************************************^C
banner login ^C
**************************************************************************
* IOSv is strictly limited to use for evaluation, demonstration and IOS *
* education. IOSv is provided as-is and is not supported by Cisco's *
* Technical Advisory Center. Any use or disclosure, in whole or in part, *
* of the IOSv Software or Documentation to any third party for any *
* purposes is expressly prohibited except as otherwise authorized by *
* Cisco in writing. *
**************************************************************************^C
!
line con 0
password cisco
line aux 0
line vty 0 4
exec-timeout 720 0
password cisco
login local
transport input telnet ssh
!
no scheduler allocate
!
end
zun1ルータ
zun1#show run
Building configuration...
Current configuration : 4276 bytes
!
! Last configuration change at 10:18:31 UTC Fri Mar 25 2016
!
version 15.6
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname zun1
!
boot-start-marker
boot-end-marker
!
!
vrf definition Mgmt-intf
!
address-family ipv4
exit-address-family
!
address-family ipv6
exit-address-family
!
enable password cisco
!
no aaa new-model
ethernet lmi ce
!
!
!
mmi polling-interval 60
no mmi auto-configure
no mmi pvc
mmi snmp-timeout 180
!
!
!
!
!
!
!
!
!
!
!
no ip domain lookup
ip domain name virl.info
ip cef
ipv6 unicast-routing
ipv6 cef
!
multilink bundle-name authenticated
mpls traffic-eng tunnels
!
!
!
!
username cisco privilege 15 secret 5 $1$7E6E$AiBjxgKJELyQo8PUZU1X10
!
redundancy
!
no cdp run
!
!
!
!
!
!
!
!
!
!
!
!
!
!
interface Loopback0
description Loopback
ip address 192.168.0.11 255.255.255.255
!
interface GigabitEthernet0/0
description OOB Management
vrf forwarding Mgmt-intf
ip address 10.255.0.219 255.255.0.0
duplex full
speed auto
media-type rj45
!
interface GigabitEthernet0/1
description to zun2
ip address 10.0.0.49 255.255.255.252
ip ospf cost 1
duplex full
speed auto
media-type rj45
mpls traffic-eng tunnels
mpls ip
ip rsvp bandwidth percent 100
!
interface GigabitEthernet0/2
description to doko2
ip address 10.0.0.46 255.255.255.252
ip ospf cost 1
duplex full
speed auto
media-type rj45
mpls traffic-eng tunnels
mpls ip
ip rsvp bandwidth percent 100
!
interface GigabitEthernet0/3
description to start
ip address 10.0.0.18 255.255.255.252
ip ospf cost 1
duplex full
speed auto
media-type rj45
mpls traffic-eng tunnels
mpls ip
ip rsvp bandwidth percent 100
!
router ospf 1
mpls traffic-eng router-id Loopback0
mpls traffic-eng area 0
passive-interface Loopback0
network 10.0.0.16 0.0.0.3 area 0
network 10.0.0.44 0.0.0.3 area 0
network 10.0.0.48 0.0.0.3 area 0
network 192.168.0.11 0.0.0.0 area 0
!
router bgp 1
bgp router-id 192.168.0.11
bgp log-neighbor-changes
!
address-family ipv4
network 192.168.0.11 mask 255.255.255.255
exit-address-family
!
ip forward-protocol nd
!
!
no ip http server
no ip http secure-server
ip ssh server algorithm authentication password
!
!
!
mpls ldp router-id Loopback0
!
control-plane
!
banner exec ^C
**************************************************************************
* IOSv is strictly limited to use for evaluation, demonstration and IOS *
* education. IOSv is provided as-is and is not supported by Cisco's *
* Technical Advisory Center. Any use or disclosure, in whole or in part, *
* of the IOSv Software or Documentation to any third party for any *
* purposes is expressly prohibited except as otherwise authorized by *
* Cisco in writing. *
**************************************************************************^C
banner incoming ^C
**************************************************************************
* IOSv is strictly limited to use for evaluation, demonstration and IOS *
* education. IOSv is provided as-is and is not supported by Cisco's *
* Technical Advisory Center. Any use or disclosure, in whole or in part, *
* of the IOSv Software or Documentation to any third party for any *
* purposes is expressly prohibited except as otherwise authorized by *
* Cisco in writing. *
**************************************************************************^C
banner login ^C
**************************************************************************
* IOSv is strictly limited to use for evaluation, demonstration and IOS *
* education. IOSv is provided as-is and is not supported by Cisco's *
* Technical Advisory Center. Any use or disclosure, in whole or in part, *
* of the IOSv Software or Documentation to any third party for any *
* purposes is expressly prohibited except as otherwise authorized by *
* Cisco in writing. *
**************************************************************************^C
!
line con 0
password cisco
line aux 0
line vty 0 4
exec-timeout 720 0
password cisco
login local
transport input telnet ssh
!
no scheduler allocate
!
end