0

我正在尝试连接到位于端口 4000 的 NAT 后面的网络服务器。

在我的网络服务器上,使用 pystun ( https://github.com/jtriley/pystun ) 和命令:

$ pystun -p 4000

我有一个返回值

NAT Type: Symmetric NAT External IP: <ip> External Port: 1024

但是当我尝试从 http://:1024 访问它时,我无法连接并且它总是停留在等待响应。

这是使用 STUN 的正确方法吗?

4

1 回答 1

1

你的 NAT只为你的 STUN 服务器打开了端口(打孔) ,因为它在你运行“pystun”时看到了 STUN 的传出数据包。但是当您尝试从其他地方访问您的网络服务器时,您的数据包对于 NAT是未知的。所以 NAT 会默默地丢弃所有传入的数据包。

请注意,尽管您在与 STUN 服务器通信时从 NAT 获取外部端口,但由于它是对称类型,该端口将更改为其他一些随机端口,而 4 元组(src-address、src-port、dst -sddress, dst-port) 更改。

于 2015-03-13T06:37:05.257 回答