基本原理
MPLS VPN 基于 MPLS 技术,利用标签交换机制转发数据。在网络边缘(PE 设备)对不同 VPN 的数据包打不同标签,核心网络(P 设备)根据标签快速转发,到达目标 PE 设备后再根据标签进行识别和处理,实现不同 VPN 之间的隔离和数据安全传输。
关键设备名词
用户边缘设备(CE):位于用户侧,连接用户网络和服务提供商网络,通常是企业路由器或交换机,它对 VPN 的细节并不了解,只负责与服务提供商网络进行数据交互。
运营商边缘设备(PE):位于服务提供商网络边缘,直接与 CE 设备相连。PE 设备负责识别和处理不同 VPN 的数据包,为其分配和交换标签,实现 VPN 之间的隔离和互通。
运营商核心设备(P):位于服务提供商网络核心,不直接与 CE 设备相连。P 设备只根据标签进行数据包的转发,不关心数据包所属的 VPN,从而提高了网络的转发效率。
主要优势
良好的扩展性:可以轻松地添加新的 VPN 站点,而不需要对整个网络进行大规模的改造。服务提供商可以根据用户需求动态分配资源,满足不同规模企业的网络需求。
高效的数据转发:MPLS 标签交换技术使得数据包在核心网络中可以快速转发,减少了路由查找的时间,提高了网络的转发效率。特别是对于大型企业网络和数据流量较大的应用场景,MPLS VPN 能够提供更好的性能。
增强的安全性:不同 VPN 之间通过标签进行隔离,彼此之间无法直接访问,有效地保护了企业内部网络的安全。同时,服务提供商可以根据用户需求提供不同级别的安全服务,如访问控制、加密等。
多协议支持:MPLS VPN 可以支持多种网络层协议,如 IP、IPX 等,为企业提供了更灵活的网络解决方案。企业可以在同一个 MPLS VPN 网络中同时运行不同类型的业务,提高了网络的通用性和适应性。
应用场景
企业广域网互联:企业总部与分支机构之间通过 MPLS VPN 建立安全、高效的广域网络连接,实现数据共享、语音通信和视频会议等应用。
服务提供商网络:电信运营商等服务提供商可以利用 MPLS VPN 技术为多个企业客户提供虚拟专用网络服务,实现不同企业之间的网络隔离和数据安全传输。
网络拓扑
架构描述,矩形区域为互联网区域使用的是isis协议实现互通,并且建立了mpls标签隧道,椭圆区域属于内网区域,使用ospf区域实现互联互通。PE1和PE2建立IBGP邻居,通过mpls隧道传递vpn内网信息。
PE1主要配置
创建vpn实例(注意vpn实例在华三模拟器中双边必须相等,否则无法正确接收)
ip vpn-instance test
route-distinguisher 10:10
vpn-target 10:10 import-extcommunity
vpn-target 10:10 export-extcommunity
isis 1
network-entity 49.0000.0000.0001.00
#使用vpn实例建立ospf信息,以便后续路由在bgp中传递
ospf 1 vpn-instance test
#引入bgp路由
import-route bgp 100
area 0.0.0.0
#必须注明lsr-id,lsr-id的地址必须是真实的,否则正确建立mpls隧道
mpls lsr-id 1.1.1.1
#动态分配mpls标签,简化操作
mpls ldp
#
interface LoopBack0
ip address 1.1.1.1 255.255.255.255
isis enable 1
#
interface GigabitEthernet0/0
#将接口绑定vpn实例
ip binding vpn-instance test
ip address 192.168.1.254 255.255.255.0
ospf 1 area 0.0.0.0
#
interface GigabitEthernet0/1
ip address 12.1.1.1 255.255.255.0
isis enable 1
#使能mpls标签交换功能和动态分配功能
mpls enable
mpls ldp enable
#
bgp 100
#与PE2建立ibgp关系
peer 3.3.3.3 as-number 100
#指定使用接口loopback 0 建立邻居
peer 3.3.3.3 connect-interface LoopBack0
#必须是在vpnv4地址族下使能,否则无法传递vpn路由
address-family vpnv4
peer 3.3.3.3 enable
#
ip vpn-instance test
#在vpn实例下引入ospf路由
address-family ipv4 unicast
import-route ospf 1
其他设备配置大致相同,个别地址改变即可 (注意事项已在代码中注释)
配置检查
display fib //检查mpls标签是否正确分发
display bgp peer vpnv4 //检查bgp的vpnv4邻居是否正常建立,注意我们建立的一定是vpnv4邻居,不是普通的ipv4邻居
display bgp routing-table vpnv4 //查看bgp的vpnv4路由表是否存在,是否正确选中(如果一条都不存在,应该是邻居关系没有正常建立而且没有正确私网引入路由,检查bgp配置、mpls配置和私网ospf配置;如果只有己方的私网,应是bgp关系未正常建立、mpls标签未正常分发;如果是有路由但是没有最优选中,应是vpn实例问题,注意前面配置vpn实例时的注意事项)
检查防火墙的路由表,已经有了对方的私网路由
然而当我们检查互联网上的路由器的路由表时,并不知道私网的路由,从而达到了私网可达,公网不能感知的目的
私网间路由测试
至此,本文结束。
感谢大家观看!
网络小白, 如有错漏,请大佬多多指点。