可以在两个网络之间进行通信而无需桥接吗?

可以在两个网络之间进行通信而无需桥接吗?

我有两个连接到真实机器的接口,eth0 和 vboxnet2(VirtualBox 桥接网络)。

eth0 位于 192.168.15.x 上并连接到我的 ADSL 调制解调器。 vboxnet2 位于 192.168.200.x。

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.15.1    0.0.0.0         UG    0      0        0 eth0
192.168.15.0    *               255.255.255.0   U     1      0        0 eth0
192.168.200.0   *               255.255.255.0   U     0      0        0 vboxnet2

我应该能够从(比如说)192.168.15.100 到 192.168.200.4 吗?我对路由表的理解是,它说“如果您看到任何发往 192.168.200.x 的数据包,请将它们发送到 vboxnet2 接口”。我似乎不需要 NAT、iptables 魔法或桥接网络。但它不起作用(“没有到主机的路由”)。

长期的 Linux 用户,但在过去几年中,随着 NetworkManager 开始做所有事情,网络细节已经从脑海中消失了……

答案1

您需要使用 启用路由echo 1 > /proc/sys/net/ipv4/conf/all/forwarding。然后您还需要在其他机器上设置适当的路由。因此,在 192.168.15.100 上,您需要说类似的话ip route add 192.168.200.0/24 via 192.168.15.x(其中 x 是转发机器的 IP 地址)。同样,您需要在虚拟机上添加 192.168.15.0/24 的路由。

相关内容