2012-07-26 92 views
0

我有3臺運行CentOS的計算機:A,B,C。它們的地址爲192.168.3.1,192.168.3.2,192.168.3.3。我無法使用此設置的開關。 B有兩個網卡連接到其他網卡。linux - 在兩臺主機之間轉發ip數據包

即。 A ----- B ----- C

A可以ping B,B可以ping c。如何設置它使A可以ping C?

在B上,我嘗試使用echo 1 > /proc/sys/net/ipv4/ip_forward啓用IP轉發以及添加路由。但我沒有運氣。有人可以幫忙嗎?

感謝, 菲德爾

回答

1

由於這三個主機都來自同一網絡(192.168.3。)你不能只是使用普通的路由方案。在這種情況下,您需要設置proxy arp

更多的是:http://www.sjdjweis.com/linux/proxyarp/

0

你可能想嘗試端口轉發。
或者如果你使用netcat,你可以使B成爲一個服務器,A成爲一個客戶,把A發送給B.然後把C作爲一個B服務器作爲客戶,然後把數據包從B發送到C.類似的東西(但也許不是確切地說)像這樣可能有效。

爲:

nc -u 192.168.3.2 portnumber 

對於B:

nc -l -u portnumber | nc -u 192.168.3.3 newportnumber 

對於C:

nc -l -u newportnumber 

這樣,無論你投入,應該如果發送到C.正在從一個程序開始工作,那麼你不需要A和C的東西,只需要B上的服務器/客戶端就可以轉發它。

+0

當然這種解決方案是行不通的第二節,因爲你需要在同一時間有兩個獨立的網絡192.168.3.2。如果你在不同的接口上有不同的網絡,你不需要netcat的這些技巧。 – 2012-07-26 13:58:23

相關問題