「Cisco Modeling Labs」で、MPLS-VPN構成を作ってみました。
MPLS-VPN NWの構築と一部の設計に携わったことがあり、当時を思い出しながら作成しています。
もっとNWデバイスを配置する予定だったのですが、これ以上増やすと自分のノートPCの性能上難しいので断念しています。冗長性構成は取れないものの、2つのVRFを作成し、MPLS-VPNの構成ができています(細かな設定のない、ざっくり版)
ルータ:IOS-XEで15.9
NW構成(MPLS-VPN)
最低限の最もシンプルな構成になります。
■CEルータ(カスタマエッジルータ)
R1とR2およびR8とR9がCEルータにあたります(ユーザ先オンサイト)
■PEルータ(プロバイダエッジルータ)
R3およびR7はPE(プロバイダエッジ)ルータとなります。
R3~R7がMPLS区間になりますが、一番設定がごちゃごちゃ入るのはR3とR7です。
■Route-Reflector
R10はRoute-Refletorです(以下RR)
上段青色がVRF AAAとしています。下段ピンク色がVRF BBBとしています。
Route-leakingなどしなれば、同一VRF内のPC1⇔PC3、PC2⇔PC4だけしか通信できません。
MPLS-VPN 設定概要
① IGP設定 (OSPF)
R3、R4、R5、R6、R7、R10で設定しています。OSPFはLabel-Swtichingにも携わっていることからMPLS区間の経路選択にも利用されています。本構成では、冗長経路はありませんが、冗長経路がある場合OSPF Costにより経路を制御します。
② Route ReflectorとiBGP neighborを張る
R3 ⇔ Route Reflector、および R7⇔ Route ReflectorがiBGPを張っています。
③ IF にmpls ip 設定
R3、R4、R5、R6、R7、R10の各に設定
④ VRF関連設定
R3とR7に対して、vrf AAA および vrf BBBの設定
各ルータコンフィグ
R1-config
hostname R1
!
interface Loopback0
ip address 1.1.1.1 255.255.255.255
!
interface GigabitEthernet0/0
ip address 10.13.1.1 255.255.255.0
duplex auto
speed auto
media-type rj45
!
interface GigabitEthernet0/1
ip address 192.168.1.254 255.255.255.0
duplex auto
speed auto
media-type rj45
!
router bgp 200
bgp log-neighbor-changes
network 192.168.1.0
neighbor 10.13.1.3 remote-as 100
!
R1#
R2-config
hostname R2
!
interface Loopback0
ip address 2.2.2.2 255.255.255.255
!
interface GigabitEthernet0/0
ip address 10.23.1.2 255.255.255.0
duplex auto
speed auto
media-type rj45
!
interface GigabitEthernet0/1
ip address 192.168.2.254 255.255.255.0
duplex auto
speed auto
media-type rj45
!
router ospf 1
network 0.0.0.0 255.255.255.255 area 0
!
R2#
R3-config
hostname R3
!
ip vrf AAA
rd 1:100
route-target export 1:100
route-target import 2:100
!
ip vrf BBB
rd 1:200
route-target export 1:200
route-target import 2:200
!
interface Loopback0
ip address 3.3.3.3 255.255.255.255
!
interface GigabitEthernet0/0
ip address 10.34.1.3 255.255.255.0
duplex auto
speed auto
media-type rj45
mpls ip
!
interface GigabitEthernet0/1
ip vrf forwarding AAA
ip address 10.13.1.3 255.255.255.0
duplex auto
speed auto
media-type rj45
!
interface GigabitEthernet0/2
ip vrf forwarding BBB
ip address 10.23.1.3 255.255.255.0
duplex auto
speed auto
media-type rj45
!
router ospf 2 vrf BBB
redistribute bgp 100 subnets
network 10.23.1.0 0.0.0.255 area 0
!
router ospf 1
network 3.3.3.3 0.0.0.0 area 0
network 10.34.1.0 0.0.0.255 area 0
!
router bgp 100
bgp log-neighbor-changes
neighbor 10.10.10.10 remote-as 100
neighbor 10.10.10.10 update-source Loopback0
!
address-family vpnv4
neighbor 10.10.10.10 activate
neighbor 10.10.10.10 send-community extended
exit-address-family
!
address-family ipv4 vrf AAA
neighbor 10.13.1.1 remote-as 200
neighbor 10.13.1.1 activate
exit-address-family
!
address-family ipv4 vrf BBB
redistribute ospf 2
exit-address-family
!
R3#
R4-config
hostname R4
!
interface Loopback0
ip address 4.4.4.4 255.255.255.255
!
interface GigabitEthernet0/0
ip address 10.34.1.4 255.255.255.0
duplex auto
speed auto
media-type rj45
mpls ip
!
interface GigabitEthernet0/1
ip address 10.45.1.4 255.255.255.0
duplex auto
speed auto
media-type rj45
mpls ip
!
router ospf 1
network 0.0.0.0 255.255.255.255 area 0
!
R4#
R5-config
hostname R5
!
interface Loopback0
ip address 5.5.5.5 255.255.255.255
!
interface GigabitEthernet0/0
ip address 10.45.1.5 255.255.255.0
duplex auto
speed auto
media-type rj45
mpls ip
!
interface GigabitEthernet0/1
ip address 10.56.1.5 255.255.255.0
duplex auto
speed auto
media-type rj45
mpls ip
!
interface GigabitEthernet0/2
ip address 10.5.10.5 255.255.255.0
duplex auto
speed auto
media-type rj45
mpls ip
!
router ospf 1
network 0.0.0.0 255.255.255.255 area 0
!
R5#
R6-config
hostname R6
!
interface Loopback0
ip address 6.6.6.6 255.255.255.255
!
interface GigabitEthernet0/0
ip address 10.56.1.6 255.255.255.0
duplex auto
speed auto
media-type rj45
mpls ip
!
interface GigabitEthernet0/1
ip address 10.67.1.6 255.255.255.0
duplex auto
speed auto
media-type rj45
mpls ip
!
router ospf 1
network 0.0.0.0 255.255.255.255 area 0
!
R6#
R7-config
hostname R7
!
ip vrf AAA
rd 2:100
route-target export 2:100
route-target import 1:100
!
ip vrf BBB
rd 2:200
route-target export 2:200
route-target import 1:200
!
interface Loopback0
ip address 7.7.7.7 255.255.255.255
!
interface GigabitEthernet0/0
ip address 10.67.1.7 255.255.255.0
duplex auto
speed auto
media-type rj45
mpls ip
!
interface GigabitEthernet0/1
ip vrf forwarding AAA
ip address 10.78.1.7 255.255.255.0
duplex auto
speed auto
media-type rj45
!
interface GigabitEthernet0/2
ip vrf forwarding BBB
ip address 10.79.1.7 255.255.255.0
duplex auto
speed auto
media-type rj45
!
router ospf 2 vrf BBB
redistribute bgp 100 subnets
network 10.79.1.0 0.0.0.0 area 0
!
router ospf 1
network 7.7.7.7 0.0.0.0 area 0
network 10.67.1.0 0.0.0.255 area 0
!
router bgp 100
bgp log-neighbor-changes
neighbor 10.10.10.10 remote-as 100
neighbor 10.10.10.10 update-source Loopback0
!
address-family vpnv4
neighbor 10.10.10.10 activate
neighbor 10.10.10.10 send-community extended
exit-address-family
!
address-family ipv4 vrf AAA
neighbor 10.78.1.8 remote-as 300
neighbor 10.78.1.8 activate
exit-address-family
!
address-family ipv4 vrf BBB
redistribute static
exit-address-family
!
ip route vrf BBB 172.16.2.0 255.255.255.0 10.79.1.9
!
R7#
R8-config
hostname R8
!
interface Loopback0
ip address 8.8.8.8 255.255.255.255
!
interface GigabitEthernet0/0
ip address 10.78.1.8 255.255.255.0
duplex auto
speed auto
media-type rj45
!
interface GigabitEthernet0/1
ip address 172.16.1.254 255.255.255.0
duplex auto
speed auto
media-type rj45
!
router bgp 300
bgp log-neighbor-changes
redistribute connected
neighbor 10.78.1.7 remote-as 100
!
R8#
R9-config
hostname R9
!
interface Loopback0
ip address 9.9.9.9 255.255.255.255
!
interface GigabitEthernet0/0
ip address 10.79.1.9 255.255.255.0
duplex auto
speed auto
media-type rj45
!
interface GigabitEthernet0/1
ip address 172.16.2.254 255.255.255.0
duplex auto
speed auto
media-type rj45
!
ip route 0.0.0.0 0.0.0.0 10.79.1.7
!
R9#
R10-config
hostname R10
!
interface Loopback0
ip address 10.10.10.10 255.255.255.255
!
interface GigabitEthernet0/0
ip address 10.5.10.10 255.255.255.0
duplex auto
speed auto
media-type rj45
mpls ip
!
router ospf 1
network 10.5.10.0 0.0.0.255 area 0
network 10.10.10.10 0.0.0.0 area 0
!
router bgp 100
bgp log-neighbor-changes
neighbor 3.3.3.3 remote-as 100
neighbor 3.3.3.3 update-source Loopback0
neighbor 3.3.3.3 route-reflector-client
neighbor 7.7.7.7 remote-as 100
neighbor 7.7.7.7 update-source Loopback0
neighbor 7.7.7.7 route-reflector-client
!
address-family vpnv4
neighbor 3.3.3.3 activate
neighbor 3.3.3.3 send-community extended
neighbor 3.3.3.3 route-reflector-client
neighbor 7.7.7.7 activate
neighbor 7.7.7.7 send-community extended
neighbor 7.7.7.7 route-reflector-client
exit-address-family
!
R10#
show ip route
R3、R7にはそれぞれ、3つルーティングテーブルが作成されます。
①VRF AAAのルーティングテーブル
②VRF BBBのルーティングテーブル
③グローバルルーティングテーブル
①VRF AAAのルーティングテーブル
———————————————————————-
R3#show ip route vrf AAA
B 172.16.1.0 [200/0] via 7.7.7.7, 01:30:46 //Next Hop R7
B 192.168.1.0/24 [20/0] via 10.13.1.1, 01:33:54 //Next Hop R1
R7#show ip route vrf AAA
B 172.16.1.0 [20/0] via 10.78.1.8, 01:37:52 //Next Hop R8
B 192.168.1.0/24 [200/0] via 3.3.3.3, 01:38:10 //Next Hop R3
②VRF BBBのルーティングテーブル
———————————————————————-
R3#show ip route vrf BBB
B 172.16.1.0 [20/0] via 10.78.1.8, 01:42:31 //Next Hop R8
B 192.168.1.0/24 [200/0] via 3.3.3.3, 01:42:49 //Next Hop R3
R7#show ip route vrf BBB
S 172.16.2.0 [1/0] via 10.79.1.9 //Next Hop R9
B 192.168.2.0/24 [200/2] via 3.3.3.3, 01:41:23 //Next Hop R3
③グローバルルーティングテーブル
———————————————————————-
R3#show ip route
Gateway of last resort is not set
3.0.0.0/32 is subnetted, 1 subnets
C 3.3.3.3 is directly connected, Loopback0
4.0.0.0/32 is subnetted, 1 subnets
O 4.4.4.4 [110/2] via 10.34.1.4, 01:12:26, GigabitEthernet0/0
5.0.0.0/32 is subnetted, 1 subnets
O 5.5.5.5 [110/3] via 10.34.1.4, 01:12:26, GigabitEthernet0/0
6.0.0.0/32 is subnetted, 1 subnets
O 6.6.6.6 [110/4] via 10.34.1.4, 01:10:44, GigabitEthernet0/0
7.0.0.0/32 is subnetted, 1 subnets
O 7.7.7.7 [110/5] via 10.34.1.4, 01:10:16, GigabitEthernet0/0
10.0.0.0/8 is variably subnetted, 7 subnets, 2 masks
O 10.5.10.0/24 [110/3] via 10.34.1.4, 01:12:26, GigabitEthernet0/0
O 10.10.10.10/32 [110/4] via 10.34.1.4, 01:07:09, GigabitEthernet0/0
C 10.34.1.0/24 is directly connected, GigabitEthernet0/0
L 10.34.1.3/32 is directly connected, GigabitEthernet0/0
O 10.45.1.0/24 [110/2] via 10.34.1.4, 01:12:26, GigabitEthernet0/0
O 10.56.1.0/24 [110/3] via 10.34.1.4, 01:12:26, GigabitEthernet0/0
O 10.67.1.0/24 [110/4] via 10.34.1.4, 01:10:16, GigabitEthernet0/0
R3#
show ip bgp vpnv4
MPLS-VPNではMP-BGPでVRF情報を伝搬しているとのことで、vpnv4ログは主要なログになると思います。
R3#show ip bgp vpnv4 vrf AAA
Network Next Hop Metric LocPrf Weight Path
*>i 172.16.1.0/24 7.7.7.7 0 100 0 300 ?
*> 192.168.1.0 10.13.1.1 0 0 200 i
VRF AAAに所属しているセグメントが載るようになります。
注目はNext Hopで、172.16.1.0/24 の場合7.7.7.7で途中のルータはすっ飛ばして、プロバイダエッジルータになります。
R3#show ip bgp vpnv4 vrf BBB
Network Next Hop Metric LocPrf Weight Path
*>i 172.16.2.0/24 7.7.7.7 0 100 0 ?
*> 192.168.2.0 10.23.1.2 2 32768 ?
R7#show ip bgp vpnv4 vrf AAA
Network Next Hop Metric LocPrf Weight Path
*> 172.16.1.0/24 10.78.1.8 0 0 300 ?
*>i 192.168.1.0 3.3.3.3 0 100 0 200 i
R7#show ip bgp vpnv4 vrf BBB
Network Next Hop Metric LocPrf Weight Path
*> 172.16.2.0/24 10.79.1.9 0 32768 ?
*>i 192.168.2.0 3.3.3.3 2 100 0 ?
show ip bgp vpnv4 all summary
R3#show ip bgp vpnv4 all summary
Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
10.10.10.10 4 100 98 98 13 0 0 01:20:35 4
10.13.1.1 4 200 97 95 13 0 0 01:24:06 1
まとめ
今使っているノートPCは3,4年前のモデルでCPU:i7-7660U メモリ:16.0 GBですが
CMLのルータ(IOS-XE)を10台も動かくすとPCは一杯一杯です。。。うーん、辛い