如何配置路由表以添加正确的网关?

如何配置路由表以添加正确的网关?

当我尝试从虚拟机 ping 8.8.8.8 时出现此错误:

PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
From 172.30.8.135: icmp_seq=1 Redirect Host(New nexthop: 172.30.8.254)
From 172.30.8.135: icmp_seq=2 Redirect Host(New nexthop: 172.30.8.254)

当我尝试 wget 时http://www.google.com我失败了:连接超时。

这是 route -n 的输出:

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
172.30.8.0      0.0.0.0         255.255.255.0   U     0      0        0 eth0
0.0.0.0      172.30.8.135       0.0.0.0   UG     0      100       0 eth0

我的网络如下所示:我创建了 br0 作为 eth0 上的桥接器来运行此 VM。主机的 IP 为 172.30.8.135。

主机通过 eth0 访问互联网,这是主机内部路由的输出:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
172.30.8.0      0.0.0.0         255.255.255.0   U     0      0        0 br0
0.0.0.0         172.30.8.254    0.0.0.0         UG    100    0        0 br0

提前感谢有关此事的任何线索!

答案1

eth0 需要处于混杂模式才能将流量传递到网桥

我的设置是 promisc 中的物理 eth0,没有 ip 地址,br0 带有 dhcp ip,并使用桥接器作为硬件机器的“接口”,并从 dhcp 路由到网关,然后在桥接器上添加一个 tap 接口,并将其用作虚拟化产品中的“桥接”接口。有帮助吗?

使用 Tap 接口和可达性设置虚拟化的教程:http://www.blindhog.net/linux-bridging-for-gns3-lan-communications/

答案2

就我而言,路由器上的 iptables 有帮助:

iptables -A POSTROUTING --table nat ! -o tap0 -j MASQUERADE

相关内容