Symmetric NAT
这是一种比所有Cone NAT都要更为灵活的转换方式:在Cone NAT中,内部主机的内部Tuple与外部Tuple的转换映射关系是独立于内部主机所发出的UDP报文中的目标地址及端口的,即与目标Tuple无关; 在Symmetric NAT中,目标Tuple则成为了NAT设备建立转换关系的一个重要考量:只有来自于同一个内部Tuple 、且针对同一目标Tuple的请求才被NAT转换至同一个外部Tuple,否则的话,NAT将为之分配一个新的外部Tuple;打个比方,当内部主机以相 同的内部Tuple对2个不同的目标Tuple发送UDP报文时,此时NAT将会为内部主机分配两个不同的外部Tuple,并且建立起两个不同的内、外部 Tuple转换关系。与此同时,只有接收到了内部主机所发送的数据包的外部主机才能向内部主机返回UDP报文,这里对外部返回报文来源的限制是与Port Restricted Cone一致的。不难看出,如果说Full Cone是要求最宽松NAT UDP转换方式,那么,Symmetric NAT则是要求最严格的NAT方式,其不仅体现在转换关系的建立上,而且还体现在对外部报文来源的限制方面。
NAT简介
NAT(Network Address Translation,网络地址转换)是1994年提出的。当在专用网内部的一些主机本来已经分配到了本地IP地址(即仅在本专用网内使用的专用地址),但现在又想和因特网上的主机通信(并不需要加密)时,可使用NAT方法。
这种方法需要在专用网连接到因特网的路由器上安装NAT软件。装有NAT软件的路由器叫做NAT路由器,它至少有一个有效的外部全球IP地址。这样,所有使用本地地址的主机在和外界通信时,都要在NAT路由器上将其本地地址转换成全球IP地址,才能和因特网连接。
另外,这种通过使用少量的公有IP 地址代表较多的私有IP 地址的方式,将有助于减缓可用的IP地址空间的枯竭。
NAT类型
要提升NAT类型,我们必须知道程序显示的NAT的4个类型的全称:NAT1、NAT2、NAT3、NAT4。
它们分别对应:
NAT1 → Full Cone NAT
NAT2 → Address-Restricted Cone NAT
NAT3 → Port-Restricted Cone NAT
NAT4 → Symmetric NAT
路由设置
如果你的路由器有启用“**Full Cone”、“STUN”、“TURN”、“ICE”、“uPnP”**等功能,全部都启用了。
Openwrt 开启 防火墙 - Netfilter - NAT 类型 (仅UDP)- Full Cone
NAT 类型检测
https://ehang-io.github.io/nps/#/npc_extend?id=nat%e7%b1%bb%e5%9e%8b%e6%a3%80%e6%b5%8b
./npc nat -stun_addr=stun.stunprotocol.org:3478