为什么我桥接它们之后无法 ping 通 IP?

为什么我桥接它们之后无法 ping 通 IP?

我把我的树莓派做成了路由器。

eth0连接互联网,wlan0作为可访问点。

所以我创建了一个 br0,然后将 eth0 和 wlan0 都添加到 br0。启动 dhcpd(这样我的手机就可以从 wlan0 获取 ip)和 hostapd。一切正常,我通过与 raspberry pi 的 wifi 连接在手机上上网。

但是,我无法使用 wlan0 IP 或 eth0 IP ping pi。我注意到我获得了一个与 eth0 位于同一子网的 IP。但我仍然无法 ping 它。

为什么?或者还有什么方法可以 ping 其中两个?我知道 iptables 是一个选项。但我很好奇用网桥是否可以实现。

答案1

我把我的树莓派做成了路由器。
我创建了一个 br0,然后将 eth0 和 wlan0 都添加到 br0。

那不是路由器。(如果它将两个网络连接在一起,它就是路由器,但现在你有一个 – 这意味着双方具有相同的子网。)

启动 dhcpd 和 hostapd

有点担心这个——你的树莓派是仅有的LAN 中的 DHCP 服务器,或者您是否意外设置了第二个 DHCP 服务器?

但是,我无法使用 wlan0 IP 或 eth0 IP ping pi。

当你转弯eth0进入wlan0桥梁港口时,它们就变成了而已比桥接端口更甚。即使配置了,它们也不再使用 IP。

相反,您需要在桥接接口上设置相同的 IP 地址br0(并​​且可以从“端口”接口中删除所有地址)。

答案2

添加桥接后,就不能再 ping 通了。需要检查一下route -n。然后删除已经桥接的接口的条目。删除该条目后,就可以 ping 通了。下面是 virtualbox 中的一个实际演示:两台使用主机专用适配器的 Virtualbox 机器。关键命令是:

route del -net 192.168.3.0 gw 0.0.0.0 netmask 255.255.255.0 dev enp0s8

相关内容