用IPsec如何穿透NAT?
答案:3 悬赏:70 手机版
解决时间 2021-03-31 13:55
- 提问者网友:niaiwoma
- 2021-03-30 21:46
用IPsec如何穿透NAT?
最佳答案
- 五星知识达人网友:蓝房子
- 2021-03-30 23:20
IPSec数据包在穿越NAT时会遇到一个很严重的问题,因为NAT机制会修改数据包的IP及TCP或UDP包头内容,而IPSec为了确保数据包的安全性,也会逐一检查每个IPSec的数据包,一旦数据包内容(包含包头)有任何变动,这些数据包就会被IPSec机制丢弃,所以IPSec数据包是无法穿越NAT的。但如果真是这样,那IPSec在使用上将受到严重限制,IPSec协议终于可以穿越NAT了,这项技术规范是在rfc3947中定义的,称为“NAT-Traversal”,简称为NAT-T。
从以上两个IPSec数据包的结构图,可以很清楚看到图16-77中在ESP及IP包头之间多了一个UDP包头,这是IPSec数据包可以穿越NAT的关键之处。当IPSec数据包有了这个UDP包头之后,IPSec数据包再穿越NAT主机时,NAT主机便可以修改IP包头及UDP包头的内容,但IPSec数据包的接收端并不会检查IP包头及UDP包头的内容,因而使得IPSec数据包可以正常穿越NAT主机。 那要如何在racoon下启用NAT-T的功能。以图16-78及配置文件为例,可以看到racoon的配置文件与以前的内容并无太大差异。主要差别在第5行到第16行及第20行,其中第9行及第10行的IP是L2TP服务器在因特网的公网IP,除此之外,其他设置步骤与之前的示例完全相同即可。
从以上两个IPSec数据包的结构图,可以很清楚看到图16-77中在ESP及IP包头之间多了一个UDP包头,这是IPSec数据包可以穿越NAT的关键之处。当IPSec数据包有了这个UDP包头之后,IPSec数据包再穿越NAT主机时,NAT主机便可以修改IP包头及UDP包头的内容,但IPSec数据包的接收端并不会检查IP包头及UDP包头的内容,因而使得IPSec数据包可以正常穿越NAT主机。 那要如何在racoon下启用NAT-T的功能。以图16-78及配置文件为例,可以看到racoon的配置文件与以前的内容并无太大差异。主要差别在第5行到第16行及第20行,其中第9行及第10行的IP是L2TP服务器在因特网的公网IP,除此之外,其他设置步骤与之前的示例完全相同即可。
全部回答
- 1楼网友:行雁书
- 2021-03-31 01:40
IPSec数据包在穿越NAT时会遇到一个很严重的问题,因为NAT机制会修改数据包的IP及TCP或UDP包头内容,而IPSec为了确保数据包的安全性,也会逐一检查每个IPSec的数据包,一旦数据包内容(包含包头)有任何变动,这些数据包就会被IPSec机制丢弃,所以IPSec数据包是无法穿越NAT的。但如果真是这样,那IPSec在使用上将受到严重限制,幸运的是在大家的努力下,IPSec协议终于可以穿越NAT了,这项技术规范是在rfc3947中定义的,称为“NAT-Traversal”,简称为NAT-T。那NAT-T到底是如何让IPSec数据包可以穿越NAT的呢
从以上两个IPSec数据包的结构图,我们可以很清楚看到图16-77中在ESP及IP包头之间多了一个UDP包头,这是IPSec数据包可以穿越NAT的关键之处。当IPSec数据包有了这个UDP包头之后,IPSec数据包再穿越NAT主机时,NAT主机便可以修改IP包头及UDP包头的内容,但IPSec数据包的接收端并不会检查IP包头及UDP包头的内容,因而使得IPSec数据包可以正常穿越NAT主机。 那我们要如何在racoon下启用NAT-T的功能呢?以图16-78及配置文件为例,可以看到racoon的配置文件与以前的内容并无太大差异。主要差别在第5行到第16行及第20行,其中第9行及第10行的IP是L2TP服务器在因特网的公网IP,除此之外,其他设置步骤与之前的示例完全相同。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