Cisco IOS MPLS PE-CE OSPF vrf liteの設定方法

スポンサーリンク

PE-CE OSPF routingにはMP BGP網経由のルーティングループを防ぐ仕組みが備わっています。このループ防止機能はデフォルトで有効になっており、時にはこの機能が裏目に出て疎通不能を引き起こしてしまう事もあります。

概要

PE-CE OSPF routingにはMP BGP網経由のルーティングループを防ぐ仕組みが備わっています。このループ防止機能はデフォルトで有効になっており、時にはこの機能が裏目に出て疎通不能を引き起こしてしまう事もあります。疎通不能になってしまった場合は、capability vrf-liteコマンドを投入する事でループ防止機能を無効にする事ができます。

コマンド一覧

このシナリオで重要なコマンド一覧は以下の通りです。

Router(config)# router ospf <proc> vrf <vrf>
Router(config-router)# capability vrf-lite

構成図

以下の構成で動作確認を行います。PEルータ間は予めMPLS neighborおよびbgp vpnv4 neighborが確立されています。

  OSPF area 0      OSPF area 1                                      OSPF area 1
 <-----------><------------------>                            <--------------------------->
                               VPN                           VPN       VPN       VPN
           e0/1      e0/0      e0/1      e0/0      e0/1      e0/0      e0/1      e0/0
           .1+--------+.1      .2+--------+.2      .3+--------+.3      .4+--------+.4
         ----+  CE1   +----------+  PE2   +----------+  PE3   +----------+  CE4   +----
             +--------+          +--------+          +--------+          +--------+
 192.168.1.0/24      192.168.12.0/24     155.1.23.0/24       192.168.34.0/24     192.168.4.0/24

             CE1 Loopback0       PE2 Loopback0       PE3 Loopback0       PE4 Loopback0
             10.1.1.1/32         150.1.2.2/32        150.1.3.3/32        10.4.4.4/32
 [CE1]
<omitted>

 [PE2]
interface Ethernet0/0
 ip address 155.1.23.2 255.255.255.0
 mpls ip
!
interface Ethernet0/1
 ip vrf forwarding VPN
 ip address 192.168.12.2 255.255.255.0
!
router ospf 1234 vrf VPN
 log-adjacency-changes
 network 192.168.12.2 0.0.0.0 area 1
!
router ospf 1
 log-adjacency-changes
 network 150.1.2.2 0.0.0.0 area 0
 network 155.1.23.2 0.0.0.0 area 0
!
router bgp 100
 no bgp default ipv4-unicast
 bgp log-neighbor-changes
 neighbor 150.1.3.3 remote-as 100
 neighbor 150.1.3.3 update-source Loopback0
 !
 address-family vpnv4
  neighbor 150.1.3.3 activate
  neighbor 150.1.3.3 send-community extended
 exit-address-family
 !
 address-family ipv4 vrf VPN
  no synchronization
 exit-address-family

 [CE3]
<omitted>

 [CE4]
<omitted>

設定全文は下記ファイルです。詳細設定は下記を参照ください。

CE1
!
version 12.4
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname CE1
!
boot-start-marker
boot-end-marker
!
!
no aaa new-model
memory-size iomem 5
!
!
ip cef
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
interface Loopback0
 ip address 10.1.1.1 255.255.255.255
!
interface Ethernet0/0
 ip address 192.168.12.1 255.255.255.0
 half-duplex
!
interface Ethernet0/1
 ip address 192.168.1.1 255.255.255.0
 half-duplex
 no keepalive
!
interface Ethernet0/2
 no ip address
 shutdown
 half-duplex
!
interface Ethernet0/3
 no ip address
 shutdown
 half-duplex
!
!
router ospf 1234
 log-adjacency-changes
 network 10.1.1.1 0.0.0.0 area 1
 network 192.168.1.1 0.0.0.0 area 0
 network 192.168.12.1 0.0.0.0 area 1
!
ip http server
ip forward-protocol nd
!
!
!
!
!
!
control-plane
!
!
!
!
mgcp behavior g729-variants static-pt
!
!
!
!
!
line con 0
line aux 0
line vty 0 4
 login
