GRE

简介:

单播包
IP-IP的协议
-GRE只提供了数据包的封装,它并没有加密功能来防止网络侦听和攻击。
所以在实际环境中它常和IPsec在一起使用,由IPsec提供用户数据的加密,从而给用户提供更好的安全性。

GRE隧道中传输的数据包格式:

IPsec_IPsec


 

VPN

简介:

VPN只是IPSec的一种应用方式,IPSec其实是IP Security的简称,它的目的是为IP提供高安全性特性,VPN则是在实现这种安全特性的方式下产生的解决方案。IPSec是一个框架性架构,具体由两类协议组成:
1.    AH协议(Authentication Header,使用较少):

可以同时提供数据完整性确认、数据来源确认、防重放等安全特性;AH常用摘要算法(单向Hash函数)MD5和SHA1实现该特性。
2.    ESP协议(Encapsulated Security Payload,使用较广):
可以同时提供数据完整性确认、数据加密、防重放等安全特性;ESP通常使用DES、3DES、AES等加密算法实现数据加密,使用MD5或SHA1来实现数据完整性。
为何AH使用较少呢?因为AH无法提供数据加密,所有数据在传输时以明文传输,而ESP提供数据加密;其次AH因为提供数据来源确认(源IP地址一旦改变,AH校验失败),所以无法穿越NAT。当然,IPSec在极端的情况下可以同时使用AH和ESP实现最完整的安全特性,但是此种方案极其少见。

封装模式:传输模式/隧道模式

区别:

传输模式  

  在AH、ESP处理前后IP头部保持不变,主要用于End-to-End的应用场景。

IPsec_IPsec技术_02

 


隧道模式
  则在AH、ESP处理之后再封装了一个外网IP头,主要用于Site-to-Site的应用场景。
  隧道模式可以适用于任何场景,传输模式只能适合PC到PC的场景
  隧道模式虽然可以适用于任何场景,但是隧道模式需要多一层IP头(通常为20字节长度)开销,所以在PC到PC的场景,建议还是使用传输模式。

IPsec_IPsec_03

 

协商过程

IPsec_IPsec_04

 

 


部署时注意事项:

如果部署了NAT,那么NAT与VPN的执行顺序为先执行NAT,然后再进行VPN,
所以当VPN与NAT一同部署时,一般在NAT中配置ACL拒绝VPN的感兴趣流量,这样当流量到达路由器是,路由器执行NAT,没把VPN的感兴趣流量转换,这时轮到VPN就可以正常工作了。


EasyVPN:

Easy VPN(EzVPN)是思科公司推出的一种远程访问 VPN 服务技术。EzVPN 同样是属于 IPSec 范畴内的 VPN 技术,需要以 IPSec 为基础来实现 VPN 功能。
 EzVPN Server 必须具备静态固定的公网 IP 地址,用以接受任何 EzVPN Client 的 IPSecVPN 连接请求。
通常 EzVPN Client 端的 IP 地址都是动态分配的公网 IP 地址
 Reverse route injection (RRI):

EzVPN Server 为了区分分配出去的 IP 地址分别对应着哪个 EzVPN Client,它会自动产生一条/32 位的静态路由指向对应的 EzVPNClient,但 RRI 的全部功能并不是指产生一条/32 位的静态路由指向对应的EzVPN Client,它还包括将该/32 的静态路由自动重分布进各动态路由协议,而重分布并不是自动执行的,只有在手工开启了 Reverse route injection (RRI),才能获得完整的功能,否则只能自动产生一条/32 的静态路由而不会自动重分布进各动态路由协议。
隧道分离(Split Tunneling) ,

隧道分离让 EzVPN Client 只将需要发到公司总部的流量才通过 IPSec VPN 加密发到 EzVPN Server,而其它如发到 Internet 的流量还是从正常接口出去,这样就能够让 EzVPN Client 端访问公司总部和上 Internet 两不误。