2009-08-06 60 views
3

我想連接到路由器後面的系統。我知道路由器的公共地址以及系統的私有IP(總是固定的)。我如何建立與私有IP的套接字連接?連接到私有IP

+0

它被稱爲「私人」的原因... – skaffman 2009-08-06 16:52:24

回答

4

這就是爲什麼有些人說他們在路由器後面的「防火牆」後面。互聯網的邪惡病毒不能利用路由器後面的計算機上的任何軟件(假設路由器管理員沒有以有趣的方式配置它,例如通過啓用DMZ)。

你還有一些選項:

  • 聊到路由器的後臺管理,讓他轉發端口爲您
  • 採取路由器,並把你的「目標」的計算機,其中您的路由器是,或啓用DMZ(這隻有在路由器後面只有一臺計算機時纔有意義)。 Warrning:先在目標計算機上安裝防火牆!
  • 將插座旋轉180度。做一個路由器後面的計算機建立具有公網IP地址
  • 使用類似UPnP,如果你的路由器支持它與服務器的連接
  • 獲取您的計算機的專用IP地址,並配置路由器的所有流量切換到這個IP地址到您的計算機(這與DMZ類似,但是如果您在路由器後面有多臺計算機,則可以工作)。 Warrning:先在目標計算機上安裝防火牆!
  • 使用NAT遍歷。有關該主題here的非常好的文章。簡化版本是客戶端建立到某個遠程服務器的連接。服務器可以在客戶端的路由器上看到打開的端口號,並將該端口分配給客戶端計算機,因此它(或共享此信息的其他計算機)可能建立到該端口的連接併到達客戶端的應用程序。 Warrning:這不適用於所有路由器。有些路由器不會讓這種情況發生。
+3

只是一個說明。如上所述的「NAT穿透」通常被稱爲NAT遍歷:) http://en.wikipedia.org/wiki/NAT_traversal – 2009-08-06 17:16:18

1

這是更多的配置路由器的問題,而不是你的實際程序。如果路由器未配置爲將流量轉發至專用系統,則無法強制其將其連接至您 - 相反,專用系統必須自行打開連接。

1

嚴格地說,對你的問題的答案是「你不能」。但是,您可以在路由器上啓用DNAT(目標網絡地址轉換)。您連接到路由器上的某個端口,並將連接轉發給內部IP。內部IP(和端口)在路由器設置中配置,並且連接客戶端不知道。