创建网桥后维持互联网访问

创建网桥后维持互联网访问

简单问题:在网格节点上创建网桥后,我无法 ping 通互联网。

Raspberry Pi 网格节点是 batman-adv 网格网络的一部分,并使用 hostapd 设置为接入点,在其 batman-adv 接口桥接 AP 后无法访问互联网。经典示例指向路由/网关不正确,但我已经尝试了所有这些;我认为 batman-adv 使情况变得更加复杂……

在设置为接入点 [AP 节点] 的网状节点上,当 bat0 [即 batman-adv 接口] 和 wlan1 [即 AP 无线接口] 桥接到 br1 时,AP 节点会在本地失去与互联网的连接 [例如 ping 8.8.8.8 失败]。这是有道理的,因为在桥接之前,batman-adv 通过 bat0 创建网关以连接到服务器节点并通过服务器节点向客户端节点 [即 AP 节点] 提供的 dhcp 获取互联网访问权限。现在,桥接器 br1 奴役了接口 bat0,因此我们无法再连接到它。同样,在创建 br1 之后,AP 工作正常 [即连接笔记本电脑,移动设备通过 AP 访问互联网],这也是有道理的。这告诉我 br1 和互联网之间的连接正常。

我只是搞不清楚如何在创建 br1 后创建一个可以在 AP 节点上本地使用的接口来访问互联网。我认为这是一个非常基本的网络知识,但我正在从各个不同的角度学习,并且真的不理解路由、IP 和网桥,因此无法理解接下来该怎么做。

在 AP 节点上,我可以 ping 其他节点,并且显然可以通过 batman-adv [即 sudo batctl -m bat0 o] 查看其他节点。我尝试过手动创建路由,但不起作用;静态 IP 也不行。我尝试在服务器节点 [和 AP 节点] 上进行各种 nat,但这似乎也无济于事。我没有查看任何日志文件,只是希望获得一些理论指导。相信我,我已经陷入困境近一周了 - 我阅读了大量技术方面的教程和其他帖子。我想我错过了一些非常高水平的东西。

最后,我尝试通过 iw dev wlan0 add interface loca_internet_access type ad-hoc 创建接口 [也尝试了所有其他类型],但我不断收到“设备或资源繁忙 (-16)”错误。即使在安装普通的 Jessie-Lite 后也会出现这种情况 - RPi 在将接口分配给 wlan0 时是否存在问题?更可能的是,我认为我根本不了解如何在物理或无线接口之上创建虚拟接口。

先谢谢您的帮助!!!

如果设置还不够清楚...

功能设置:我创建了一个由多台 Raspberry Pi 3 [RPi] 组成的网状网络。我将 RPi 用于各种用途(例如流媒体视频、音频公告),并将其用作 AP,以便人们连接他们的移动设备以访问互联网。互联网访问是通过 RPi 上的多个 ISP 调制解调器实现的。

RPi 和 Mesh 技术细节:所有 RPi 都安装了 vanilla Jessie-Lite [即 ubuntu]。所有节点都安装了 batman-adv。所有节点都通过 wlan0 [即板载 RPi WiFi] 上的 batctl 进行通信。连接到 ISP 调制解调器的节点配置为 batman-adv 服务器节点。所有其他节点都配置为客户端节点。

网络和 AP 技术细节:在服务器节点(即那些将 eth0 硬连线到 ISP 调制解调器的节点)上,我添加了 nat,尽管我认为这不是必需的,因为系统在没有它的情况下照常工作(有它就无法工作)。我没有运行 DHCP 服务器,因为 ISP 会处理这个问题(除了当前问题的情况)。由于当前问题,我有 AP 节点和“工作”节点。AP 节点正在运行 hostapd。这些节点还通过 USB WiFi 适配器将 wlan1 作为 AP 接入点。

相关内容