2014-10-31 42 views
0

我嘗試連接到一個網絡服務器是在NAT之後在端口4000連接到STUN返回外部IP地址

聽在我的Web服務器,使用pystun(https://github.com/jtriley/pystun)和命令:

$ pystun -p 4000

我有

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

一個返回值,但是,當我TR y從http://:1024訪問它,我無法連接並且始終卡住等待響應。

這是使用STUN的正確方法嗎?

+2

我懷疑你的STUN調用只打開UDP的端口,而不是TCP。 – 2014-10-31 07:33:16

回答

1

您的NAT已打開端口(打孔)只適用於您的STUN服務器,因爲您在運行「pystun」時看到了傳出的STUN數據包。但是當你從其他地方嘗試訪問你的網絡服務器時,你的數據包是未知的到NAT。所以NAT正在默默地丟棄所有傳入的數據包。

請注意,雖然當您與STUN服務器通信時,由於它是symmetric type,當您從NAT獲取外部端口時,此端口將更改爲某個其他隨機端口,而4元組(src-address,src-端口,dst-sddress,dst-port)更改。