ルータ2台で始めるVRF入門(2)
VRF とダイナミックルーティング
- 第1回: VRF 基礎の基礎
- 第2回: VRF とダイナミックルーティング
- 第3回: ルート漏洩(1): VRF間ルート漏洩
- 第4回: ルート漏洩(2): GRT-VRF間ルート漏洩
- 第5回: 経路情報のフィルタリング(OSPF再配布/BGP neighbor route-map)
- 第6回: 経路情報のフィルタリング(VRF import/export map)
論理構成
ここから 2 台構成です。
ここでは
- VRF で分離した環境は分離したまま。
- それぞれの分離された環境内に他の L3 機材を入れて動的ルーティングで環境を拡張しよう。
- とはいえそんなにデバイスがあるわけじゃないから対向側も VRF で用意してしまえ。
という状態です。
設定
- 全体的な操作
- exprtr02 は exprtr01 と同様に VRF をつくります。
- GRT 同士は static route で通信できるようにします。
- expvrf01 はこの後の話で使うので今は放置。
- expvrf02 と expvrf12 は、BGP で経路交換をします。
- expvrf03 と expvrf13 は、OSPF で経路交換をします。
- 注意点
- VRFごとに各ルーティングプロトコル(プロセス)の設定があります。
exprtr1 設定(追加分):
- GRT/exprtr1
ip route 10.0.0.10 255.255.255.255 10.2.0.2 ip route 10.3.0.0 255.255.255.0 10.2.0.2 ! router bgp 64601 bgp router-id 10.0.0.0 bgp log-neighbor-changes no bgp default ipv4-unicast end
- expvrf01
router bgp 64601 ! address-family ipv4 vrf expvrf01 redistribute connected exit-address-family ! end
- expvrf02
router bgp 64601 ! address-family ipv4 vrf expvrf02 bgp router-id 10.0.0.2 redistribute connected neighbor 10.2.2.2 remote-as 64601 neighbor 10.2.2.2 update-source Vlan722 neighbor 10.2.2.2 activate exit-address-family ! end
- expvrf03
router bgp 64601 ! address-family ipv4 vrf expvrf03 redistribute connected exit-address-family ! router ospf 64601 vrf expvrf03 router-id 0.0.0.3 capability vrf-lite passive-interface default no passive-interface Vlan723 network 10.0.0.3 0.0.0.0 area 0 network 10.1.3.0 0.0.0.255 area 0 network 10.2.3.0 0.0.0.255 area 0 end
exprtr2 設定:
- GRT/exprtr2
interface Loopback0 ip address 10.0.0.10 255.255.255.255 ! interface Vlan720 ip address 10.2.0.2 255.255.255.0 ! interface Vlan810 ip address 10.3.0.1 255.255.255.0 ! ip route 10.0.0.0 255.255.255.255 10.2.0.1 ip route 10.1.0.0 255.255.255.0 10.2.0.1 ! router bgp 64601 bgp router-id 10.0.0.10 bgp log-neighbor-changes no bgp default ipv4-unicast ! end
- expvrf12
ip vrf expvrf12 rd 64601:12 route-target export 64601:12 route-target import 64601:12 ! ! interface Loopback2 ip vrf forwarding expvrf12 ip address 10.0.0.12 255.255.255.255 ! interface Vlan722 ip vrf forwarding expvrf12 ip address 10.2.2.2 255.255.255.0 ! interface Vlan812 ip vrf forwarding expvrf12 ip address 10.3.2.1 255.255.255.0 ! interface Vlan822 ip vrf forwarding expvrf12 ip address 10.4.2.1 255.255.255.0 ! router bgp 64601 ! address-family ipv4 vrf expvrf12 bgp router-id 10.0.0.12 redistribute connected neighbor 10.2.2.1 remote-as 64601 neighbor 10.2.2.1 update-source Vlan722 neighbor 10.2.2.1 activate exit-address-family ! end
- expvrf13
Current configuration : 707 bytes ip vrf expvrf13 rd 64601:13 route-target export 64601:13 route-target import 64601:13 ! ! interface Loopback3 ip vrf forwarding expvrf13 ip address 10.0.0.13 255.255.255.255 ! interface Vlan723 ip vrf forwarding expvrf13 ip address 10.2.3.2 255.255.255.0 ! interface Vlan813 ip vrf forwarding expvrf13 ip address 10.3.3.1 255.255.255.0 ! interface Vlan823 ip vrf forwarding expvrf13 ip address 10.4.3.1 255.255.255.0 ! router ospf 64601 vrf expvrf13 router-id 0.0.0.13 capability vrf-lite passive-interface default no passive-interface Vlan723 network 10.0.0.13 0.0.0.0 area 0 network 10.2.3.0 0.0.0.255 area 0 network 10.3.3.0 0.0.0.255 area 0 network 10.4.3.0 0.0.0.255 area 0 !
確認
各 Neighbor の状態確認。
- expvrf02 (BGP)
- 普通に show ip bgp neighbors とかでは出ない (これは IPv4 AF で neighbor つながってる場合)。vpnv4 を指定するとこんな感じで表示される。
exprtr1#sh ip bgp vpnv4 all summary BGP router identifier 10.0.0.0, local AS number 64601 BGP table version is 12, main routing table version 12 11 network entries using 1760 bytes of memory 12 path entries using 672 bytes of memory 5/4 BGP path/bestpath attribute entries using 680 bytes of memory 3 BGP extended community entries using 72 bytes of memory 0 BGP route-map cache entries using 0 bytes of memory 0 BGP filter-list cache entries using 0 bytes of memory BGP using 3184 total bytes of memory BGP activity 11/0 prefixes, 12/0 paths, scan interval 60 secs Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd 10.2.2.2 4 64601 64 64 12 0 0 00:53:07 4 exprtr1#
- expvrf03 (OSPF)
exprtr1#sh ip ospf neighbor Neighbor ID Pri State Dead Time Address Interface 0.0.0.13 1 FULL/DR 00:00:34 10.2.3.2 Vlan723 exprtr1#
経路情報 (exprtr1 側のみ):
- GRT/exprtr1
- 当然、static が増えるだけ。
exprtr1#sh ip route (略) Gateway of last resort is not set 10.0.0.0/8 is variably subnetted, 7 subnets, 2 masks C 10.0.0.0/32 is directly connected, Loopback0 S 10.0.0.10/32 [1/0] via 10.2.0.2 C 10.1.0.0/24 is directly connected, Vlan800 L 10.1.0.1/32 is directly connected, Vlan800 C 10.2.0.0/24 is directly connected, Vlan720 L 10.2.0.1/32 is directly connected, Vlan720 S 10.3.0.0/24 [1/0] via 10.2.0.2 exprtr1#
- expvrf01
- 変化なしなので省略
- expvrf02
- expvrf12の持っている経路が入ってくる。
exprtr1#sh ip route vrf expvrf02 (略) Gateway of last resort is not set 10.0.0.0/8 is variably subnetted, 8 subnets, 2 masks C 10.0.0.2/32 is directly connected, Loopback2 B 10.0.0.12/32 [200/0] via 10.2.2.2, 00:31:03 C 10.1.2.0/24 is directly connected, Vlan802 L 10.1.2.1/32 is directly connected, Vlan802 C 10.2.2.0/24 is directly connected, Vlan722 L 10.2.2.1/32 is directly connected, Vlan722 B 10.3.2.0/24 [200/0] via 10.2.2.2, 00:31:03 B 10.4.2.0/24 [200/0] via 10.2.2.2, 00:22:34 exprtr1#
- expvrf03
- expvrf13の持っている経路が入ってくる。
exprtr1#sh ip route vrf expvrf03 (略) Gateway of last resort is not set 10.0.0.0/8 is variably subnetted, 8 subnets, 2 masks C 10.0.0.3/32 is directly connected, Loopback3 O 10.0.0.13/32 [110/2] via 10.2.3.2, 00:39:41, Vlan723 C 10.1.3.0/24 is directly connected, Vlan803 L 10.1.3.1/32 is directly connected, Vlan803 C 10.2.3.0/24 is directly connected, Vlan723 L 10.2.3.1/32 is directly connected, Vlan723 O 10.3.3.0/24 [110/2] via 10.2.3.2, 00:39:41, Vlan723 O 10.4.3.0/24 [110/2] via 10.2.3.2, 00:22:07, Vlan723 exprtr1#
BGP 経路情報:
- show ip bgp vpnv4 all で VPNv4 AF の経路情報を表示できます。
exprtr1#sh ip bgp vpnv4 all BGP table version is 12, local router ID is 10.0.0.0 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale, m multipath, b backup-path, x best-external, f RT-Filter Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path Route Distinguisher: 64601:1 (default for vrf expvrf01) *> 10.0.0.1/32 0.0.0.0 0 32768 ? *> 10.1.1.0/24 0.0.0.0 0 32768 ? Route Distinguisher: 64601:2 (default for vrf expvrf02) VRF Router ID 10.0.0.2 *> 10.0.0.2/32 0.0.0.0 0 32768 ? *>i10.0.0.12/32 10.2.2.2 0 100 0 ? *> 10.1.2.0/24 0.0.0.0 0 32768 ? * i10.2.2.0/24 10.2.2.2 0 100 0 ? *> 0.0.0.0 0 32768 ? *>i10.3.2.0/24 10.2.2.2 0 100 0 ? *>i10.4.2.0/24 10.2.2.2 0 100 0 ? Route Distinguisher: 64601:3 (default for vrf expvrf03) *> 10.0.0.3/32 0.0.0.0 0 32768 ? *> 10.1.3.0/24 0.0.0.0 0 32768 ? *> 10.2.3.0/24 0.0.0.0 0 32768 ? exprtr1#
まとめ
- VRF ごとに static/dynamic routing を使うことができます。
- BGP の場合は address-family ipv4 vrf
- OSPF の場合は router ospf vrf
- 今回入れてないですが、static route の場合は ip route vrf になります。
- VRF の経路情報は address-family vpnv4 で BGP テーブルに入ります。BGP テーブルに入れて、いろいろ制御かけます。というのは今後やります。