尝试循环对路由器进行 NAT 打洞,为什么不起作用?

尝试循环对路由器进行 NAT 打洞,为什么不起作用?

评论这个答案表示如果目的地位于同一网络中,则不咨询 NAT。但是,如果目的地是路由器的公共 IP,而不是192.168.x.x或类似情况,该怎么办?我的意思是,目的地必须重写,那么为什么 NAT 不完成?或者在这种情况下甚至没有路由?

我在做什么:

ncat.exe -p 33333 84.x.x.x 55555

几秒钟后终止:

Ncat: .

我短暂地看到:

TCP    192.168.178.36:33333   84.x.x.x:55555   SYN_GESENDET
[ncat.exe]

在 Netstat 输出中。到目前为止,一切都如预期的那样。然后我33333尽快启动 XAMPP 并开启监听端口,打开浏览器,输入:84.x.x.x:33333,但超时了。

答案1

NAT 会将来自内部计算机的数据包转换为外部网络的外部 IP(端口无关紧要)。在返回的途中,它会再次转换这些数据包,以便数据包能够到达正确的内部计算机。

如果您从内部定位您的外部 IP,它会在尝试执行 NAT(往返于同一个外部地址)时感到困惑。

因此,如果您的路由器不支持发夹/环回 NAT 功能,它将无法正确路由,因为它无法弄清楚如何转换。如果路由器支持发夹,它将足够智能,只需将流量路由/重新定向回内部(而无需实际对其进行 NAT)。

相关内容