NAT是英文Network Address Translation的简写,即”网络地址转换“。它是一个IETF标准,允许一个整体单位机构以一个公用IP地址出现在互联网上。通俗讲就是把单位或组织的所有的网络设备放在一个公用IP地址下使用,不仅能解决公网IP地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。
所有类型的NAT分为两类; 静态NAT和动态NAT。静态NAT是手动创建和维护NAT映射的方法,通常与入站类型的NAT相关联。动态 NAT 是路由器根据需要自动创建和维护映射的地方,通常与出站类型的NAT 相关联。
NAT的共同特征
每个TCP/IP数据包都包含一个源IP地址、源端口、目的IP地址和目的端口。 所有类型的NAT都使用这些值创建NAT映射。
NAT的四种类型
1、全锥型NAT(Full cone NAT),即一对一(one-to-one)NAT
- 一旦内部地址(iAddr:iPort)映射到外部地址(eAddr:ePort),所有发自 iAddr:iPort 的数据包都经由 eAddr:ePort 向外发送。
- 任意外部主机都能经由发送数据包给 eAddr:ePort 到达 iAddr:iPort。
2、受限锥型NAT((Address-)Restricted cone NAT)
-
- 一旦内部地址(iAddr:iPort)映射到外部地址(eAddr:ePort),所有发自 iAddr:iPort 的数据包都经由 eAddr:ePort 向外发送。
- 仅 iAddr:iPort 曾经发送数据包到外部主机(nAddr:any),外部主机才能经由发送数据包给 eAddr:ePort 到达 iAddr:iPort。(注:any 指外部主机源端口不受限制。)
3、端口受限锥型NAT(Port-Restricted cone NAT)
类似受限锥形NAT(Restricted cone NAT),但是还有端口限制。
- 一旦内部地址(iAddr:iPort)映射到外部地址(eAddr:ePort),所有发自 iAddr:iPort 的数据包都经由 eAddr:ePort 向外发送。
- 在受限锥型NAT基础上增加了外部主机源端口必须固定。
4、对称型NAT(Symmetric NAT)
- 每一个来自相同内部 IP 与端口,到一个特定目的地 IP 和端口的请求,都映射到一个独特的外部 IP和端口。同一内部 IP 与端口发到不同的目的地和端口的信息包,都使用不同的映射。
- 只有曾经收到过内部主机数据的外部主机,才能够把数据包发回。
对称型NAT应用限制的方式与端口受限锥形NAT完全相同,但处理NAT转换的方式不同。对称NAT更复杂。在对称NAT中,限制的应用与锥形NAT完全相同,但限制的转换处理方式不同。
pfSense和OPNsense使用的是对称型NAT(Symmetric NAT),由于对称型NAT的特殊性,在使用一些应用程序时可能存在问题。例如使用Xbox或PS3,或者挂网心云之类软件时,会提示一些连接问题。一般的解决办法有以下几种:使用1:1,完全放开对内部主机的访问;打开UPnP;采用混合出站或手动出站,手动添加端口范围或使用静态端口映射规则;如果使用的端口不多,也可以手动添加端口转发规则。
在测试防火墙上,未使用1:1NAT前,网心云显示的NAT类型为端口限制型,使用1:1后,显示的NAT类型为映射公网型。