简述VPN及其配置

By | 四月 19, 2016

虚拟专网VPN-Virtual Private Network)指的是在公用网络上建立专用网络的技术。之所以称为虚拟网主要是因为整个VPN网络的任意两个节点之间的连接并没有传统专网所需的端到端的物理链路,而是架构在公用网络服务商所提供的网络平台(如Internet,ATM,Frame Relay等)之上的逻辑网络,用户数据在逻辑链路中传输。
全新邮箱24小时自动提货系统:本站提供全新谷歌(gmail),脸书(facebook)推特(twitter)等主流账号
一、从接入方式上来区分的类型,大致分为两种类型:场对场的VPN接入与远程访问型的VPN接入。

场对场的VPN接入(Site to Site VPN),如下图所示, 一般也叫作“网对网(一个网络对另一个网络)”的VPN连接,通常这种连接方式发生在两个远程机构的边界网关设备上,凡是穿越了两个边界网关设备的数据都会被VPN做加密处理。该连接方式大多用于两个较为固定的办公场所,而且两个场所之间需要持续性的VPN连接

远程访问类型的VPN接入(Remote Access VPN),如下图所示,一般也叫作“点对网(一个通信点连接一个网络)”的VPN连接,通常这种连接方式发生在某个公派外地的个人用户通过远程拨号VPN的方式来连接企业总部,以获取安全访问企业内部资源的过程。该连接方式大多用于出差用户到固定办公场所的VPN连接,它的移动性和灵活性相比场对场的VPN而言将更好。

二、几种常用的VPN协议PPTP、L2TP、IPSec:

PPTP(Point to Point Tunneling Protocol,点到点的隧道协议):该协议的最初倡导者是微软公司,后来有许多厂商联盟参与了开发,它是一种支持多协议虚拟专用网络的VPN协议,属于OSI二层协议,其原型是PPP,该协议是在PPP协议的基础上开发的一种新的增强型安全协议,所以PPTP与PPP类似,它内嵌并集成了许多安全认证方式,可以通过密码身份验证协议(PAP)、可扩展身份验证协议(EAP)等方法增强安全性。可以使远程用户通过连接到Internet后,再通过2次拨号的方式连接到企业的VPN服务器,通常PPTP协议用于Microsoft Windows NT 工作站、Windows XP、 Windows 2000/2003/2008、Windows 7的VPN拨号,当然思科也在它的IOS系统中支持该协议。

L2TP(Layer 2 Tunneling Protocol,第二层的隧道协议):L2TP是一种工业标准的Internet隧道协议,L2TP协议最初是由IETF起草,微软、思科、3COM等公司参与并制定的二层隧道协议,它集成了PPTP和L2F两种二层隧道协议的优点,L2F是思科公司的当时VPN的私有解决方案。L2TP将PPP通过公共网络进行隧道传输,提供数据机密性的保障。

IPSec(IP Security,IP安全协议):IPSec是定义在IETF RFC里的各种标准的合并,它只支持TCP/IP协议,它被设计用来专门在公共网络Internet上保护敏感数据的安全,IPSec能用来保障数据的机密性、完整性、数据验证

IPSec是现今VPN应用中最为广泛的协议,因为它是一组开放标准,这使得其他的所有厂商在开发VPN时,最低限度支持IPSec,IPSec使用两种附加AH首部或者ESP来保障数据的完整性或者私密性,通常AH用来保障数据的完整性,ESP用来保障数
据的私密性;可以选择使用AH或者ESP,或者同时使用两者。

AH(Authenticaton Header,认证头部):它使用IP协议号51,AH主要提供数据完整性保证、数据验证、保护数据重放攻击。AH功能可以保证整个数据报文的完整性,当然那些易发生变化的字段(如TTL)除外。AH在传输模式与隧道模式下对IP报文的保护情况如下图所示,无论IPSec处于传输模式还是隧道模式下,AH都可以保障整个数据报文的完整性。

ESP(Encapsulate Security Payload,封装安全性载荷):它使用IP协议号50,ESP提供数据机密性保障。另外,ESP也可以要求接收方主机使用防重放保护功能,通常ESP使用DES、3DE3、AES完成数据加密。ESP可以独立使用,也可以与AH一起使用,但是同时使用ESP与AH并没有特别的优势,因为ESP具备IPSec所提到的所有功能,包括认证。如果选择了ESP的认证和加密,那么加密将在认证之前进行,这样做的原因是它可以使信宿主机(接收点)快速地检测并拒绝重放攻击或者虚假伪造的数据包,在数据解密之前,信宿主机可以对发来的数据包进行认证,这样它可以降低被DoS攻击的危险。ESP在传输模式与隧道模式下对IP报文的保护情况如下图所示。

三、简述IPSec的工作过程

IPSec的基本工作过程

1、首先是IPSec通信的发送方确认要加密的数据流量,如果满足所定义的加密数据流量的规划就进入IPSec的第二步,该过程将被IPSec配置中的ACL所定义;否则,将使用正常路由的方式来转发数据。

