配置VPN远端交叉路由的隧道负载分担示例
VPN骨干网上PE对等体之间有多条隧道可达时,配置隧道负载分担可以充分利用网络资源,增加VPN业务在骨干网传输的可靠性。
组网需求
在BGP/MPLS IP VPN的MPLS骨干网上,PE对等体之间存在多条隧道时(比如LDP LSP、TE),为使VPN流量负载分担到这些隧道上,不造成网络的拥塞,可以配置隧道的负载分担。
如图7-34所示,基本BGP/MPLS IP VPN场景下PE1和PE2之间存在两条链路,PE1-P1-PE2上建立了LDP LSP,PE1-P2-PE2之上建有TE隧道。不配置隧道的负载分担,在转发VPN流量时,依照默认的隧道策略流量都会通过LSP隧道转发,可能会造成PE1-P1-PE2链路比较繁忙,而PE1-P2-PE2链路空闲的情况。
要求在MPLS骨干网上的配置隧道负载分担,使得转发VPN数据时流量能均匀分担到两条隧道上,不会造成其中一条隧道拥塞,而另一条隧道空闲的情况。
配置思路
采用如下的思路配置VPN远端交叉路由的隧道负载分担:
在MPLS骨干网上配置OSPF,实现骨干网互通。
在MPLS骨干网上通过使能MPLS、MPLS LDP建立LDP LSP。
PE上配置VPN实例,将CE接入PE。
在PE1-P2-PE2上建立TE隧道。
PE上创建隧道策略,使PE之间的LDP LSP和TE参与负载分担。
PE上VPN实例IPv4地址族下应用隧道策略。
操作步骤
- 配置基本BGP/MPLS IP VPN
具体配置请参照配置BGP/MPLS IP VPN示例,主要包括以下配置:
在MPLS骨干网上配置OSPF,使得PE之间互相学习到Loopback路由;
在PE1、P1、PE2上配置MPLS基本能力和MPLS LDP,PE之间建立LDP LSP;
PE之间建立VPNv4对等体关系;
PE上创建支持IPv4地址族的VPN实例,并将连接CE的接口与VPN实例绑定;
PE与CE之间配置BGP,并将CE2的Loopback路由引入BGP。
完成上述配置后,在PE1上执行display ip routing-table vpn-instance命令,可以看到PE1能够学到CE2上Loopback接口的路由。
<PE1> display ip routing-table vpn-instance vpn1
Route Flags: R - relay, D - download to fib, T - to vpn-instance, B - black hole route ------------------------------------------------------------------------------ Routing Table : vpn1 Destinations : 4 Routes : 4 Destination/Mask Proto Pre Cost Flags NextHop Interface 11.11.11.11/32 Direct 0 0 D 127.0.0.1 LoopBack2 22.22.22.22/32 IBGP 255 0 RD 3.3.3.9 GigabitEthernet2/0/0 192.168.1.0/30 IBGP 255 0 RD 3.3.3.9 GigabitEthernet2/0/0 192.168.1.2/32 IBGP 255 0 RD 3.3.3.9 GigabitEthernet2/0/0
<PE1> display ip routing-table vpn-instance vpn1 22.22.22.22 verbose Route Flags: R - relay, D - download to fib, T - to vpn-instance, B - black hole route ------------------------------------------------------------------------------ Routing Table : vpn1 Summary Count : 1 Destination: 22.22.22.22/32 Protocol: IBGP Process ID: 0 Preference: 255 Cost: 0 NextHop: 3.3.3.9 Neighbour: 0.0.0.0 State: Active Adv Relied Age: 00h02m28s Tag: 0 Priority: low Label: 0x1f QoSInfo: 0x0 IndirectID: 0xb7 RelayNextHop: 20.1.1.2 Interface: GigabitEthernet2/0/0 TunnelID: 0x0000000001004c4b43 Flags: RD
由上面的显示信息可以看出,由于没有对VPN应用隧道策略,PE1上只会为22.22.22.22/32迭代到一条LSP隧道。
- 在PE1-P2-PE2上建立TE隧道。
本例中TE隧道采用RSVP-TE隧道,具体配置请参照配置RSVP-TE隧道示例。
- PE1上对VPN应用隧道策略
配置隧道类型优先级的隧道策略,按照TE、LSP顺序选择隧道,且负载分担条数为2。
# 配置PE1。
[~PE1] tunnel-policy te-lsp-l2
[*PE1-tunnel-policy-te-lsp-l2] tunnel select-seq cr-lsp lsp load-balance-number 2
[*PE1-tunnel-policy-te-lsp-l2] quit
# 对VPN实例IPv4地址族应用隧道策略。
[*PE1] ip vpn-instance vpn1
[*PE1-vpn-instance-vpn1] ipv4-family
[*PE1-vpn-instance-vpn1-af-ipv4] tnl-policy te-lsp-l2
[*PE1-vpn-instance-vpn1-af-ipv4] quit
[*PE1-vpn-instance-vpn1] quit
[*PE1] commit
- 检查配置结果
上述配置完成后,PE1上执行命令display ip routing-table vpn-instance verbose命令,可以看到对于去往远端CE上Loopback接口的路由,迭代到了两条隧道。
<PE1> display ip routing-table vpn-instance vpn1 22.22.22.22 verbose Route Flags: R - relay, D - download to fib, T - to vpn-instance, B - black hole route ------------------------------------------------------------------------------ Routing Table : vpn1 Summary Count : 1 Destination: 22.22.22.22/32 Protocol: IBGP Process ID: 0 Preference: 255 Cost: 0 NextHop: 3.3.3.9 Neighbour: 0.0.0.0 State: Active Adv Relied Age: 00h00m06s Tag: 0 Priority: low Label: 0x1f QoSInfo: 0x0 IndirectID: 0xbc RelayNextHop: 0.0.0.0 Interface: Tunnel10 TunnelID: 0x000000000300000001 Flags: RD RelayNextHop: 20.1.1.2 Interface: GigabitEthernet2/0/0 TunnelID: 0x0000000001004c4b43 Flags: RD
综上所述,配置VPN远端交叉路由的隧道负载分担成功。
配置文件
PE1的配置文件
#
sysname PE1
#
ip vpn-instance vpn1
ipv4-family
route-distinguisher 100:1
apply-label per-instance
tnl-policy te-lsp-l2
vpn-target 1:1 export-extcommunity
vpn-target 1:1 import-extcommunity
#
mpls lsr-id 1.1.1.9
#
mpls
mpls te
mpls te cspf
mpls rsvp-te
#
mpls ldp
#
interface GigabitEthernet1/0/0
undo shutdown
ip address 50.1.1.1 255.255.255.0
mpls
mpls te
mpls rsvp-te
#
interface GigabitEthernet2/0/0
undo shutdown
ip address 20.1.1.1 255.255.255.0
mpls
mpls ldp
#
interface LoopBack1
ip address 1.1.1.9 255.255.255.255
#
interface LoopBack2
ip binding vpn-instance vpn1
ip address 11.11.11.11 255.255.255.255
#
interface Tunnel10
ip address unnumbered interface LoopBack1
tunnel-protocol mpls te
destination 3.3.3.9
mpls te tunnel-id 100
#
bgp 100
peer 3.3.3.9 as-number 100
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
#
ospf 1
opaque-capability enable
area 0.0.0.0
mpls-te enable
network 1.1.1.9 0.0.0.0
network 50.1.1.0 0.0.0.255
network 20.1.1.0 0.0.0.255
#
tunnel-policy te-lsp-l2
tunnel select-seq cr-lsp lsp load-balance-number 2
#
return
P1的配置文件
#
sysname P1
#
mpls lsr-id 2.2.2.9
#
mpls
#
mpls ldp
#
interface GigabitEthernet1/0/0
undo shutdown
ip address 20.1.1.2 255.255.255.0
mpls
mpls ldp
#
interface GigabitEthernet2/0/0
undo shutdown
ip address 30.1.1.1 255.255.255.0
mpls
mpls ldp
#
interface LoopBack1
ip address 2.2.2.9 255.255.255.255
#
ospf 1
opaque-capability enable
area 0.0.0.0
mpls-te enable
network 2.2.2.9 0.0.0.0
network 20.1.1.0 0.0.0.255
network 30.1.1.0 0.0.0.255
#
return
P2的配置文件
#
sysname P2
#
mpls lsr-id 4.4.4.9
#
mpls
mpls te
mpls te cspf
mpls rsvp-te
#
mpls ldp
#
interface GigabitEthernet1/0/0
undo shutdown
ip address 50.1.1.2 255.255.255.0
mpls
mpls te
mpls rsvp-te
#
interface GigabitEthernet2/0/0
undo shutdown
ip address 40.1.1.1 255.255.255.0
mpls
mpls te
mpls rsvp-te
#
interface LoopBack1
ip address 4.4.4.9 255.255.255.255
#
ospf 1
opaque-capability enable
area 0.0.0.0
mpls-te enable
network 4.4.4.9 0.0.0.0
network 50.1.1.0 0.0.0.255
network 40.1.1.0 0.0.0.255
#
return
PE2的配置文件
#
sysname PE2
#
ip vpn-instance vpn1
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 3.3.3.9
#
mpls
mpls te
mpls te cspf
mpls rsvp-te
#
mpls ldp
#
interface GigabitEthernet1/0/0
undo shutdown
ip address 40.1.1.2 255.255.255.0
mpls
mpls te
mpls rsvp-te
#
interface GigabitEthernet2/0/0
undo shutdown
ip address 30.1.1.2 255.255.255.0
mpls
mpls ldp
#
interface GigabitEthernet3/0/0
undo shutdown
ip binding vpn-instance vpn1
ip address 192.168.1.1 255.255.255.252
#
interface LoopBack1
ip address 3.3.3.9 255.255.255.255
#
bgp 100
peer 1.1.1.9 as-number 100
peer 1.1.1.9 connect-interface LoopBack1
#
ipv4-family unicast
undo synchronization peer 1.1.1.9 enable
#
ipv4-family vpnv4
policy vpn-target
peer 1.1.1.9 enable
#
ipv4-family vpn-instance vpn1
peer 192.168.1.2 as-number 65410
#
ospf 1
opaque-capability enable
area 0.0.0.0
mpls-te enable
network 3.3.3.9 0.0.0.0
network 30.1.1.0 0.0.0.255
network 40.1.1.0 0.0.0.255
#
return
CE2的配置文件
#
sysname CE2
#
interface GigabitEthernet1/0/0
undo shutdown
ip address 192.168.1.2 255.255.255.252
#
interface LoopBack1
ip address 22.22.22.22 255.255.255.255
#
bgp 65410
peer 192.168.1.1 as-number 100
#
ipv4-family unicast
undo synchronization network 22.22.22.22 32
peer 192.168.1.1 enable
#
return