IPSec VPN 原理与配置

        VPN (Virtual Private Network,虚拟专用网)技术起初是为了解决明文数据在网络上传输所带来 的安全隐患而产生的。TCP/IP (Transmission Control Protocol/lnternet Protocol,传输控制协议/网际协 议)协议族中的很多协议都采用明文传输,如 Telnet.FTP (File Transfer Protocol,文件传输协议). TFTP (Trivial File Transfer Protocol、普通文件传输协议)等。一些黑客可能为了获取非法利益,通过 诸如窃听、伪装等攻击方式截获明文数据,使企业或个人蒙受损失。         

        VPN技术可以从某种程度上解决该问题。例如,它可以对公网上传输的数据进行加密,即使黑 客通过某种窃听工具截获到数据,也无法了解数据信息的含义,也可以实现数据传输双方的身份验 证,避免黑客伪装成网络中的合法用户攻击网络资源。

VPN的定义

        VPN就是在两个网络实体之间建立的一种受保护的连接,这两个实体可以通过点到点的链路直 接相连,但通常情况下它们会相隔较远的距离。

        对于定义的“受保护”一词,可以从以下几个方面理解。

        实际工作环境中的VPN解决方案不一定包含上述所有功能,这要由具体的环境需求和实现方式 决定。而且很多企业可能采用不止一种的VPN解决方案。

VPN的模式与类型 

1.VPN的连接模式

        VPN技术有两种基本的连接模式;传输模式和隧道模式。这两种模式实际上定义了两台实体设 备之间传输数据时所采用的不同的封装过程。

(1)传输模式

        如图1.1所示,传输模式一个最显著的特点就是,在整个VPN的传输过程中,P包头并没有被 封装进去,这就意味着从源端到目的端数据始终使用原有的IP地址进行通信。而传输的实际数据载 荷被封装在VPN报文中。对于大多数VPN传输而言,VPN的报文封装过程就是数据的加密过程,因 此,攻击者截获数据后将无法破解数据内容,但却可以清晰地知道通信双方的地址信息。

        由于传输模式封装结构相对简单(每个数据报文较隧道模式封装结构节省20字节),因此传输 效率较高,多用于通信双方在同一个局城网内的情况。例如,网络管理员通过网管主机登录公司内 网的服务器进行维护管理,就可以选用传输模式VPN对其管理流量进行加密。 

(2)隧道模式

        如图1.2所示,隧道模式与传输模式的区别显而易见,VPN设备将整个三层数据报文封装在VPN 数据内,再为封装后的数据报文添加新的IP包头。由于在新P包头中封装的是VPN设备的IP地址信 息,所以当攻击者截获数据后,不但无法了解实际载荷数据的内容,同时也无法知道实际通信双方 的地址信息。

        由于隧道模式的VPN在安全性和灵活性方面具有很大的优势,在企业环境中应用十分广泛,总 公司和分公司跨广城网的通信,移动用户在公网访问公司内部资源等很多情况,都会应用隧道模式的VPN对数据传输进行加密。

2.VPN的类型 

        通常情况下,VPN的类型分为站点到站点VPN和远程访问VPN。

(1)站点到站点 VPN

         站点到站点VPN就是通过隧道模式在VPN网关之间保护两个或更多的站点之间的流量,站点间 的流量通常是指局城网之间(L2L)的通信流量。L2L VPN多用于总公司与分公司、分公司之间在公 网上传输重要业务数据。

        如图1.3所示,对于两个局域网的终端用户来说,在VPN网关中间的网络是透明的,就好像通 过一台路由器连接的两个局域网。总公司的终端设备通过VPN连接访问分公司的网络资源,数据包 封装的IP地址都是公司内网地址(一般为私有地址),而VPN网关对数据包进行的再次封装过程 客户端是全然不知的。

