一、OSPF伪连接实验
1、组网介绍
如图所示,CE1和CE2在同一个OSPF区域中,都属于VPN1,分别接入PE1、PE2。CE1和CE2之间存在后门链路,作为备份链路。
要求CE与PE之间运行OSPF,在骨干网正常时,CE1与CE2之间的VPN流量通过MPLS骨干网转发,不经过后门链路。
2、配置思路
(1) PE之间要建立MP-IBGP对等体关系,PE与CE运行OSPF协议来建立连接。
(2) PE上创建VPN实例,并绑定与CE相连的接口。
(3)在PE上创建OSPF伪连接。
(4)调整Backdoor链路的cost值,使它比伪连接的cost值大,以便流量通过MPLS骨干网转发。
(5)为了方便配置,将骨干区域与各站点之间的路由类型均配置为OSPF路由,且区域均为“0”,但设置不同的进程进行区分。
3、配置过程
(1)配置IP地址
IP地址配置如图所示,此处不再赘余。
(2)在CE-1、CE-2和RTA 设备上配置OSPF
OSPF进程为“1”,区域为“0”,路由器ID为各设备的loopback1接口IP地址。OSPF配置此处不再赘余。
此处需要注意,在MPLS/BGP IP VPN中实现OSPF伪连接,需要确保两个站点同属于一个OSPF区域,且具有后门链路连接,即将CE-1和CE-2之间的站点区域都设置为区域0。
#查看CE-1设备的OSPF路由表,并测试与CE-2的loopback1接口连通性。
可以看到,此时CE-1设备已经学习到CE-2设备的loopback1接口IP地址6.6.6.9/32,并且可以正常通信,如下所示。
(3)配置骨干网的基本BGP/MPLS IP VPN功能(包括:配置骨干网的IGP路由;配置骨干网的MPLS和LDP;在PE之间建立MP-IBGP对等体关系)。
A.配置PE与P之间的IGP路由
PE与P之间的OSPF进程为“1”,区域为“0”,路由器ID为各设备的路由器ID。OSPF路由配置此处不再赘余。
#查看PE-1设备的OSPF路由表,并测试与PE-2的loopback1接口连通性。
可以看到,此时PE-1设备已经学习到PE-2设备的loopback1接口IP地址3.3.3.9/32,并且可以正常通信,如下所示:
B.配置PE与P之间的MP-BGP功能
#PE-1配置
#PE-2配置
#查看BGP VPNv4对等体建立情况。
可以看到此时PE-1与PE-2设备之间的BGP VPNv4对等体关系已经建立了,状态为established正常状态。
C.配置MPLS 与LDP功能
#PE-1设备配置
#P设备配置
#PE-2设备配置
#检查P设备的MPLS LDP会话建立情况。
可以看到此时P设备与PE-1和PE-2设备的LDP会话建立成功,状态为operational。
#检查PE-1设备的LSP转发表建立情况。
此时PE-1设备的LSP转发路径也建立成功了。
(3)配置PE与CE之间的连接
A.PE设备创建VPN实例,并将实例绑定接口
PE-1与PE-2设备的VPN实例名称均为vpn1,RD值分别为100:1和 ,出入RT值均为1:1.
#PE-1设备配置
#PE-2设备配置
B.配置PE之间的OSPF路由并绑定VPN实例,在OSPF和BGP中双向引入生成VPNv4路由。
由于骨干区域与CE站点都使用了区域0,为了区分,此时PE与CE之间的OSPF进程为100,域仍为0,PE设备此时的路由器ID为loopback0接口IP地址。
#PE-1设备配置
#CE-1设备配置
#PE-2设备配置
#完成上述配置后,在PE设备上执行display ip routing-table vpn-instance命令,可以看到此时去往对端CE的路由是通过用户网络的OSPF路由(CE-1>RTA-CE-2链路),不是通过骨干网的VPN路由(CE-1>PE-1>PE-2>CE-2)。
#PE-1设备VPN实例路由表
(4)配置伪连接
为了使CE-1与CE-2之间的数据流量通过MPLS VPN骨干网转发,配置伪连接时,应保证伪连接的cost值小于通过用户网络(CE-1>RTA-CE-2链路)转发时OSPF路由的cost值。可以通过调整用户网络(CE-1>RTA-CE-2链路)转发接口的cost值,使它比伪连接的cost值大,从而在路由选路时,不会被优选。
此处修改CE-1与CE-2设备之间的后门链路的开销值为10,使CE-1访问CE-2的路由首选MPLS VPN骨干网络作为转发路径。
A.修改CE之间的备链路开销
B.PE之间配置sham link链路
Sham link被看成是两个VPN实例之间的链路,链路的两端是PE上的端点地址,分别作为建立连接时的源和目的地址。此时伪连接的源地址和目的地址使用32位掩码的Loopback接口地址,该Loopback接口需要绑定到VPN实例中,并通过BGP发布。
需要注意,不能把sham-link的端点地址宣告进VRF下的OSPF进程,否则会导致sham-link抖动。具体原因是PE如果同时通过IBGP和OSPF学习到端点地址的路由,由于OSPF路由的优先级高于BGP路由,所以PE会选择OSPF路由,导致sham-link中断,因为建立sham-link用的路由必须是BGP路由。
sham-link 的 Cost默认为 1,也可以通过设置sham-link 的开销值来保证数据流走的是骨干网链路而非后门链路。
, 此处使用loopback0接口IP地址作为sham-link的端点。
#PE-1设备配置sham link
#PE-2设备配置sham link
# 在PE上执行display ospf 100 sham-link命令可以看到sham-link的建立情况,如下所示。
#此时再执行display ospf sham-link area命令可以看到对端状态为Full,OSPF伪连接建立成功。
5、验证配置结果
(1)完成上述配置后,在PE设备上再次执行display ip routing-table vpn-instance命令,可以看到去往对端CE的路由变成了通过骨干网的BGP路由,并且有去往sham-link目的地址的路由。
(2)在CE设备上执行display ip routing-table命令,可以看到去往对端CE的OSPF路由开销变为3,下一跳为接入PE的接口,即去往对端的VPN流量将通过骨干网转发。
此时,CE1到CE2的OSPF路由开销 = CE1到PE1的开销 + 伪连接开销 + PE2到CE2的开销 = 1 + 1 + 1 = 3。
(3)用命令tracert也可发现CE1发送数据到对端CE2,其下一跳为接入PE1的接口,即,去往对端的VPN流量将通过骨干网转发。
(4)紧接着在CE-1设备上查看OSPF路由表。
配置了伪连接之后,当LSA在伪装链路中进行泛洪时,所有的OSPF路由类型都不会改变,不会转换成LSA 3或者LSA 5的类型(LSA在sham-link是不会周期性地泛洪的)。
因此可以看到,此时CE-1的OSPF路由表中访问对端CE-2设备的路由都是以区域内路由形式存在。