我的 Linux 工作站使用 MTS 3G Wifi USB 加密狗連接互聯網 - 該工作站沒有其他網路連接。
此路由器的連接埠轉送管理頁面確實允許我每行指定以下一組 4 個值:
---------------------------------------------------------
Config name | Local port | Wan port | MAC
---------------------------------------------------------
1. Service A | 8080 | 8888 | aa-bb-cc-dd-ee-ff
2. Service B | 9090 | 9999 | aa-bb-cc-dd-ee-ff
...
---------------------------------------------------------
我在上面指定的 MAC 位址是我從ifconfig
. (此wlan1
介面具有由路由器中的 DHCP 伺服器分配的本機 IP 位址 - 這就是我識別它的方式。)
當我儲存上述值時,同一管理頁面將顯示以下內容只讀朝向底部的值:
---------------------------------------
Config Name | Port | IP Address
---------------------------------------
1. Service A | 8888 | a.b.c.d
2. Service B | 9999 | a.b.c.d
...
---------------------------------------
這個唯讀輸出似乎暗示我可以透過公共互聯網存取Service A
本地連接埠的監聽。但我無法訪問。事實上,我甚至無法 ping 通。 (我知道路由器可能故意禁止傳入 ping,但不確定還可以嘗試什麼。)8080
a.b.c.d:8888
Service A
a.b.c.d
a.b.c.d
如果我透過類似網站檢查我的工作站的公共 IP 位址http://www.whatismyip.com/,我看到我的公共 IP 被報告為e.f.g.h
而不是a.b.c.d
!
那麼,我如何將公共WAN連接埠轉發8888
到本地8080
運行的端口Service A
,然後從公共Internet存取服務A?
編輯:
我的IP位址如下:
a.b.c.d = 100.84.c.d
e.f.g.h = 163.47.g.h
答案1
由於您的路由器報告的 IP 與您的公用 IP 不同,因此您的 3G 網路提供者可能不會為您指派公用 IP,而是執行網路位址轉換,這也可以解釋為什麼連接埠轉送不起作用。
如果 abcd 位於私人 IP 位址範圍內(從 10.0.0.0 到 10.255.255.255),則可以確認這一點。從 172.16.0.0 到 172.31.255.255。從 192.168.0.0 到 192.168.255.255。
當我遇到這個問題時,我打電話給我的 3G 提供商,他們“將我切換到他們的公共網路”,這意味著我被分配了一個公共 IP 位址並且可以接受傳入連接。雖然這解決了我的特定問題,但我發現 3G IP 位址變化非常快,這可能會導致不支援該位址的軟體出現問題。使用非常低的動態 DNS 服務TTL例如 1(1 秒)就可以使用了。或者您可以獲得包含靜態 IP 的商業計劃。