!
!
end
PE2
!
version 12.4
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname PE2
!
boot-start-marker
boot-end-marker
!
!
no aaa new-model
memory-size iomem 5
!
!
ip cef
!
!
ip vrf VPN
 rd 100:1
 route-target export 100:1
 route-target import 100:1
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
interface Loopback0
 ip address 150.1.2.2 255.255.255.255
!
interface Ethernet0/0
 ip address 155.1.23.2 255.255.255.0
 half-duplex
 mpls ip
!
interface Ethernet0/1
 ip vrf forwarding VPN
 ip address 192.168.12.2 255.255.255.0
 half-duplex
!
interface Ethernet0/2
 no ip address
 shutdown
 half-duplex
!
interface Ethernet0/3
 no ip address
 shutdown
 half-duplex
!
!
router ospf 1234 vrf VPN
 log-adjacency-changes
 network 192.168.12.2 0.0.0.0 area 1
!
router ospf 1
 log-adjacency-changes
 network 150.1.2.2 0.0.0.0 area 0
 network 155.1.23.2 0.0.0.0 area 0
!
router bgp 100
 no bgp default ipv4-unicast
 bgp log-neighbor-changes
 neighbor 150.1.3.3 remote-as 100
 neighbor 150.1.3.3 update-source Loopback0
 !
 address-family vpnv4
  neighbor 150.1.3.3 activate
  neighbor 150.1.3.3 send-community extended
 exit-address-family
 !
 address-family ipv4 vrf VPN
  no synchronization
 exit-address-family
!
ip http server
ip forward-protocol nd
!
!
!
!
!
!
control-plane
!
!
!
!
mgcp behavior g729-variants static-pt
!
!
!
!
!
line con 0
line aux 0
line vty 0 4
 login
!
!
end
PE3
!
version 12.4
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname PE3
!
boot-start-marker
boot-end-marker
!
!
no aaa new-model
memory-size iomem 5
!
!
ip cef
!
!
ip vrf VPN
 rd 100:1
 route-target export 100:1
 route-target import 100:1
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
interface Loopback0
 ip address 150.1.3.3 255.255.255.255
!
interface Ethernet0/0
 ip vrf forwarding VPN
 ip address 192.168.34.3 255.255.255.0
 half-duplex
!
interface Ethernet0/1
 ip address 155.1.23.3 255.255.255.0
 half-duplex
 mpls ip
!
interface Ethernet0/2
 no ip address
 shutdown
 half-duplex
!
interface Ethernet0/3
 no ip address
 shutdown
 half-duplex
!
!
router ospf 1234 vrf VPN
 log-adjacency-changes
 network 192.168.34.3 0.0.0.0 area 1
!
router ospf 1
 log-adjacency-changes
 network 150.1.3.3 0.0.0.0 area 0
 network 155.1.23.3 0.0.0.0 area 0
!
router bgp 100
 no bgp default ipv4-unicast
 bgp log-neighbor-changes
 neighbor 150.1.2.2 remote-as 100
 neighbor 150.1.2.2 update-source Loopback0
 !
 address-family vpnv4
  neighbor 150.1.2.2 activate
  neighbor 150.1.2.2 send-community extended
 exit-address-family
 !
 address-family ipv4 vrf VPN
  no synchronization
 exit-address-family
!
ip http server
ip forward-protocol nd
!
!
!
!
!
!
control-plane
!
!
!
!
mgcp behavior g729-variants static-pt
!
!
!
!
!
line con 0
line aux 0
line vty 0 4
 login
!
!
end
CE4
!
version 12.4
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname CE4
!
boot-start-marker
boot-end-marker
!
!
no aaa new-model
memory-size iomem 5
!
!
ip cef
!
!
ip vrf VPN
 rd 100:1
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
interface Loopback0
 ip vrf forwarding VPN
 ip address 10.4.4.4 255.255.255.255
!
interface Ethernet0/0
 ip vrf forwarding VPN
 ip address 192.168.4.4 255.255.255.0
 half-duplex
 no keepalive
!
interface Ethernet0/1
 ip vrf forwarding VPN
 ip address 192.168.34.4 255.255.255.0
 half-duplex
