我无法解释奇怪的 NAT 行为,希望有人可以帮忙:
我家有一个 linksys wrt54g 路由器。
- 客户端每 15 秒从 192.168.1.20:16688(NAT 外部公共 IP/端口可通过 STUN 获知)向公共服务器发送一次 UDP 保活数据包。(公共服务器将忽略客户端保活数据包并且不会发回响应)
- 服务器将随机消息(几个数据包)发送回客户端的 NAT 公共地址/端口
- 客户端收到服务器发来的数据包 OK
但是,客户端只从服务器接收一次消息,之后客户端就不再能从服务器接收消息了。我嗅探了 NAT 外部链接,数据包确实到达了 NAT。看起来即使每 15 秒发送一次保持活动数据包,NAT 端口映射也被删除了。
我已经测试了其他 NAT,没有发现这样的问题。
谢谢,
丹尼尔