Nat穿透方法分析

合集下载

IPsecVPN协议的NAT穿透与防火墙配置

IPsecVPN协议的NAT穿透与防火墙配置

IPsecVPN协议的NAT穿透与防火墙配置IPsec VPN协议的NAT穿透与防火墙配置在互联网时代,数据传输的安全性与稳定性成为了企业和个人用户所关注的重要问题。

虚拟私人网络(VPN)的出现有效地解决了这一问题,而IPsecVPN协议则在VPN中扮演着重要的角色。

然而,由于网络环境的复杂性,许多用户在使用IPsec VPN时遇到了NAT穿透和防火墙配置的问题。

本文将探讨这些问题,并提供适当的解决方案。

一、NAT穿透的概念及问题1. NAT穿透的概念NAT穿透指的是在网络中使用了网络地址转换(NAT)设备的情况下,如何实现对IPsec VPN的正常通信。

NAT设备通常会对传输的数据包进行源地址和目的地址的转换,以实现多个内部网络与外部网络的通信。

然而,这种地址转换对IPsec VPN的建立和传输过程产生了一定的影响。

2. NAT穿透的问题及解决方案在进行NAT穿透时,常见的问题包括:a) IPsec VPN的建立问题:由于NAT设备对数据包进行了地址转换,使得原始IP地址无法直接访问到VPN服务端。

为了解决此问题,可以使用NAT-T(NAT Traversal)技术,通过在IPsec数据包中封装额外的数据,以绕过NAT设备的限制。

b) IPsec数据包的加密问题:NAT穿透过程中,由于对数据包进行了地址转换,导致IPsec头部中的源地址和目的地址无法与实际通信双方相匹配。

为了解决此问题,可以使用NAT设备支持的IPsec Passthrough功能,将IPsec头部从转换中豁免,保证加密的完整性。

c) NAT设备与IPsec VPN设备的兼容性问题:不同厂商的NAT设备和IPsec VPN设备对NAT穿透的支持程度各不相同,可能存在兼容性问题。

解决此问题的方法是选择厂商间兼容性较好的设备,或者升级设备的固件以支持更高级的协议。

二、防火墙配置和IPsec VPN协议1. 防火墙的作用防火墙是网络安全的重要组成部分,通过规则配置来控制网络流量的进出,保护内部网络免受外部威胁。

NAT穿透技术穿透原理和方法详解

NAT穿透技术穿透原理和方法详解

NAT穿透技术穿透原理和方法详解NAT(Network Address Translation)是一种将私有网络中的IP地址转换为公网IP地址的技术。

它的主要作用是解决了IPv4地址资源不足的问题,同时也提供了一定程度的网络安全保护。

然而,NAT也带来了一些问题,其中最显著的就是它在一些情况下会阻碍对私有网络中主机的远程访问。

为了解决NAT对远程访问的限制,出现了NAT穿透技术。

NAT穿透技术允许位于私有网络中的主机与公网上的主机建立直接的连接,从而使得私有网络中的主机可以被公网上的主机访问到。

下面详细介绍NAT穿透技术的实现原理和具体方法。

一、NAT穿透的原理:私有网络中的主机首先与穿透服务器建立连接,并将本地IP和端口号发送给穿透服务器。

穿透服务器将这些信息记录下来并分配一个公网IP和端口号。

对于公网上的主机来说,私有网络中的主机就像一个虚拟的公网主机一样可直接访问。

同时,私有网络中的主机也可以主动发起连接到公网上的主机。

私有网络中的主机相当于是通过穿透服务器将自己的通信请求“穿透”了NAT 防火墙,直接到达公网上的主机。

二、NAT穿透的方法:1.端口映射:端口映射是最常见和简单的NAT穿透方法之一、私有网络中的主机将本地的端口号映射到公网IP的一些端口上,然后通过穿透服务器将请求转发到该端口上,从而实现私有网络中主机的远程访问。

2.中继服务器:中继服务器是一种在公网上与私有网络中的主机建立连续连接的方法。

私有网络中的主机首先连接到中继服务器,然后公网上的主机也连接到中继服务器,中继服务器将两端的请求进行转发,从而实现私有网络中的主机和公网上的主机直接通信。

3.UDP打洞:UDP打洞是一种通过UDP协议来穿透NAT防火墙的方法。

私有网络中的主机先向公网主机发送一个UDP数据包,公网主机也向私有网络的主机发送UDP数据包,通过这两个数据包的发送和接收,NAT防火墙会记录下私有网络中主机的IP和端口号,从而实现两者之间的直接通信。