(2)远程访问 VPN 

        远程访问VPN通常用于单用户设备与 VPN网关之间的通信连接,单用户设备一般为一台PC或 小型办公网络等。VPN连接的一端为PC,可能会让很多人误解远程访问VPN使用传输模式,但因为 该种VPN往往也是从公网传输关键数据,而且单一用户更容易成为黑客的攻击对象,所以远程访 问VPN对于安全性的要求较高,更适用于隧道模式。

        要想实现隧道模式的通信,就需要给远程客户端分配两个P地址:一个是它自己的NIC地址 另一个是内网地址。也就是说远程客户端在VPN建立过程中同时充当VPN网关(使用NIC地址)和 终端用户(使用内网地址)。

        如图1.4所示,当远端的移动用户与总公司的网络实现远程访问VPN连接后,就好像成为总公 司局域网中一个普通用户,不仅使用总公司网段内的地址访问公司资源,而且因为其使用隧道模式, 真实的IP地址被隐藏起来,实际公网通信的一段链路对于远端移动用户而言就像是透明的。

VPN技术 

1.加密算法

1.对称加密算法

       

        目前常见的加密算法有DES (Data Encryption Standard,数据加密标准),3DES, AES (Advanced Encryption Standard,高级加密标准)等。

(1)DES算法

(2)3DES算法 

        某些生产厂商不使用第3个密钥,但依然称之为3DES。

 (3)AES算法

2.非对称加密算法

(1)算法的原理

        非对称加密算法使用公钥和私钥两个不同的密钥进行加密和解密。用一个密钥加密的数据仅能被另一个密钥解密。且不能从一个密钥推导出另一个密钥。如图1.6所示,假设接收方的公钥和私 钥分别为“p”和“q",客户端传输的明文数据为“m",VPN网关加密后的数据为“C”,而D.E分 别为加密和解密函数。数据加密过程如下。

(2)算法的优、缺点 

(3)DH算法

         DH算法支持可变的密钥长度,由于公钥和私钥的长度不同,因此通过DH算法计算出的共享密 钥的有效长度也就不同,这些都是通过DH算法的密钥组定义的。Cisco的路由器支持DH组1.2.5. 14、15和16,其中DH组1的有效密钥长度为768,DH组2的有效密钥长度为1024.DH组5的有 效 密钥长度为1536、密钥的有效长度越长,安全性也就越强,同时CPU的资源占用率也就越高。因 此,选择合适的DH组要从网络的安全需求和设备本身的性能两方面考虑。      

3.密钥交换

IPSec VPN

        PSec 技术实现VPN是目前较为广泛的一种应用。

IPSec连接

ISAKMP/IKE 阶段 1

 ISAKMP/IKE 阶段 1建立过程

 ISAKMP/IKE 阶段 1相关配置命令 

 

 

ISAKMP/IKE 阶段 2

        ISAKMP/IKE阶段2主要是在两个PSec对等体间建立数据连接,其主要完成以下任务。

>定义对等体间需要保护何种流量.

>定义用来保护数据的安全协议。

>定义传输模式.

>定义数据连接的生存周期及密钥刷新的方式。

         其中,PSec对等体一般是通过ACL (Access Control List,访问控制列表)来匹配那些需要加密 传输的VPN流量。

ISAKMP/IKE 阶段 2建立过程

 ISAKMP/IKE 阶段 2配置命令

实验 

拓扑图

在R1和R3配置VPN 

 各参数配置:

PC10

PC10(config)#int e0/0                             
PC10(config-if)#ip address 192.168.1.10 255.255.255.0
PC10(config-if)#no  shutdown 
PC10(config-if)#ex
PC10(config)#ip route 0.0.0.0 0.0.0.0 192.168.1.1

PC20 

PC20(config)#int e0/0
PC20(config-if)#ip address 192.168.2.20 255.255.255.0
PC20(config-if)#no shutdown 
PC20(config-if)#ex
PC20(config)#ip route 0.0.0.0 0.0.0.0 192.168.2.3 

R1

