linux - 在两台主机之间转发ip数据包

时间:2012-07-26 13:02:46

标签: linux ip routes forward

我有3台运行CentOS的计算机:A,B,C。它们的地址为192.168.3.1,192.168.3.2,192.168.3.3。我无法使用开关进行此设置。 B有两个网卡连接到其他网卡。

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

A可以ping B,B可以ping C. 如何设置A可以ping C?

在B上,我尝试使用echo 1 > /proc/sys/net/ipv4/ip_forward启用IP转发以及添加路由。但我没有运气。有人可以帮忙吗?

谢谢, 卡斯

3 个答案:

答案 0 :(得分:1)

因为这三个主机来自同一网络(192.168.3。),所以不能只使用普通的路由方案。在这种情况下,您需要设置 proxy arp

更多相关内容:http://www.sjdjweis.com/linux/proxyarp/

答案 1 :(得分:0)

您可能想尝试端口转发 或者如果你使用netcat,你可以使B成为服务器而A成为客户端,将A发送给B.然后将C作为服务器B成为客户端然后将数据包从B发送到C.类似的东西(但可能不完全)这样可能有用。

对于A:

nc -u 192.168.3.2 portnumber

对于B:

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

对于C:

nc -l -u newportnumber 

这样,无论你输入A,都应该发送给C.如果你是从一个程序工作,那么你将不需要A和C的东西,只需要B上的服务器/客户端,以便它可以转发它。

答案 2 :(得分:0)

最后我使用了这个article

的第二部分