NAT的完全分析及其UDP穿透的完全解决方案

NAT的完全分析及其UDP穿透的完全解决方案

NAT的完全分析及其UDP穿透的完全解决方案一:基本术语防火墙防火墙限制了私网与公网的通信,它主要是将(防火墙)认为未经授权的的包丢弃,防火墙只是检验包的数据,并不修改数据包中的IP地址和TCP/UDP端口信息。

网络地址转换(NAT)当有数据包通过时,网络地址转换器不仅检查包的信息,还要将包头中的IP地址和端口信息进行修改。

以使得处于NAT之后的机器共享几个仅有的公网IP地址(通常是一个)。

网络地址转换器主要有两种类型.P2P应用程序P2P应用程序是指,在已有的一个公共服务器的基础上,并分别利用自己的私有地址或者公有地址(或者两者兼备)来建立一个端到端的会话通信。

P2P防火墙P2P防火墙是一个提供了防火墙的功能的P2P代理,但是不进行地址转换.P2P-NATP2P-NAT 是一个P2P代理,提供了NAT的功能,也提供了防火墙的功能,一个最简的P2P代理必须具有锥形NAT对Udp通信支持的功能,并允许应用程序利用Udp打洞技术建立强健的P2P连接。

回环转换当NAT的私网内部机器想通过公共地址来访问同一台局域网内的机器的时,NAT设备等价于做了两次NAT的事情,在包到达目标机器之前,先将私有地址转换为公网地址,然后再将公网地址转换回私有地址。

我们把具有上叙转换功能的NAT设备叫做“回环转换”设备。

二:NAT分类可以分为基础NAT与网络地址和端口转换(NAPT)两大类(一):基础NAT基础NAT将私网主机的私有IP地址转换成公网IP地址,但并不将TCP/UDP端口信息进行转换。

基础NAT一般用在当NAT拥有很多公网IP地址的时候,它将公网IP地址与内部主机进行绑定,使得外部可以用公网IP地址访问内部主机。

(实际上是只将IP 转换,192.168.0.23 <-> 210.42.106.35,这与直接设置IP地址为公网IP还是有一定区别的,特别是对于企业来说,外部的信息都要经过统一防火墙才能到达内部,但是内部主机又可以使用公网IP)(二):网络地址和端口转换(NAPT)这是最普遍的情况,网络地址/端口转换器检查、修改包的IP地址和TCP/UDP端口信息,这样,更多的内部主机就可以同时使用一个公网IP地址。

穿透技术分析报告

穿透技术分析报告

篇一:穿透技术分析报告中间件-nat穿透技术研究报告版本:v0.5*变化状态:a——增加,m——修改,d——删除,n——正式发布1 引言1.1 目的本文简要的概括了目前正在流行的p2p技术及其实际运用,防火墙的基本概念及工作方式,以及p2p技术穿透防火墙的几种简单实现。

1.2 术语定义nat: 网络地址转换(network address translation)属接入广域网(wan)技术,是一种将私有(保留)地址转化为合法ip地址的转换技术,它被广泛应用于各种类型internet接入方式和各种类型的网络中。

原因很简单,nat不仅完美地解决了lp地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。

1.3 参考资料[rfc1631] : egevang k, francis p.the ip network address translator (nat) , ietf , may 1994. [rfc2993]: hain t. architectural implications of nat.rfc2993, november 2000. [rfc2663]: srisuresh p, holdrege m.ip network address translator (nat) terminology and considerations[ s] .rfc 2663, ietf, august 1999.[rfc3489]: rosenberg j, holdrege m, huitema c etc. stun - simple traversal of user datagram protocol (udp) through network address translators (nats).rfc3489, march 2003.2 p2p概述2.1 p2p发展近年来,p2p技术正逐渐成为技术界的一个热门话题,与之相关的商业应用的讨论也越来越热烈。

图解 SIP 穿透NAT的问题

图解 SIP 穿透NAT的问题

图解 SIP 穿透NAT的问题NAT是指网络地址转换。

它是这样一种技术,在Internet公网的IP 不够的情况下,让公司或者家庭的多台电脑,共用一个公网的IP地址上网。

常见的宽带路由器,就有这样的功能。

如下面的示意图。

RTP 协议RTP 即实时传输协议(Real-Time Transport Protocol)。

RTP是传输语音、视频图像等实时数据的协议。

使用RTP传输时,需要知道对方的IP地址和端口。

SIP协议SIP协议,就是帮助呼叫双方,找到对方的IP地址和端口,及协商多媒体的类型和格式等信息。

