剖析NAT-T新任帮主

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剖析NAT-T新任帮主相关的知识,希望对你有一定的参考价值。

技术分享图片
nat-t技术主要是针对pat来说的 ,当IPsec 建立在防火墙的两边时 ,并且穿越pat设备的时候将会出现问题;

现在来描述整个IPsec建立的过程来引出问题的所在。大家都知道ipsec ***隧道建立的过程中要经历六个包的main mode 和 3个包的 quick mode ,当我们启用nat-t的时候

①  首先在main mode的1,2两个包中会协商有没有nat-t的能力;此阶段,我把它叫做nat-t能力协商(针对nat-t来说)
技术分享图片
此处可以看出,运营商代码(vendor id)13 代表了此处支持nat-t的技术;

① 那么,我们怎么知道防火墙有没有做pat能,R1,R2是怎样感知的呢,此时在main mode的3,4个包中会在vendor id 13 中携带两个hash值,这个hash的原料是分别是源端的地址和端口号,目的端的ip地址和端口号 ;此阶段,我把它叫做试探nat
技术分享图片
如果对端发过来的源hash和目的hash相同说明没有做nat,否则说明做了nat

① 此处我是做了nat的 ,所以hash值是不一样的,当ipsec站点发现存在nat,就会改变数据包报头,插入udp的报头封装IPsec(ESP),此包格式更改是从main mode的5,6个包开始,一直到数据的加密全过程;此处有一个疑问,为什么检查到有nat就要改变报头格式呢?
技术分享图片
解释:当IPsec 隧道感知nat的存在时,在穿越pat设备的时候将不改变源端口号,因为有的时候ike在实施的过程中将不会处理源端口号不为500的数据包,那么pat的设备本身就是靠源端口号来进行地址复用的,现在不改变源端口号,固然会出现问题 。所以此时我们要尽可能改变源端口号,让pat设备转换,如上图udp源和目的端口号均为4500(ipsec-nat-t),此后所有的数据包都在udp 4500中传输;
技术分享图片

以上是关于剖析NAT-T新任帮主的主要内容,如果未能解决你的问题,请参考以下文章

交换机cpu负载90%以上新任帮主

Juniper SSG 防火墙安全防护之拒绝服务×××[新任帮主]

趣味学习:一篇文章读懂三层交换机新任帮主

Mybatis源码剖析:传统开发方式源码剖析

Java 并发编程 进阶 -- ThreadLocalRandom类原理剖析原子操作类原理剖析(AtomicLong)并发List原理剖析(CopyOnWriteArrayList)

Java 并发编程 进阶 -- ThreadLocalRandom类原理剖析原子操作类原理剖析(AtomicLong)并发List原理剖析(CopyOnWriteArrayList)