配置OptionB方式跨域VPN示例(ASBR兼做PE)
骨干网跨越两个AS,ASBR间通过MP-EBGP发布标签VPN-IPv4路由,且ASBR同时兼做PE。
组网需求
在OptionB方式的跨域VPN中,ASBR一方面作为跨域设备,传递VPNv4路由;另一方面作为PE,管理VPN路由。可以部署OptionB方式跨域VPN(ASBR兼做PE),这样可以减少PE的部署,但同时会提高对ASBR的性能要求。
如图7-40所示,要求配置OptionB方式的跨域VPN ,且同时把ASBR设备配置成兼任PE,实现CE之间的互访。
配置思路
采用如下思路配置OptionB方式跨域VPN(ASBR兼做PE):
在骨干网上运行IGP协议实现同一AS的ASBR与PE之间的互通,并且同一AS的ASBR与PE之间要建立MPLS LDP LSP。
PE与ASBR之间建立MP-IBGP对等体关系。
在PE及ASBR上配置VPN实例;PE、ASBR与CE之间建立EBGP对等体关系。
在ASBR上与另一ASBR相连接口上分别使能MPLS,且ASBR之间建立MP-EBGP对等体关系。
数据准备
为完成此配置例,需准备如下的数据:
PE及ASBR上的MPLS LSR-ID分别为1.1.1.9、2.2.2.9、3.3.3.9、4.4.4.9
PE及ASBR上创建的VPN实例名称为vpna,RD值为100:1、100:3、200:1和200:4,出方向和入方向的VPN-Target值为1:1
操作步骤
- 在AS100和AS200的MPLS骨干网上分别配置IGP协议,实现各自骨干网PE与ASBR之间的互通
本例中采用OSPF,具体配置步骤请参见后面的配置文件。
配置完成后,同一AS的ASBR与PE之间应能建立OSPF邻居关系,执行display ospf peer命令可以看到邻居状态为Full。同一AS的ASBR和PE能学习到对方的Loopback地址,并能够互相ping通。
- 在AS100和AS200的MPLS骨干网上分别配置MPLS基本能力和MPLS LDP,建立LDP LSP
# 配置PE1。
[~PE1] mpls lsr-id 1.1.1.9
[*PE1] mpls
[*PE1-mpls] quit
[*PE1] mpls ldp
[*PE1-mpls-ldp] quit
[*PE1] interface gigabitethernet 1/0/0
[*PE1-GigabitEthernet1/0/0] mpls
[*PE1-GigabitEthernet1/0/0] mpls ldp
[*PE1-GigabitEthernet1/0/0] commit
[~PE1-GigabitEthernet1/0/0] quit
PE2的配置与PE1类似,配置过程请参见后面的配置文件。
# 配置ASBR1
[~ASBR1] mpls lsr-id 2.2.2.9
[*ASBR1] mpls
[*ASBR1-mpls] quit
[*ASBR1] mpls ldp
[*ASBR1-mpls-ldp] quit
[*ASBR1] interface gigabitethernet 1/0/0
[*ASBR1-GigabitEthernet1/0/0] mpls
[*ASBR1-GigabitEthernet1/0/0] mpls ldp
[*ASBR1-GigabitEthernet1/0/0] commit
[~ASBR1-GigabitEthernet1/0/0] quit
ASBR2的配置与ASBR1类似,配置过程请参见后面的配置文件。
配置完成后,PE与ASBR之间应该建立起LDP对等体关系,在各路由器上执行display mpls ldp session命令可以看到显示结果中Session State项为“Operational”。以PE1的显示为例:
<PE1> display mpls ldp session
LDP Session(s) in Public Network Codes: LAM(Label Advertisement Mode), SsnAge Unit(DDD:HH:MM) An asterisk (*) before a session means the session is being deleted.
-------------------------------------------------------------------------
PeerID Status LAM SsnRole SsnAge KASent/Rcv
-------------------------------------------------------------------------
2.2.2.9:0 Operational DU Passive 0000:00:01 5/5
-------------------------------------------------------------------------
TOTAL: 1 session(s) Found.
- 配置同一AS内的PE与ASBR建立MP-IBGP对等体关系
# 配置PE1。
[~PE1] bgp 100
[*PE1-bgp] peer 2.2.2.9 as-number 100
[*PE1-bgp] peer 2.2.2.9 connect-interface loopback 1
[*PE1-bgp] ipv4-family vpnv4
[*PE1-bgp-af-vpnv4] peer 2.2.2.9 enable
[*PE1-bgp-af-vpnv4] commit
[~PE1-bgp-af-vpnv4] quit
[~PE1-bgp] quit
PE2的配置与PE1类似,配置过程请参见后面的配置文件。
# 配置ASBR1。
[~ASBR1] bgp 100
[*ASBR1-bgp] peer 1.1.1.9 as-number 100
[*ASBR1-bgp] peer 1.1.1.9 connect-interface loopback 1
[*ASBR1-bgp] ipv4-family vpnv4
[*ASBR1-bgp-af-vpnv4] peer 1.1.1.9 enable
[*ASBR1-bgp-af-vpnv4] commit
[~ASBR1-bgp-af-vpnv4] quit
[~ASBR1-bgp] quit
ASBR2的配置与ASBR1类似,配置过程请参见后面的配置文件。
配置完成后,在PE或者ASBR上执行命令display bgp vpnv4 all peer,可以看到同一AS的PE与ASBR之间应能建立MP-IBGP对等体关系。以PE1显示为例。
<PE1> display bgp vpnv4 all peer BGP local router ID : 1.1.1.9 Local AS number : 100 Total number of peers : 1 Peers in established state : 1 Peer V AS MsgRcvd MsgSent OutQ Up/Down State PrefRcv 2.2.2.9 4 100 54 59 0 00:45:03 Established 2
- PE和ASBR上创建VPN实例,并将CE接入PE
# 配置PE1。
[~PE1] ip vpn-instance vpna
[*PE1-vpn-instance-vpna] ipv4-family
[*PE1-vpn-instance-vpna-af-ipv4] route-distinguisher 100:1
[*PE1-vpn-instance-vpna-af-ipv4] vpn-target 1:1 both
[*PE1-vpn-instance-vpna-af-ipv4] quit
[*PE1-vpn-instance-vpna] quit
[*PE1] interface gigabitethernet 2/0/0
[*PE1-GigabitEthernet2/0/0] ip binding vpn-instance vpna
[*PE1-GigabitEthernet2/0/0] ip address 10.1.1.2 24
[*PE1-GigabitEthernet2/0/0] quit
[*PE1] commit
PE2、ASBR1、ASBR2的配置与PE1类似,配置过程请参见后面的配置文件。
配置完成后,在PE、ASBR上执行display ip vpn-instance verbose命令可以看到VPN实例的配置情况。以PE1显示为例:
<PE1> display ip vpn-instance verbose
Total VPN-Instances configured : 1
Total IPv4 VPN-Instances configured : 1 Total IPv6 VPN-Instances configured : 0
VPN-Instance Name and ID : vpna, 1
Interfaces : GigabitEthernet2/0/0
Address family ipv4
Create date : 2009/09/18 11:30:35
Up time : 0 days, 00 hours, 05 minutes and 19 seconds
Vrf Status : UP
Route Distinguisher : 100:1
Export VPN Targets : 1:1
Import VPN Targets : 1:1
Label policy: label per route
The diffserv-mode Information is : uniform
The ttl-mode Information is : pipe
- 配置PE、ASBR与CE建立EBGP对等体关系,并引入CE上的Loopback路由
# 配置CE1。
[~CE1] interface loopback 1
[*CE1-Loopback1] ip address 11.11.11.11 32
[*CE1-Loopback1] quit
[*CE1] bgp 65001
[*CE1-bgp] peer 10.1.1.2 as-number 100
[*CE1-bgp] network 11.11.11.11 32
[*CE1-bgp] quit
[*CE1] commit
CE2、CE3、CE4的配置与CE1的配置类似,配置过程请参见后面的配置文件。
# 配置PE1。
[~PE1] bgp 100
[~PE1-bgp] ipv4-family vpn-instance vpna
[*PE1-bgp-vpna] peer 10.1.1.1 as-number 65001
[*PE1-bgp-vpna] commit
[~PE1-bgp-vpna] quit
PE2、ASBR1、ASBR2的配置与PE1类似,配置过程请参见后面的配置文件。
配置完成后,在PE或者ASBR上执行display bgp vpnv4 vpn-instance peer命令,可以看到PE与CE之间的BGP对等体关系已建立,并达到Established状态。以PE1与CE1的对等体关系为例:
<PE1> display bgp vpnv4 vpn-instance vpna peer
BGP local router ID : 10.1.1.2
Local AS number : 100
Total number of peers : 1 Peers in established state : 1
Peer V AS MsgRcvd MsgSent OutQ Up/Down State PrefRcv
10.1.1.1 4 65001 11 9 0 00:06:37 Established 1
- 在ASBR上与另一ASBR相连接口上分别使能MPLS。
[~ASBR1] interface GigabitEthernet 2/0/0
[~ASBR1-GigabitEthernet2/0/0] ip address 12.12.12.1 24
[*ASBR1-GigabitEthernet2/0/0] mpls
[*ASBR1-GigabitEthernet2/0/0] quit
[*ASBR1] commit
ASBR2的配置与ASBR1类似,配置过程请参见后面的配置文件。
- 配置ASBR之间建立MP-EBGP关系,并且不对接收的VPNv4路由进行VPN-target过滤
[~ASBR1] bgp 100
[~ASBR1-bgp] peer 12.12.12.2 as-number 200
[*ASBR1-bgp] ipv4-family vpnv4
[*ASBR1-bgp-af-vpnv4] peer 12.12.12.2 enable
[*ASBR1-bgp-af-vpnv4] undo policy vpn-target
[*ASBR1-bgp-af-vpnv4] commit
[~ASBR1-bgp-af-vpnv4] quit
[~ASBR1-bgp] quit
ASBR2的配置与ASBR1类似,配置过程请参见后面的配置文件。
这里ASBR不对接收的VPNv4路由进行VPN-Target过滤,而是直接发送给对端ASBR或者本AS内的PE。但ASBR上配置的VPN实例路由表会匹配VPN-Target,来决定接收哪些路由。
- 检查配置结果
上述配置完成后,各CE上执行命令display ip routing-table,可以看到本地CE学习到其他CE上发来的路由。以CE3的显示为例:
<CE3> display ip routing-table
Route Flags: R - relay, D - download to fib, T - to vpn-instance, B - black hole route
------------------------------------------------------------------------------
Routing Tables: _public_
Destinations : 11 Routes : 11
Destination/Mask Proto Pre Cost Flags NextHop Interface
10.3.1.0/24 Direct 0 0 D 10.3.1.1 GigabitEthernet1/0/0
10.3.1.1/32 Direct 0 0 D 127.0.0.1 GigabitEthernet1/0/0
10.3.1.255/32 Direct 0 0 D 127.0.0.1 GigabitEthernet1/0/0
11.11.11.11/32 EBGP 255 0 RD 10.3.1.2 GigabitEthernet1/0/0
22.22.22.22/32 EBGP 255 0 RD 10.3.1.2 GigabitEthernet1/0/0
33.33.33.33/32 Direct 0 0 D 127.0.0.1 LoopBack1
44.44.44.44/32 EBGP 255 0 RD 10.3.1.2 GigabitEthernet1/0/0
127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0
127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
127.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
255.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
在ASBR上执行display bgp vpnv4 all routing-table命令,可以看到ASBR上的VPNv4路由。以ASBR1的显示为例:
<ASBR1> display bgp vpnv4 all routing-table
BGP Local router ID is 2.2.2.9 Status codes: * - valid, > - best, d - damped, x - best external, a - add path, h - history, i - internal, s - suppressed, S - Stale Origin : i - IGP, e - EGP, ? - incomplete RPKI validation codes: V - valid, I - invalid, N - not-found Total number of routes from all PE: 4 Route Distinguisher: 100:1 Network NextHop MED LocPrf PrefVal Path/Ogn *>i 11.11.11.11/32 1.1.1.9 100 0 ? Route Distinguisher: 200:1 Network NextHop MED LocPrf PrefVal Path/Ogn *> 22.22.22.22/32 3.3.3.9 0 200? Route Distinguisher: 100:3 Network NextHop MED LocPrf PrefVal Path/Ogn *>i 33.33.33.33/32 0.0.0.0 0 0 ? Route Distinguisher: 200:4 Network NextHop MED LocPrf PrefVal Path/Ogn *>i 44.44.44.44/32 3.3.3.9 0 100 0 200?
配置文件
CE1的配置文件
#
sysname CE1
#
interface GigabitEthernet1/0/0
undo shutdown
ip address 10.1.1.1 255.255.255.0
#
interface Loopback1
undo shutdown
ip address 11.11.11.11 255.255.255.255
#
bgp 65001
peer 10.1.1.2 as-number 100
#
ipv4-family unicast
undo synchronization peer 10.1.1.2 enable network 11.11.11.11 255.255.255.255
return
PE1的配置文件
#
sysname PE1
#
ip vpn-instance vpna
ipv4-family
route-distinguisher 100:1
apply-label per-instance
vpn-target 1:1 export-extcommunity
vpn-target 1:1 import-extcommunity
#
mpls lsr-id 1.1.1.9
#
mpls
#
mpls ldp
#
interface GigabitEthernet1/0/0
undo shutdown
ip address 10.10.1.2 255.255.255.0
mpls
mpls ldp
#
interface GigabitEthernet2/0/0
undo shutdown
ip binding vpn-instance vpna
ip address 10.1.1.2 255.255.255.0
#
interface LoopBack1
ip address 1.1.1.9 255.255.255.255
#
bgp 100
peer 2.2.2.9 as-number 100
peer 2.2.2.9 connect-interface LoopBack1
#
ipv4-family unicast
undo synchronization peer 2.2.2.9 enable
#
ipv4-family vpnv4
policy vpn-target
peer 2.2.2.9 enable
#
ipv4-family vpn-instance vpna
peer 10.1.1.1 as-number 65001
#
ospf 1
area 0.0.0.0
network 1.1.1.9 0.0.0.0
network 10.10.1.0 0.0.0.255
#
return
ASBR1的配置文件
#
sysname ASBR1
#
ip vpn-instance vpna
ipv4-family
route-distinguisher 100:3
apply-label per-instance
vpn-target 1:1 export-extcommunity
vpn-target 1:1 import-extcommunity
#
mpls lsr-id 2.2.2.9
#
mpls
#
mpls ldp
#
interface GigabitEthernet1/0/0
undo shutdown
ip address 10.10.1.1 255.255.255.0
mpls
mpls ldp
#
interface GigabitEthernet2/0/0
undo shutdown
ip address 12.12.12.1 255.255.255.0
mpls
#
interface GigabitEthernet3/0/0
undo shutdown
ip binding vpn-instance vpna
ip address 10.3.1.2 255.255.255.0
#
interface LoopBack1
ip address 2.2.2.9 255.255.255.255
#
bgp 100
peer 12.12.12.2 as-number 200
peer 1.1.1.9 as-number 100
peer 1.1.1.9 connect-interface LoopBack1
#
ipv4-family unicast
undo synchronization peer 12.12.12.2 enable
peer 1.1.1.9 enable
#
ipv4-family vpnv4
undo policy vpn-target
peer 1.1.1.9 enable
peer 12.12.12.2 enable
#
ipv4-family vpn-instance vpna
peer 10.3.1.1 as-number 65003
#
ospf 1
area 0.0.0.0
network 2.2.2.9 0.0.0.0
network 10.10.1.0 0.0.0.255
#
return
CE3的配置文件
#
sysname CE3
#
interface GigabitEthernet1/0/0
undo shutdown
ip address 10.3.1.1 255.255.255.0
#
interface Loopback1
undo shutdown
ip address 33.33.33.33 255.255.255.255
#
bgp 65003
peer 10.3.1.2 as-number 100
#
ipv4-family unicast
undo synchronization peer 10.3.1.2 enable network 33.33.33.33 255.255.255.255
return
ASBR2的配置文件
#
sysname ASBR2
#
ip vpn-instance vpna
ipv4-family
route-distinguisher 200:4
apply-label per-instance
vpn-target 1:1 export-extcommunity
vpn-target 1:1 import-extcommunity
#
mpls lsr-id 3.3.3.9
#
mpls
#
mpls ldp
#
interface GigabitEthernet1/0/0
undo shutdown
ip address 10.40.1.1 255.255.255.0
mpls
mpls ldp
#
interface GigabitEthernet2/0/0
undo shutdown
ip address 12.12.12.2 255.255.255.0
mpls
#
interface GigabitEthernet3/0/0
undo shutdown
ip binding vpn-instance vpna
ip address 10.4.1.2 255.255.255.0
#
interface LoopBack1
ip address 3.3.3.9 255.255.255.255
#
bgp 200
peer 12.12.12.1 as-number 100
peer 4.4.4.9 as-number 200
peer 4.4.4.9 connect-interface LoopBack1
#
ipv4-family unicast
undo synchronization peer 12.12.12.1 enable
peer 4.4.4.9 enable
#
ipv4-family vpnv4
undo policy vpn-target
peer 4.4.4.9 enable
peer 12.12.12.1 enable
#
ipv4-family vpn-instance vpna
peer 10.4.1.1 as-number 65004
#
ospf 1
area 0.0.0.0
network 3.3.3.9 0.0.0.0
network 10.40.1.0 0.0.0.255
#
return
CE4的配置文件
#
sysname CE4
#
interface GigabitEthernet1/0/0
undo shutdown
ip address 10.4.1.1 255.255.255.0
#
interface Loopback1
undo shutdown
ip address 44.44.44.44 255.255.255.255
#
bgp 65004
peer 10.4.1.2 as-number 200
#
ipv4-family unicast
undo synchronization peer 10.4.1.2 enable network 44.44.44.44 255.255.255.255
return
PE2的配置文件
#
sysname PE2
#
ip vpn-instance vpna
ipv4-family
route-distinguisher 200:1
apply-label per-instance
vpn-target 1:1 export-extcommunity
vpn-target 1:1 import-extcommunity
#
mpls lsr-id 4.4.4.9
#
mpls
#
mpls ldp
#
interface GigabitEthernet1/0/0
undo shutdown
ip address 10.40.1.2 255.255.255.0
mpls
mpls ldp
#
interface GigabitEthernet2/0/0
undo shutdown
ip binding vpn-instance vpna
ip address 10.2.1.2 255.255.255.0
#
interface LoopBack1
ip address 4.4.4.9 255.255.255.255
#
bgp 200
peer 3.3.3.9 as-number 200
peer 3.3.3.9 connect-interface LoopBack1
#
ipv4-family unicast
undo synchronization peer 3.3.3.9 enable
#
ipv4-family vpnv4
policy vpn-target
peer 3.3.3.9 enable
#
ipv4-family vpn-instance vpna
peer 10.2.1.1 as-number 65002
#
ospf 1
area 0.0.0.0
network 4.4.4.9 0.0.0.0
network 10.40.1.0 0.0.0.255
#
return
CE2的配置文件
#
sysname CE2
#
interface GigabitEthernet1/0/0
undo shutdown
ip address 10.2.1.1 255.255.255.0
#
interface Loopback1
undo shutdown
ip address 22.22.22.22 255.255.255.255
#
bgp 65002
peer 10.2.1.2 as-number 200
#
ipv4-family unicast
undo synchronization peer 10.2.1.2 enable network 22.22.22.22 255.255.255.255
#
return