如图。

你与朋友打电话,你的 IP是1.2.3.4 , RTP端口是 8000。

朋友的IP是193.226.0.1 ,用的RTP 端口是9000。

这样,知道了双方的IP地址与端口,双方就能够通信。

SIP+RTP 穿透问题SIP穿透NAT时,遇到的问题,实际上不是SIP穿不过NAT,本质上是RTP的问题,是RTP的数据穿不过NAT。

SIP设备要在SIP消息包中,声明它所使用的RTP端口。

当SIP设备在NAT后面时,它难以准确地预知 NAT分给它的公网的RTP端口;也就是说,SIP设备难以知道它使用RTP端口(NAT公网IP上分给RTP的端口)是多少。

对SIP服务的运营商来说,如果中转语音数据,则这个问题就比较好解决。

如使用SIP会话边界控制器SBC。

用SIP SBC 来中转语音、视频数据流,因为SBC总是在公网的IP地址上运行,则SIP设备把RTP数据发送到公网上的SBC上,是不会有问题的。

Skype 解决NAT穿透的方法Skype 解决NAT穿透的方法很聪明,它是利用在公网上运行的Skype软件,来中转在 NAT 后面的Skype软件语音数据流。

也就是说,如果你使用 Skype 软件且用的是公网IP地址,可能你的电脑在中转其它的 Skype 用户的语音数据,而你自己并不知道。

五大NAT穿透方法,解决内网问题

五大NAT穿透方法,解决内网问题

五⼤NAT穿透⽅法,解决内⽹问题许多程序在局域⽹中是可以适⽤的,但是在外⽹与内⽹之间和内⽹与内⽹之间就不可⾏。

问题就在于NAT,本⽂就将介绍下5⼤NAT穿透⽅法,解决内外⽹的互访问题。

1.完全锥形(Full Cone)NAT处于不同内⽹的主机A和主机B,各⾃先连接服务器,从⽽在各⾃NAT设备上打开了⼀个“孔”,服务器收到主机A和主机B的连接后,知道A与B的公⽹地址和NAT分配给它们的端⼝号,然后把这些NAT地址与端⼝号告诉A与B,由于在完全锥形NAT的特点,A和B给服务器所打开的“孔”,能给别的任何的主机使⽤。

故A与B可连接对⽅的公⽹地址和端⼝直接进⾏通信。

服务器在这⾥充当“介绍⼈”,告诉A与B对⽅的地址和端⼝号。

2.受限制锥形(Restricted Cone)NATA和B还是要先连接服务器,服务器发送A和B的地址和端⼝信息给A和B,但由于受限制锥形NAT的特点,他们所打开的“孔”,只能与服务器通信。

要使他们可以直接通信,解决办法如下:假如主机A开始发送⼀个UDP信息到主机B的公⽹地址上,与此同时,它⼜通过服务器中转发送了⼀个邀请信息给主机B,请求主机B也给主机A发送⼀个UDP信息到主机A的公⽹地址上。

这时主机A向主机B的公⽹IP发送的信息导致NAT A打开⼀个处于主机A的和主机B之间的会话,与此同时,NAT B也打开了⼀个处于主机B和主机A的会话。

⼀旦这个新的UDP会话各⾃向对⽅打开了,主机A和主机B之间就可以直接通信了[14]。

3.端⼝受限制锥形(Port Restricted Cone)NAT对于该类型的NAT,解决办法跟上⾯的⽅法⼀样。

4.对称型(Symmetric)NAT对称型NAT,对于不同的外⽹主机地址,它都会分配不同的端⼝号,所以进⾏UDP打孔⽐较困难,但也可以进⾏端⼝预测打孔,不过不能保证成功。

以上的穿透NAT,是对NAPT来进⾏穿透,主要是针对UDP协议。

TCP协议也有可能,但是可⾏性⾮常⼩,要求更⾼。

nat穿透转发规则

nat穿透转发规则

nat穿透转发规则
NAT穿透是指在使用网络地址转换(NAT)的情况下,允许外部网络中的设备直接访问内部网络中的设备。

为了实现NAT穿透,通常需要设置相应的转发规则。

下面是一般情况下常用的NAT穿透转发规则:
1. 确定内部设备的IP地址和端口:首先需要确定内部设备(如服务器或应用程序)的IP地址和监听或服务端口号。

2. 配置端口转发规则:在路由器或防火墙上进行端口转发配置,将外部网络中的特定端口的流量转发至内部设备的指定端口。

通常需要设置以下参数: - 外部端口:外部设备将使用的端口号。