R1(config)#int e0/0                              
R1(config-if)#ip address 192.168.1.1 255.255.255.0 
R1(config-if)#no shutdown 
R1(config-if)#int e0/1                            
R1(config-if)#ip address 100.100.100.1 255.255.255.0
R1(config-if)#no shutdown
R1(config-if)#exit
R1(config)#ip route 0.0.0.0 0.0.0.0 100.100.100.2 


1.定义认证集
R1(config)#crypto isakmp policy 1
R1(config-isakmp)#hash md5 
R1(config-isakmp)#authentication pre-share 
R1(config-isakmp)#group 2
R1(config-isakmp)#encryption des 
设置共享密钥
R1(config-isakmp)#exit    
R1(config)#crypto isakmp key abc-123 address 200.200.200.3

2.隧道
R1(config)#crypto ipsec transform-set vpn ah-md5-hmac esp-des 
R1(cfg-crypto-trans)#mode tunnel 
创建ACL策略规定VPN范围流量
R1(cfg-crypto-trans)#exit
R1(config)#access-list 100 permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255

3.策略MAP
R1(config)#crypto map vpn 10 ipsec-isakmp 
R1(config-crypto-map)#set peer 200.200.200.3
R1(config-crypto-map)#set transform-set vpn 
R1(config-crypto-map)#match address 100

4.应用到接口
R1(config-crypto-map)#exit
R1(config)#interface ethernet 0/1
R1(config-if)#crypto map vpn

R2

R2(config)#int e0/0
R2(config-if)#ip address 100.100.100.2 255.255.255.0
R2(config-if)#no shutdown 
R2(config-if)#int e0/1                              
R2(config-if)#ip address 150.150.150.2 255.255.255.0
R2(config-if)#no shutdown 
R2(config-if)#int e0/2
R2(config-if)#ip address 200.200.200.2 255.255.255.0
R2(config-if)#no shutdown 

R3

R3(config)#int e0/0
R3(config-if)#ip address 200.200.200.3 255.255.255.0
R3(config-if)#no sh
R3(config-if)#int e0/1
R3(config-if)#ip address 192.168.2.3 255.255.255.0
R3(config-if)#no shutdown 
R3(config-if)#ex
R3(config)#ip route 0.0.0.0 0.0.0.0 200.200.200.2



1.定义认证集
R3(config)#crypto isakmp policy 1
R3(config-isakmp)#hash md5 
R3(config-isakmp)#authentication pre-share 
R3(config-isakmp)#group 2
R3(config-isakmp)#encryption des 
设置共享密钥
R3(config-isakmp)#exit    
R3(config)#crypto isakmp key abc-123 address 100.100.100.1

2.隧道
R3(config)#crypto ipsec transform-set vpn ah-md5-hmac esp-des 
R3(cfg-crypto-trans)#mode tunnel 
创建ACL策略规定VPN范围流量
R3(cfg-crypto-trans)#exit
R3(config)#access-list 100 permit ip 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255

3.策略MAP
R3(config)#crypto map vpn 10 ipsec-isakmp 
R3(config-crypto-map)#set peer 100.100.100.1
R3(config-crypto-map)#set transform-set vpn 
R3(config-crypto-map)#match address 100

4.应用到接口
R3(config-crypto-map)#exit
R3(config)#interface ethernet 0/0
R3(config-if)#crypto map vpn

Server

Service(config)#int e0/0
Service(config-if)#ip address 150.150.150.254 255.255.255.0
Service(config-if)#no sh
Service(config-if)#ex
Service(config)#ip route 0.0.0.0 0.0.0.0 150.150.150.2

测试:

R3#ping 192.168.1.1 source 192.168.2.3  

用R3流量ping192.168.1.1测试

 R1#ping 192.168.2.3 source 192.168.1.1

用R1流量ping192.168.2.3测试

 PC20#ping 192.168.1.10

用局域网PC端测试

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值