为什么长时间保持的连接有时会突然断开
每个连接背后的NAT表记录都有存活期限,一旦因长时间没有流量而过期,路由器就不知道该把响应转发到哪里了。需要长时间保持连接、但流量并不连续的在线游戏和视频通话尤其容易受影响——通话安静太久,或者游戏过程中出现网络流量的空档期,都可能导致对应的NAT映射过期,连接随之意外中断。意识到这个问题的应用程序,通常会按固定间隔发送很小的"保活"数据包,专门用来让NAT表里的记录保持存活。
NAT看起来像防火墙,但它并不是防火墙
NAT默认拦截未经请求的入站连接,只是其工作原理带来的一个附带效果,而不是刻意设计的安全控制手段——它并不区分恶意流量和正常流量,不会记录被拦截的尝试,也无法检查数据包内部的具体内容。真正的防火墙会依据明确制定的规则来决定放行哪些流量。这也是为什么如果只依赖NAT、而没有配备真正的防火墙功能,网络就会缺少专业安全工具才能提供的那种精细控制。
常见问题
NAT和防火墙是一回事吗?
不是。NAT的职责只是转换地址,默认拦截未经请求的外部连接只是这种转换机制带来的附带效果,而不是刻意设计的安全功能。要按精细规则过滤流量,需要另外配备真正的防火墙功能。
用了IPv6是不是就不需要NAT了?
IPv6的地址空间极其庞大,理论上可以给每台设备都分配一个公网地址,使NAT不再是必需品。但现实中,在可预见的一段时间里,大多数网络仍会同时运行IPv4和IPv6,所以NAT很可能还会继续在日常中被使用一段时间。