基于IPSEC协议的MPLS VPN的实现
安计勇 夏士雄
(中国矿业大学 网络中心,江苏 徐州 221008;中国矿业大学 计算机学院,江苏 徐州 221008)
摘 要 文章分析MPLS VPN的安全性缺陷以及即数据以明文传输及IPSEC协议的良好安全性,提出了在MPLS VPN中应用IPSEC协议来保证数据传输的保密性。同时,文章详细说明了实验拓扑图及设备的相应配置和实验结果。
关键字 MPLS VPN;IPSEC;VPN
1 引言
MPLS VPN集隧道技术和路由技术于一身,吸取基于虚电路的VPN服务质量保证(QoS)的优点,并克服了它们无法克服的缺点。传统VPN网络是采用隧道技术来实现的,它采用隧道协议对数据进行层层封装,增加了网络中的数据流量,同时传统VPN是基于IP网络中“尽力而为”的转发策略的,因此在这样的网络中实现服务质量、服务等级和流量工程的难度较大。而当网络中站点数较多,建立的遂道过多时,管理的难度就会加大,其扩展性不是很强。MPLS网络是基于MPLS网络技术的,而MPLS网络将二层的交换技术和三层的路由技术很好地结合在了一起,具有扩展性强、安全性高和易于实现服务质量、服务等级和流量工程等特点,是未来VPN发展的方向。
但是,MPLS VPN以明文传输数据,使得它的安全性大大降低。本文基于MPLS VPN的这种安全性缺陷,提出在MPLS VPN中应用IPSEC来保证数据的安全性。
2 MPLS VPN与IPSEC的安全性比较
2.1 MPLS技术安全性
为了实现MPLS网的安全性,MPLS VPN做到了以下几点:
1)地址空间和路由独立
在MPLS VPN中,不同的VPN之间,地址空间是完全独立的。
2)隐藏MPLS核心网
MPLS不会暴露任何不必要的信息给外界,包括其VPN用户,这样将使网络攻击变得十分艰难。
3)攻击防范
由于地址空间和路由的独立性,直接实施对某一VPN的攻击几乎不可能,只能通过MPLS核心网实现。对MPLS核心的攻击有两种基本途径:直接攻击PE路由器、攻击MPLS信令机制(多数为路由)。
4)拒绝标记欺骗
在MPLS网络中,数据包转发是依据PE路由器所附加的标记来完成的,而非目标IP地址。与IP地址欺骗(攻击者调换源IP地址和目的IP地址)攻击相类似,攻击者也可能对MPLS数据包实施标记欺骗。
但PE路由器不可以接受来自CE路由器带有标记的数据包,任何此类数据包都将会被丢弃,因此,在MPLS网络,通过标记欺骗来实施攻击是不可能的。但发送到MPLS核心网的数据包,其IP地址仍然有可能被欺骗,然而由于PE路由器有严格的地址独立性,每个VPN都有自己的VRF,因此,这种攻击只能影响产生地址欺骗的VPN,而对MPLS并没有增加任何风险。
2.2 IPSEC的安全性
IPSec是专门设计为IP提供安全服务的一种协议。IPSec可有效保护IP数据报的安全,所采取的具体保护形式包括:数据源验证;无连接数据的完整性验证;数据内容的机密性保护;抗重播保护等。
使用IPSec协议中的认证头(AH)协议和封装安全载荷(ESP)协议,可以对IP数据报或上层协议(如UDP和TCP)进行保护,这种保护由IPSec两种不同的工作模式(分别对应隧道模式和传输模式)来提供。其中AH可以验证数据的起源、保障数据的完整性以及防止相同数据包的不断重播。ESP除具有AH的所有能力之外,还可选择保障数据的机密性,以及为数据流提供有限的机密性保障。
AH和ESP协议根据安全联盟(SA)规定的参数为IP数据包提供安全服务。SA可以手工建立,也可以自动建立。IKE就是IPSec规定的一种用来自动管理SA的协议。IKE的实现可支持协商VPN,也可支持IP地址事先并不知道的远程接入。IKE必须支持协商方不是SA协商发生的端点的客户协商模式,这样可以隐藏端方身份。因此可以这样认为,IPSec是到目前为止最为安全的VPN技术。
3 MPLS VPN中应用IPSEC的实现
在本方案中,对于客户端路由器和骨干网中的P路由器设计没有改变,网络结构与MPLS VPN的结构一致,如图1所示。主要改动的是CE路由器,CE路由器需要在支持原传统路由协议和MPLS协议的基础上,增加对IPSec的相关处理。由于在PE端MPLS使用标签建立LSP隧道,并通过VPN ID及用户IP对身份进行了严格控制。为了提高效率,本方案在CE路由器上只使用IPSec的ESP进行加密。
图1
PE1,PE2,P及CE1设备配置如下:
PE1配置:
ip cef
ip vrf A
rd 1:1
route-target export 1:1
route-target import 1:1
mpls label range 200 299
mpls label protocol ldp
interface Loopback0
ip address 2.2.2.2 255.255.255.255
ip router isis
interface Serial1/0
ip vrf forwarding A
ip address 12.1.1.2 255.255.255.0
serial restart-delay 0
interface Serial1/1
ip address 23.1.1.1 255.255.255.0
ip router isis
mpls ip
serial restart-delay 0
router ospf 10 vrf A
router-id 2.2.2.2
log-adjacency-changes
redistribute bgp 1 subnets
network 12.1.1.2 0.0.0.0 area 0
router isis
net 49.0001.0000.0000.0001.00
router bgp 1
bgp router-id 2.2.2.2
no bgp default ipv4-unicast
bgp log-neighbor-changes
neighbor 4.4.4.4 remote-as 1
neighbor 4.4.4.4 update-source Loopback0
address-family ipv4
neighbor 4.4.4.4 activate
address-family vpnv4
neighbor 4.4.4.4 activate
neighbor 4.4.4.4 send-community extended
address-family ipv4 vrf A
redistribute ospf 10 vrf A
PE2配置如下:
ip cef
ip vrf A
rd 4:4
route-target export 1:1
route-target import 1:1
mpls label range 400 499
mpls label protocol ldp
interface Loopback0
ip address 4.4.4.4 255.255.255.255
ip router isis
interface Serial1/0
ip address 34.1.1.2 255.255.255.0
ip router isis
mpls ip
serial restart-delay 0
interface Serial1/1
ip vrf forwarding A
ip address 45.1.1.1 255.255.255.0
serial restart-delay 0
router ospf 10 vrf A
router-id 4.4.4.4
log-adjacency-changes
redistribute bgp 1 subnets
network 45.1.1.1 0.0.0.0 area 0
router isis
net 49.0001.0000.0000.0003.00
router bgp 1
bgp router-id 4.4.4.4
no bgp default ipv4-unicast
bgp log-neighbor-changes
neighbor 2.2.2.2 remote-as 1
neighbor 2.2.2.2 update-source Loopback0
address-family ipv4
neighbor 2.2.2.2 activate
address-family vpnv4
neighbor 2.2.2.2 activate
neighbor 2.2.2.2 send-community extended
exit-address-family
address-family ipv4 vrf A
redistribute ospf 10 vrf A
p配置如下:
ip cef
crypto isakmp policy 10
encr aes
authentication pre-share
group 2
lifetime 3600
crypto isakmp key cisco address 12.1.1.1
crypto ipsec transform-set aes_sha esp-aes esp-sha-hmac
mode transport
crypto map To_CENTER 10 ipsec-isakmp
set peer 12.1.1.1
set transform-set aes_sha
match address 110
interface Loopback20
ip address 20.1.1.1 255.255.255.0
interface Serial1/0
ip address 45.1.1.2 255.255.255.0
serial restart-delay 0
crypto map To_CENTER
router ospf 10
router-id 5.5.5.5
log-adjacency-changes
network 20.1.1.1 0.0.0.0 area 0
network 45.1.1.2 0.0.0.0 area 0
P配置如下:
ip cef
no ip domain lookup
mpls label range 300 399
mpls label protocol ldp
interface Loopback0
ip address 3.3.3.3 255.255.255.255
ip router isis
interface Serial1/0
ip address 23.1.1.2 255.255.255.0
ip router isis
mpls ip
serial restart-delay 0
interface Serial1/1
ip address 34.1.1.1 255.255.255.0
ip router isis
mpls ip
serial restart-delay 0
router isis
net 49.0001.0000.0000.0002.00
mpls ldp router-id Loopback0
4 结论
通过采用Cisco3620系列路由器搭建实验环境,依据上文所述完成配置,实验结果通过抓包来分析报文是否是以暗文来传输。抓包对比如下:
在发送端CE上使用命令ping 20.1.1.1 source 10.1.1.1
在没有配置IPSec VPN之前的包是:

可以看出双MPLS标签,并且源地址,目标地址分别是10.1.1.1,20.1.1.1,而且可以看出是ICMP包。
在配置了IPSec VPN之后的包是:

此时可以看出源地址已经变成12.1.1.1,目标地址已经变成45.1.1.2,并且内部的数据已经被ESP部分取代,也就是看不出包内的东西了。
综上所述,MPLS与IPSec结合有利于把MPLS的高速交换、QoS保证、流量控制以及灵活性、可扩展性与IPSec的高度安全、可靠的优势发挥出来,提供设计优良、运行正常和综合性的VPN服务。
参考文献
收稿日期:11 月 27 日 修改日期:11 月 30 日
作者简介:安计勇(1975-),男,山西交口人,讲师,研究方向:计算机网络安全。
|