- 内部IP地址:内部设备的IP地址。

- 内部端口:内部设备用于监听或服务的端口号。

3. 允许流量通过防火墙:确保防火墙或网络设备允许指定的外部端口流量通过,以便流量可以正确转发至内部设备。

需要注意的是,具体的NAT穿透转发规则设置可能会因网络设备、厂商和配置方式而有所不同。

此外,为了安全起见,应仅允许必要的端口通过,并且在设置转发规则时要考虑网络的安全性。

对于复杂的网络环境或特定的应用程序,可能需要更多高级配置或使用专门的NAT穿透工具或技术来实现穿透转发规则。

NAT穿透技术穿透原理和方法详解

NAT穿透技术穿透原理和方法详解

NAT穿透技术穿透原理和方法详解NAT穿透技术是指在网络地址转换(NAT)环境下,通过一系列方法和技术,使内部设备能够与外部设备进行通信和访问。

NAT穿透技术的出现,解决了NAT所带来的通信限制和访问障碍问题,提供了更便捷的网络连接方式。

1. UPnP(Universal Plug and Play):UPnP是一种网络协议,用于自动配置设备和服务的网络通信。

UPnP可以帮助设备自动在NAT设备上创建端口映射,使内部设备能够直接被外部设备访问。

2. STUN(Simple Traversal of UDP through NAT):STUN是一种基于UDP的NAT穿透技术。

通过STUN服务器的中转,可以获取NAT设备的地址信息,进而建立内外设备的连接。

STUN可以通过多种方式获取地址信息,包括使用UDP报文中的IP地址和端口号等。

3. TURN(Traversal Using Relays around NAT):TURN是一种通过中继服务器实现NAT穿透的技术。

当无法直接建立连接时,内部设备可以通过TURN服务器作为中继,通过中继服务器与外部设备进行通信和交换数据。

4. ICE(Interactive Connectivity Establishment):ICE是一种综合利用STUN和TURN的NAT穿透技术。

ICE通过候选地址收集、比较和优选等步骤,选择最优的传输路径,确保内外设备之间的通信畅通。

以上方法中,UPnP是最简单且常用的NAT穿透技术,可以自动配置和映射端口,让内部设备能够被外部设备直接访问。

但是UPnP需要设备和路由器支持,而且由于安全性问题,有些网络中禁用了UPnP。

而STUN、TURN和ICE等技术则依赖于中继服务器和地址信息的获取,相对更加复杂一些,但是可以在更广泛的网络环境中使用。

总结来说,NAT穿透技术通过各种方法和技术,使得内部设备能够与外部设备进行通信和访问。

不同的NAT穿透方法适用于不同的网络环境,选择合适的方法能够提高网络连接和通信的效率。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Nat穿透方法分析
一、nat分类
静态NAT (Static NAT)
内部网络中的每个主机都被永久映射成外部网络中的某个合法的地址。

动态地址NAT (Pooled NAT)
在外部网络中定义了一系列的合法地址,采用动态分配的方法映射到内部网络。

网络地址端口转换NAPT(Port-Level NAT)
把内部地址映射到外部网络的一个IP地址的不同端口上。

二、基本nat分类
(1)Full Cone NAT(完全圆锥型)
NAT会将客户机地址{X:y}转换成公网地址{A:b}并绑定任何包都可以通过地址{A:b}送到客户主机的{X:y}地址上
(2)Address Restricted Cone NAT(地址限制圆锥型 )
NAT会将客户机地址{X:y}转换成公网地址{A:b}并绑定只有来自主机{P}的包才能和主机{X:y}通信
(3)Port Restricted Cone NAT(端口限制圆锥型)
NAT会将客户机地址{X:y}转换成公网地址{A:b}并绑定只有来自主机{P,q}的包才能和主机{X:y}通信
(4)Symmetric NAT(对称型)
NAT会将客户机地址{X:y}转换成公网地址{A:b}并绑定为{X:y}|{A:b}<->{P:q} NAT只接受来自{P:q}的incoming packet,将它转给{X:y} 每次客户机请求一个不同的公网地址和端口,NAT会新分配一个端口号{C,d}
三、Nat穿透方法分析
A机器在私网(192.168.0.4)
A侧NAT服务器(210.21.12.140)
B机器在另一个私网(192.168.0.5)
B侧NAT服务器(210.15.27.140)
C机器在公网(210.15.27.166)作为A和B之间的中介
A机器连接过C机器,假使是 A(192.168.0.4:5000)-> A侧NAT(转换后210.21.12.140:8000)-> C(210.15.27.166:2000)
B机器也连接过C机器,假使是 B(192.168.0.5:5000)-> B侧NAT(转换后210.15.27.140:8000)-> C(210.15.27.166:2000)
A机器连接过C机器后,A向C报告了自己的内部地址(192.168.0.4:5000),此时C不仅知道了A的外部地址
(C通过自己看到的210.21.12.140:8000)、也知道了A的内部地址。