!
interface Ethernet0/2
 no ip address
 shutdown
 half-duplex
!
interface Ethernet0/3
 no ip address
 shutdown
 half-duplex
!
!
router ospf 1234 vrf VPN
 log-adjacency-changes
 network 10.4.4.4 0.0.0.0 area 1
 network 192.168.4.4 0.0.0.0 area 1
 network 192.168.34.4 0.0.0.0 area 1
!
ip http server
ip forward-protocol nd
!
!
!
!
!
!
control-plane
!
!
!
!
mgcp behavior g729-variants static-pt
!
!
!
!
!
line con 0
line aux 0
line vty 0 4
 login
!
!
end

仕様説明

概要

PE-CE OSPF routingにはMP BGP網経由のルーティングループを防ぐ仕組みが備わっています。この機能を無効化するコマンドがcapability vrf-liteです。

capability vrf-lite on CE router

PEルータがMP BGPからOSPFへprefixをredistributeする際に、Down bitを付与します。このDown bitはルーティングループの潜在的な危険性が存在する事を意味します。Down bitが付与されているかどうかは、show ip ospf databaseコマンドで、Downwardが付与されているかどうかで確認する事ができます。

PE3#show ip ospf 1234 database summary 10.1.1.1

            OSPF Router with ID (192.168.34.3) (Process ID 1234)

                Summary Net Link States (Area 1)

  LS age: 639
  Options: (No TOS-capability, DC, Downward)
  LS Type: Summary Links(Network)
  Link State ID: 10.1.1.1 (summary Network Number)
  Advertising Router: 192.168.34.3
  LS Seq Number: 80000001
  Checksum: 0xBF56
  Length: 28
  Network Mask: /32
        TOS: 0  Metric: 11

PE3#

Down bitが付与されたLSAをvrfが設定されたinterfaceから受信した場合は、そのprefixはルーティングループの危険性があるとの判断でルーティングテーブルに載りません。この挙動を打ち消しルーティングテーブルにDown bitつきのLSAを乗せたい場合は、以下のコマンドをCEルータに投入します。

Router(config)# router ospf <proc> vrf <vrf>
Router(config-router)# capability vrf-lite

capability vrf-lite on PE router

PEルータはMP BGP網経由のルーティングループを防ぐため、以下の動作をします。

  • MP BGP経由で伝わってきたprefixのdomain-idと自身のdomain-idを比較し、そのprefixをinter areaとして取り扱うのかexternal areaとして取り扱うのかを決めます。
  • MP BGPからOSPFへ再配送する際にdown bitを付与します。
  • area 0のsummary prefixをadvertiseしないようにします。

PEルータにcapability vrf-liteを投入すると、これらループ防止機能を全て無効化する事ができます。virtual-linkを設定しなくてもcapability vrf-liteによりarea 0, supper backbone間を接続できるのは、この3番目の機能が無効化されるためです。

PE-CE OSPF routing

設定投入

PE-CE間で、OSPF routingを定義します。

 [PE2]
router bgp 100
 address-family ipv4 vrf VPN
  redistribute ospf 1234 match internal external 2
!
router ospf 1234 vrf VPN
 redistribute bgp 100 subnets

 [PE3]
router bgp 100
 address-family ipv4 vrf VPN
  redistribute ospf 1234 match internal external 2
!
router ospf 1234 vrf VPN
 redistribute bgp 100 subnets

動作確認

CEルータ間での疎通はできませんが、PEルータ間の疎通が可能になった事を確認します。

 [PE2]
PE2#ping vrf VPN 192.168.34.3

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.34.3, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 20/39/72 ms
PE2#

 [CE1]
CE1#ping 10.4.4.4 source 10.1.1.1

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.4.4.4, timeout is 2 seconds:
Packet sent with a source address of 10.1.1.1
...
Success rate is 0 percent (0/3)
CE1#

capability vrf-lite on CE router

デフォルトの動作確認

CE4のルーティングテーブルを見ると、summary LSAを受信しているもののルーティングテーブルにOSPFエントリがひとつも存在しません。これはvrfが設定されているinterfaceからDownbitが付与されたLSAを受信したためです。LSAをよく観察すると、”Downward”と記載されている事が読み取れます。

 [CE4]
