2012-07-26 43 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

相关问题