同理C也知道了B的外部地址(210.15.27.140:8000)和
内部地址(192.168.0.5:5000)。

之后,C作为中介,把A的两个地址告诉了B,
同时也把B的两个地址告诉了A。

假设A先知道了B的两个地址,则A从192.168.0.4:5000处同时向B的两个地址192.168.0.5:5000和210.15.27.140:8000发包
,由于A和B在两个不同的NAT后面,故从A(192.168.0.4:5000)到B (192.168.0.5:5000)的包肯定不通,现在看
A(192.168.0.4:5000)到B(210.15.27.140:8000)的包,分如下两种情况:1、B侧NAT属于Full Cone NAT
则无论A侧NAT属于Cone NAT还是Symmetric NAT,包都能顺利到达B。

如果P2P程序设计得好,使得B主动到A的包也能借用
A主动发起建立的通道的话,则即使A侧NAT属于Symmetric NAT,B发出的包也能顺利到达A。

结论1:只要单侧NAT属于Full Cone NAT,即可实现双向通信。

2、B侧NAT属于Restricted Cone或Port Restricted Cone
则包不能到达B。

再细分两种情况
(1)、A侧NAT属于Restricted Cone或Port Restricted Cone
虽然先前那个初始包不曾到达B,但该发包过程已经在A侧NAT上留下了足够的记录:
A(192.168.0.4:5000)->(210.21.12.140:8000)->B(210.15.27.140:8000)。

如果在这个记录没有超时之前,
B也重复和A一样的动作,即向A(210.21.12.140:8000)发包,虽然A侧NAT 属于Restricted Cone或Port Restricted Cone,
但先前A侧NAT已经认为A已经向B(210.15.27.140:8000)发过包,故B向A (210.21.12.140:8000)发包能够顺利到达A。

同理,此后A到B的包,也能顺利到达。

结论2:只要两侧NAT都不属于Symmetric NAT,也可双向通信。

换种说法,只要两侧NAT都属于Cone NAT,即可双向通信。

(2)、A侧NAT属于Symmetric NAT
因为A侧NAT属于Symmetric NAT,且最初A到C发包的过程在A侧NAT留下了如下记录:
A(192.168.0.4:5000)->(210.21.12.140:8000)-> C(210.15.27.166:2000),故A到B发包过程在A侧NAT上留下的记录为:
A(192.168.0.4:5000)->(210.21.12.140:8001)->B(210.15.27.140:8000)(注意,转换后端口产生了变化)。

而B向A的发包,只能根据C给他的关于A的信息,发往A(210.21.12.140:8000),因为A端口受限,故此路不通。

再来看B侧NAT,由于B也向A发过了包,且B侧NAT属于Restricted Cone或Port Restricted Cone,故在B侧NAT上留下的记录为:
B(192.168.0.5:5000)->(210.15.27.140:8000)->A(210.21.12.140:8000),此后,如果A还继续向B发包的话
(因为同一目标,故仍然使用前面的映射),如果B侧NAT属于Restricted Cone,则从A(210.21.12.140:8001)来的包能够顺利到达B;
如果B侧NAT属于Port Restricted Cone,则包永远无法到达B。

结论3:一侧NAT属于Symmetric NAT,另一侧NAT属于Restricted Cone,也可双向通信。

显然,还可得出另一个不幸的结论4,两个都是Symmetric NAT或者一个是Symmetric NAT、另一个是Port Restricted Cone,
则不能双向通信。

上面的例子虽然只是分析了最初发包是从A到B的情况,但是,鉴于两者的对称性,并且如果P2P程序设计得足够科学,
则前面得出的几条结论都是没有方向性,双向都适用的。

通过上述分析,我们得知,在穿越NAT方面,Symmetric NAT和Port Restricted Cone是有本质区别的,尽管他们表面上看起来相似。

我们上面得出了四条结论,而natcheck网站则把他归结为一条:只要两侧NAT 都属于Cone NAT
(含Full Cone、Restricted Cone和Port Restricted Cone三者),即可双向通信。

而且natcheck网站还建议尽量使用Port Restricted Cone,以充分利用其端口受限的属性确保安全性。

相关文档
最新文档