2、进入IKE第一阶段的协商,其中包括协商的三个内容:第一个内容是交换IKE的基本安全策略集,这个内容被IPSec配置中的crypto isakmp policy 1(或者其他编号)所定义,这个策略集编号只在本地有效,协商双方所定义的这个策略集编号不一定必须相同;第二个内容是创建与交换DH公钥,这个内容被IPSec配置中的group 1、2、5、7所定义,其目的是允许VPN的双方在不安全的通信通道上建立一个共享密钥;第三个内容是协商对等验证,使用什么样的方式来完成对等验证,有PSK(预共享密钥、RSA签名、RSA加密随机数,在CCNA学习阶段,一般都使用PSK(预共享密钥),这个内容被IPSec配置中的authentication pre-share所定义。上述的三个内容都属于IKE第一阶段的协商,核心目标是,为IKE第二阶段的协商奠定基础和保护第二阶段的协商。

3、进行IKE第二阶段的协商,在这个阶段中主要协商IPSec的安全参数,因为它只产生在IKE第一阶段成功协商完成之后,所以通常把IKE的第二阶段叫作“快速模式”。它在IPSec配置中被crypto ipsec transform-set所定义。

4、当完成上述步骤的协商后,开始安全地发送数据,IPSec将保护这些会话。

5、当需要被保护的数据收发完成后,IPSec完成隧道终结。

四、思科路由器配置

1、定义VPN上使用IPSec策略集:
R1(config)#crypto ipsec transform-set shanghaivpn ah-sha-hmac esp-aes
a、建立VPN连接的两个路由器的策略集应该是一样的;
b、shanghaivpn是我们这个策略集的名称;
c、使用了AH认证头,其算法是哈希算法的sha;
d、加密是使用了esp的aes;

2、在路由器R1上定义IKE的安全策略集:
R1(config)#crypto isakmp policy 1      * 定义IKE安全策略集1
R1(config-isakmp)#encryption aes       * IKE的加密方式为AES
R1(config-isakmp)#hash sha             * IKE的Hash验证为SHA
R1(config-isakmp)#authentication pre-share * IKE验证方式为预共享密钥。
R1(config-isakmp)#group 5              * IKE使用Diffie-Hellman组5.
R1(config-isakmp)#lifetime 40000       * 定义IKE的生命周期
R1(config-isakmp)#exit

3、在路由器R1上定义预共享密钥字符串:
R1(config)#crypto isakmp key shanghai address 202.202.2.2
* 在R1上定义与R2(202.202.2.2)协商的预共享密钥字符串为“shanghai”

4、在路由器R1上定义需要的加密流量:
R1(config)#access-list 101 permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255
* 定义需要的加密流量,加密源子网192.168.1.0到目标子网192.168.2.0的流量

5、在路由器R1上定义加密图,将IPSec的策略集、IKE的安全策略集、需要的加密流量、VPN的对端IP地址全部关联到加密图中:
R1(config)#crypto map shanghai_vpn 1 ipsec-isakmp  * 定义加密图shanghai_vpn
R1(config-crypto-map)#set transform-set shanghaivpn   * 在加密图中调用IPSec的策略集shanghaivpn
R1(config-crypto-map)#set peer 202.202.2.2   * 在加密图中设置VPN的对端IP地址
R1(config-crypto-map)#match address 101 * 在加密图中声明感兴趣的加密流量列表101
R1(config-crypto-map)#exit

6、指定VPN的静态路由:
R1(config)#ip route 192.168.2.0 255.255.255.0 e1/0
* 配置VPN的静态路由,到目标192.168.2.0通过本地路由器R1的E1/0接口转发
将加密图应用到对应的物理接口:
R1(config)#interface e1/0
R1(config-if)#crypto map shanghai_vpn   * 在接口上应用加密图
R1(config-if)#exit

7、R2上的配置与R1基本相同:
关于路由器R2的IPSec-VPN的完整配置如下:
R2(config)#crypto ipsec transform-set shenzhenvpn ah-sha-hmac esp-aes
R2(config)#crypto isakmp policy 1
R2(config-isakmp)#encryption aes
R2(config-isakmp)#hash sha
R2(config-isakmp)#authentication pre-share
R2(config-isakmp)#group 5
R2(config-isakmp)#lifetime 40000
R2(config-isakmp)#exit
R2(config)#crypto isakmp key shanghai address 202.202.1.1
R2(config)#access-list 101 permit ip 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255
R2(config)#crypto map shenzhen_vpn 1 ipsec-isakmp
R2(config-crypto-map)#set transform-set shenzhenvpn
R2(config-crypto-map)#set peer 202.202.1.1
R2(config-crypto-map)#match address 101
R2(config-crypto-map)#exit
R2(config)#ip route 192.168.1.0 255.255.255.0 e1/0
R2(config)#interface e1/0
R2(config-if)#crypto map shenzhen_vpn
R2(config-if)#exit