VPN

VPN

一、VPN概述

1、VPN定义

Virtual Private Network === 虚拟专用网络/虚拟专网

2、VPN的优点

专线PN(Private Network):不在互联网上,专线两端的通信数据由运营商单独建立的专线网络传输。安全、稳定、高效、低延时,价格高!

U1vqSO.png

VPN:在互联网中传输数据,通信两端使用PKI设施保证通信的机密性、完整性、可用性(身份验证)。VPN是一种技术,可以实现两家公司之间在不安全的网络上安全的传递信息,它解决了专线PN价格高的问题。

3、目前互联网的现状

互联网存在各种风险:数据泄露、数据被篡改、数据伪造伪装。

VPN可以通过在两个公司之间建立VPN隧道,建立“保护”两个网络实体之间的通信。

4、VPN怎么做到安全通信

1)使用加密技术防止数据被窃听(机密性)

2)数据完整性验证防止数据被破坏、篡改(完整性)

3)通过身份认证机制确认身份,防止被伪造、伪装。(身份验证/可用性)

二、VPN的工作模式

1、传统模式

2、隧道模式(默认的模式)

路由器外网端口上的VPN将整个私有IP包进行全部加密,并重新封装新的公网IP包头。

(VPN = 加密技术 + 重新封装技术)

U1vXOH.png

三、VPN的类型

1、远程访问VPN

适用场景:出差员工或者在家办公人员 与 公司建立VPN隧道

远程访问VPN技术: **SSL VPN(主流)**、PPTP VPN(翻墙)、L2TP VPN(翻墙)、SSTP VPN等等

U3SCQS.png

翻墙的原理(远程访问VPN的类型技术):

1)通过选定VPN协议的客户端软件向国外的VPN服务器拨号连接,访问国外的网站由国外的服务器提供服务。

2)在1的前提上在国内架设一台服务器作为代理服务器,替我们请求这个拨号过程,我们只需要在需要翻墙的软件上(例如浏览器)设置网络代理即可,这个软件就会将需要访问网络的操作请求发送到国内代理服务器上,由代理服务器进行数据访问请求以及发送给我们相关的响应。

国家向运营商施压,一般公司的外网出口都设置相关的限制比如ACL,禁止使用一些VPN协议的拨号服务。但家庭仍然可用。

U39dVH.png

2、点到点VPN

使用场景:公司与公司之间建立VPN隧道

点到点VPN的技术:**IPsecVPN安全协议框架(99.9%)**、GRE VPN(运营商)、MPLS VPN(运营商)等等。

U3SkZj.png

四、VPN加密技术

1、对称加密算法(见前章节)

2、非对称加密算法(见前章节)

3、哈希/摘要算法(见前章节)

五、IPsecVPN工作原理

建立IPsecVPN隧道

① 利用ACL表定义保护的VPN流量触发条件

如:北京内部:192.168.1.0/24 上海内部:172.16.1.0/24

则:需要定义源:192.168.1.0/24 —- 目标:172.16.1.0/24

定义流量触发:也就是定义要保护的流量!

② 利用IKE密钥交换协议建立IKE交换通道管理连接(利用非对称加密算法同步双方对称密钥):

利用非对称加密算法形成信任的加密通道,此阶段主要工作是形成可信的信道,获得可信信道的非对称加密算法的资源:对方的公钥。然后使用这个可信信道的公钥对对称密钥进行加密传输,这样对方也安全的获得了对称加密的密钥。

③ 利用对称加密算法进行数据传输:

使用对称加密算法+预共享密钥+Hash算法(对称加密后的数据+加上预共享密钥生成指纹)传输数据即可。当非对称加密算法的公钥过期后,需要回到②重新获得。

六、IPsecVPN命令与实现

① 利用ACL表定义保护的VPN流量触发条件

1
2
3
conf t
access-list 100 permit ip 192.168.1.0 0.0.0.255 172.16.1.0 0.0.0.255
#如果需要配置多个隧道,则再创建一个流量保护ACL表

②利用非对称加密算法安全交换双方对称密钥阶段: 利用IKE密钥交换协议建立IKE交换通道管理连接与交换密钥,两方的路由器会匹配双方的IKE策略集。:

1
2
3
4
5
6
7
8
9
10
11
conf t
crypto isakmp policy IKE策略集名 #创建IKE(Internet Key Exchange)密钥交换协议策略集,集名为1(规范加密算法、Hash加密算法、DH算法、身份认证方法、(存活时间))
encryption des/3des/aes #加密算法(双方必须一致)
hash md5/sha #哈希算法(完整性)双方必须一致
group 1/2/5 #DH算法(group公钥和私钥的长度:128/256/512)(机密性)双方必须一致
authentication pre-share #设置身份认证的方法为(身份验证)预共享
exit
crypto isakmp key 预共享密钥 address 对方的公网IP地址 #设置预共享的密钥(ESP隧道模式重新封装技术,防止私有地址的包被互联网丢弃)
#如果需要配置多个隧道,且隧道IKE策略集相同,则只需多加一条:
crypto isakmp key 预共享密钥 address 对方的公网IP地址
#show crypto isakmp sa 查看隧道状态

③设置对称加密算法进行数据传输的加密方案:

1
2
cryto ipsec transform-set 加密方案名 esp-des/3des/aes(传输数据用到的对称加密算法) esp-(md5/sha)-hmac #设置数据传输的方案(加-hmac开启身份验证)
#show crypto ipsec sa 查看隧道状态

④定义一个Map映射表(将数据传输的ACL、加密方案以及数据传送目标的公网IP绑定):

1
2
3
4
5
6
crypto map map表名 map表顺序号(隧道号) ipsec-isakmp
match address ACL表名 #匹配VPN流量触发的ACL表
set transform-set 加密方案名
set peer 对方的公网IP地址
exit
#如果需要配置多个隧道,且方案相同只需要再新写多个Map表,新的隧道号。(表名要相同!)

⑤将Map映射表应用到外网端口上,使IPsecVPN生效。

1
2
3
int f0/1(注意f0/1必须是外网端口)
crypto map map表名
exit

七、NAT的豁免技术

豁免技术解决的问题:国际标准组织规定路由器工作的优先级:路由 -》 NAT -》 VPN,所以如果公司路由器同时配置了IPsecVPN和NAT,路由器在做完路由将数据包送到端口后,会先进行NAT地址转换,然后进行VPN的ACL表匹配,这样由于NAT后得到的都是公网地址,因此就会产生无法对源IP是私有地址的VPN保护流量ACL表正确匹配的问题。因此,为了解决这个问题,就可以在NAT的ACL表(要使用扩展ACL)中的开头deny所有VPN的保护流量,防止/豁免对这部分保护流量进行NAT源地址转换即可

1
2
3
acc 101 deny ip 192.168.1.0 0.0.0.255 172.16.1.0 0.0.0.255
acc 101 permit ip 192.168.1.0 0.0.0.255 any
ip nat inside source list 101 int f0/1 overload

U8rKbR.png

八、作业

1、IPsecVPN点到点私网通信

U3Tncn.png

2、NAT豁免技术

UJcZYn.png

3、IPsecVPN点到多点配置,同时做豁免

UJcAoj.png

3、

当前网速较慢或者你使用的浏览器不支持博客特定功能,请尝试刷新或换用Chrome、Firefox等现代浏览器