![关于通过一台计算机将数据包路由到另一台计算机](https://linux22.com/image/583518/%E5%85%B3%E4%BA%8E%E9%80%9A%E8%BF%87%E4%B8%80%E5%8F%B0%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%B0%86%E6%95%B0%E6%8D%AE%E5%8C%85%E8%B7%AF%E7%94%B1%E5%88%B0%E5%8F%A6%E4%B8%80%E5%8F%B0%E8%AE%A1%E7%AE%97%E6%9C%BA.png)
我正在通过主机设置数据包路由。为了试验一个简单的案例。我设置了一个由 3 台 Linux PC X、Y、Z 组成的小型本地网络。这 3 台 PC 从我的 DLink 路由器获取 IP。X、Y、Z 可以互相 ping 通。
我想将从 X 发出的数据包通过 Y 路由到 Z。
我猜这一定不需要 NAT。
但即使这种简单的路线似乎也不起作用。
以下是更多详细信息:
X:192.168.0.100 y:192.168.0.3 Z:192.168.0.7
当 X 发送数据包给 Y 时,Y 应该将其转发给 Z。
我应该使用什么 iptable 规则?
我单独设置一个路线命令就够了吗?
我在设置 ip_forward=1 后尝试了 Y:
路由添加-主机 192.168.0.7 gw 192.168.0.3
但我没有达到效果。请指教。
我应该对我的 D-link 路由器做一些改动吗?
哦,顺便说一下,我必须通过不改变系统 X 上的任何东西来实现这一点,因为它不在我的控制范围内。
谢谢
答案1
如果两台机器位于同一个 IP“网络”和同一个以太网网络上,它们将直接将数据包路由到对方。为了改变这种情况,您需要:
- 重新编号 Z,然后将 Y 设置为 X 使用的网关,或者
- 将 2 张以太网卡放入 Y,将其配置为以太网桥。