CE4#show ip ospf 1234 database summary 10.1.1.1

            OSPF Router with ID (10.4.4.4) (Process ID 1234)

                Summary Net Link States (Area 1)

  LS age: 74
  Options: (No TOS-capability, DC, Downward)
  LS Type: Summary Links(Network)
  Link State ID: 10.1.1.1 (summary Network Number)
  Advertising Router: 192.168.34.3
  LS Seq Number: 80000001
  Checksum: 0xBF56
  Length: 28
  Network Mask: /32
        TOS: 0  Metric: 11

CE4#
CE4#show ip route vrf VPN ospf

Routing Table: VPN

CE4#

設定投入

CE4において、capability vrf-liteを入力し、down bitつきLSAをルーティングテーブルに載せる事を許可します。

 [CE4]
router ospf 1234 vrf VPN
 capability vrf-lite

動作確認

CEルータ間で疎通可能になった事を確認します。

 [CE1]
CE4#show ip route vrf VPN ospf

Routing Table: VPN

O IA 192.168.12.0/24 [110/11] via 192.168.34.3, 00:01:06, Ethernet0/1
     10.0.0.0/32 is subnetted, 2 subnets
O IA    10.1.1.1 [110/21] via 192.168.34.3, 00:01:06, Ethernet0/1
CE4#
CE4#ping vrf VPN 10.1.1.1 source 10.4.4.4

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.1.1.1, timeout is 2 seconds:
Packet sent with a source address of 10.4.4.4
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 88/91/96 ms
CE4#

capability vrf-lite on PE router

設定投入

area 0, supper backbone間接続はvirtual-linkを使用するのが理解しやすいシンプルな構成であると思いますが、仕様理解のために敢えてvrf-liteによるarea 0, supper backbone間の接続を試みます。PE2にcapability vrf-liteを投入します。

 [PE2]
router ospf 1234 vrf VPN
 capability vrf-lite

動作確認

PE2のcapability vrf-liteの有効化(ループ防止無効化)により、area 0 prefix(192.168.1.0/24)がルーティングテーブルに載るようになった事を確認できます。

 [PE2]
PE2#show ip route vrf VPN

Routing Table: VPN
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route

Gateway of last resort is not set

C    192.168.12.0/24 is directly connected, Ethernet0/1
B    192.168.4.0/24 [200/20] via 150.1.3.3, 00:06:49
     10.0.0.0/32 is subnetted, 2 subnets
O       10.1.1.1 [110/11] via 192.168.12.1, 00:00:00, Ethernet0/1
B       10.4.4.4 [200/11] via 150.1.3.3, 00:06:49
B    192.168.34.0/24 [200/0] via 150.1.3.3, 00:11:29
O IA 192.168.1.0/24 [110/20] via 192.168.12.1, 00:00:00, Ethernet0/1
PE2#

OSPF area 0(192.168.1.1)を介した通信が可能になった事を確認します。また、domain-idが一致しているかどうかのチェックが無効になった事によって、MP BGP経由で伝わったprefixが全てexternal areaとして取り扱われるようになった事も読み取れます。

 [CE1]
CE1#ping 192.168.4.4 source 192.168.1.1

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.4.4, timeout is 2 seconds:
Packet sent with a source address of 192.168.1.1
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 60/79/104 ms
CE1#
CE1#show ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route

Gateway of last resort is not set

C    192.168.12.0/24 is directly connected, Ethernet0/0
O E2 192.168.4.0/24 [110/20] via 192.168.12.2, 00:02:32, Ethernet0/0
     10.0.0.0/32 is subnetted, 2 subnets
C       10.1.1.1 is directly connected, Loopback0
O E2    10.4.4.4 [110/11] via 192.168.12.2, 00:02:32, Ethernet0/0
O E2 192.168.34.0/24 [110/1] via 192.168.12.2, 00:02:32, Ethernet0/0
C    192.168.1.0/24 is directly connected, Ethernet0/1
CE1#
タイトルとURLをコピーしました