2016-11-10 53 views
0

我想在我的瀏覽器中鍵入虛擬機的IP地址時看到google主頁。我想輸入我的Windows瀏覽器192.168.132.131:8080並將其重定向到谷歌的主頁(173.194.122.198:80)。 192.168.132.131是我的Debian虛擬機的IP地址。 我應該如何打開端口8080並配置iptables? 我做了本教程的建議,但沒有得到我想要的。 http://www.debiantutorials.com/port-forwarding-with-iptables/ 請幫助...端口和IP從本地機器轉發到googel.com

回答

0

要看看會發生什麼我做了一個Debian的背後,一個Linux的測試,而不是Debian的背後,一個窗口,因爲我沒有窗戶。另外(我認爲),因爲我不在美國,這個例子中的知識產權對我來說不起作用。我使用的IP我ping google.com

讓我可以告訴大家,在你的教程爲例仍然有效,如果你對telnet 192.168.132.131 8080你真的連接到Google的窗戶嘗試用手,假設你正確地做它(關於給你的規則與iptables-save?)

什麼是不工作(再??)是HTTP請求:HTTP嵌入IP地址,並將其發送到谷歌不知道這個URL,並將重定向與HTTP 301到谷歌沒有 IP在URL中。唉HTTP重定向保持端口8080.由於你的debian不是路由這個它不能攔截流和第二個HTTP請求將不會被它看到。您的Windows主機上會嘗試連接到谷歌服務器的端口8080上的SYN_SENT。

爲了克服這個問題,你會(然後)編輯你的windows主機文件,並在192.168.132.131之前添加大量的谷歌名稱,以讓第二個請求通過debian虛擬機。這一次,Google發送一個HTTP 302來設置cookie,並給出一個不帶端口8080的新URL。如果幸運的話,您將從debian框中重置連接,因爲80端口沒有任何東西(使用Web客戶端,如鏈接在主機上)。但通常谷歌也可以看到你有一個現代的瀏覽器(Firefox ...),並在HTTP 302 HTTPS重定向。現在下一個連接是端口443和加密...

唯一更多或工作較少的是直接在http://www.google.XX:8080/上使用鏈接(不是Firefox),在更改主機文件(不是使用http://192.168.132.131:8080/)後,XX是我的國家代碼。我可以得到搜索頁面,甚至可以搜索。使用www.google.com(而不是在美國)會重定向到www.google.XX,並且也會失敗。

解決方案:如果是關於HTTP,請使用HTTP工具,而不是TCP/IP工具:使用代理(squid,apache ...)。

如果是用於攔截,您可以使用重定向(使用iptables)和透明代理服務器設置在這個代理,但請記住,如果它不seing交通,因爲它不是在路由器或某處上行,事情將無法正常工作。 HTTPS的好運氣,因爲網絡客戶端充其量會抱怨中間人的攻擊。

+0

非常感謝您的全面解答。我發現這個問題在發佈這個問題後的3到4個小時內是什麼問題!我沒有通過iptables-save保存規則。並打開端口8080我安裝tomcat7,因爲它顯然聽它的端口8080.我不知道如何打開一個特定的端口,這是我的主要問題... – Arman

+0

需要工具來做測試? nc(netcat)甚至更好,socat? –

相關問題