1. VPN简介
隧道: 是利用一种协议来传输另外一种协议的技术,共涉及三种协议,包括:乘客协议、隧道协议和承载协议。
VPN(Virtual Private Network,虚拟专用网): 就是利用开放的公众IP/MPLS网络建立专用数据传输通道,将远程的分支机构、移动办公人员等连接起来。实质是通过隧道技术在公众IP/MPLS网络上仿真一条点到点的专线 。
2. IPSec
2.1 IPSec简介
IPSec: 是一种开放标准的框架结构,特定的通信方之间在IP层通过加密和数据摘要(hash)等手段,来保证数据包在Internet 网上传输时的私密性(confidentiality) 、完整性(data integrity)和真实性(origin authentication)。
IPSec只能工作在IP层,要求乘客协议和承载协议都是IP协议。
对称加密: 加密密钥与解密密钥相同。
由于对称加密的运算速度快,所以IPSec使用对称加密算法来加密数据。
hash运算: 对数据和密钥一起进行处理,保证完成性的同时抵御外部攻击。
DH算法: 完成对称密钥的交换。
身份认证: 保证数据的真实性。常用的身份认证方式包括:Pre-shared key(预共享密钥)、RSA Signature(数字签名)。
2.1 IPSec框架结构
2.2 IPSec封装模式
IPSec支持两种封装模式:传输模式和隧道模式。
(1). 传输模式:不改变原有的IP包头,通常用于主机与主机之间。
(2). 隧道模式:增加新的IP头,通常用于私网与私网之间通过公网进行通信。
2.3 IPSec与NAT
AH模式无法与NAT一起运行:
- AH对包括IP地址在内的整个IP包进行hash运算,而NAT会改变IP地址,从而破坏AH的hash值。
- 只进行地址映射时,ESP可与它一起工作。
- 进行端口映射时,需要修改端口,而ESP已经对端口号进行了加密或hash,所以将无法进行。
- 启用IPSec NAT穿越后,会在ESP头前增加一个UDP头,就可以进行端口映射。