NAT-T:IPsec穿越NAT之道

本文详细介绍了IPsec穿越NAT的矛盾及其解决方案NAT-T,探讨了NAT-T的流程、报文格式以及地址复用问题,强调了身份确认在穿越NAT后的重要性,并分析了在隧道模式和传输模式下可能出现的冲突。
摘要由CSDN通过智能技术生成

目录

1. IPsec与NAT矛盾

2.  身份确认

3.  NAT-T

3.1 NAT-T流程

3.2 报文格式

4.  地址复用

4.1. 隧道模式下的冲突

4.2. 传输模式下的冲突 

4.3. 同一个NAT下的冲突

Q And A

参考资料


1. IPsec与NAT矛盾

在文章《IPsec》及《NAT》中介绍了IPsec及NAT的基本知识。我们知道IPsec的协议分为AH及ESP,封装模式分为传输模式及隧道模式,也知道由于NAT会对IP头进行修改导致AH协议下的IPsec不能穿越NAT

那么ESP协议能不能穿越NAT?ESP协议对数据进行完整性检查,不包括外部的IP头,IP地址转换不会破坏ESP的Hash值。但ESP报文中TCP/UDP的端口已经加密无法修改,所以对于同时转换端口及IP地址的NAT来说,ESP无法穿越NAT。如果NAT只转换IP地址,那么不管是传输模式还是隧道模式,均能穿越NAT。

对于同时转换IP地址及端口的NAT而言,IPsec如何穿越?那就是NAT-T(NAT Traversal)。虽然NAT-T能解决IPsec穿越NAT的问题,但是穿越以后会有如下问题:

1.  穿越NAT后的身份确认:穿越NAT后的身份确认:在IP网络中IP地址是最好的身份标识,IPsec VPN中标准身份标识也是IP地址。NAT处理过程中会改变IP地址,因此IPsec的身份确认机制必须能够适应IP地址变化。目前解决此问题的方法主要有两种,第一种是使用数字证书替代IP地址作为身份标识,第二种是使用字符串取代IP地址作为身份标识;我国内市场范围内,第二种方法更为常见,部署也更为简单,所以本文主要对第二种方法着重进行介绍。

 

2.  IP地址复用:ESP的IP协议号是50,并不是基于UDP和TCP的协议(虽然其封装的是整个IP层数据,包含TCP/UDP等传输层协议),因此当NAT网关背后存在多个ESP应用端时,无法只根据协议号进行反向映射,为了使ESP能够在NAT环境中进行地址复用,ESP必须做出改变。

下文将对上述问题及NAT-T进行介绍。

2.  身份确认

图 1 展示了IPsec穿越NAT时的身份认证过程:

图 1 IPsec穿越NAT时的身份认证

IPsec的身份确认最常见是通过IKE,IKE支持的身份认证机制有两种:

1. 数字证书方式,通过CA数字证书体系确认身份,是最为安全、可靠的方式

2. 身份标识+预共享密钥方式,通过发起方和响应方预先配置相同的密钥,如bigtree,完成双方对彼此身份的认证,这是最为常见的方式

 在预共享秘密钥认证机制中,身份标识则可以分为几类:

1. 指定IP地址,使用IP地址作为身份标识,是IKE的默认方式,响应方只允许指定IP地址发起协商,安全性比较高

2. 指定IP地址范围,这种方式依然使用IP地址作为身份标识,由于发起方必须要指定IP地址,否则无法发起协商,指定IP地址范围是响应方特性,如响应方可以指定2.0.0.0/8范围内的地址都可以发起协商,而不是只允许2.1.1.2发起协商,能够减少配置,但安全性略有下降

3. 什么都不指定,也是使用IP地址作为身份标识,但允许任意IP地址发起协商,只要预共享密钥一致,双方就能够通过身份确认,通常适用于发起方动态获取公网地址,如PPPoE接入互联网方式,还适用于发起方众多,而响应方不想单独为每个发起方单独指定预共享密钥,这种方式虽然不是非常安全,但是可以简化配置,安全性再次下降<

  • 14
    点赞
  • 101
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值