我已经能够使用在几个树莓派上运行的batman-adv设置无线 mesh 网络。这些树莓派可以在 mesh 上检测到彼此,相互通信,并共享 Internet 连接(如果网络中的任何一个 Pi 充当网关)。
我面临的问题是,如果网络中存在多个网关,则客户端(通过网关接收 Internet 连接的设备)永远不会切换到从其它网关获取 Internet 连接,即使路由算法检测到它们与另一个网关有更好的连接。
每个网关都运行 DHCP 服务器,为通过它们访问 Internet 的客户端分配 IP 地址。我使用的 DHCP 服务器是 dnsmasq。
期望的行为是:
1. 客户端向能提供更好连接的网关发送 DHCP 请求,并结束与当前 DHCP 服务器的租约;或者
2. 客户端保留从 DHCP 服务器分配的 IP,并(神奇地?)开始通过能提供更好连接的网关访问 Internet。
但是,这两种情况都没有发生。如果由于某种原因为客户端提供 Internet 的网关断开连接,客户端将不会尝试创建新连接,直到 DHCP 租约超时。然而,这与此软件包的维基页面所声称的相矛盾:https://www.open-mesh.org/projects/batman-adv/wiki/Gateways 请指导如何配置此 mesh 网络,以使其中一个预期行为发生。
我面临的问题是,如果网络中存在多个网关,则客户端(通过网关接收 Internet 连接的设备)永远不会切换到从其它网关获取 Internet 连接,即使路由算法检测到它们与另一个网关有更好的连接。
每个网关都运行 DHCP 服务器,为通过它们访问 Internet 的客户端分配 IP 地址。我使用的 DHCP 服务器是 dnsmasq。
期望的行为是:
1. 客户端向能提供更好连接的网关发送 DHCP 请求,并结束与当前 DHCP 服务器的租约;或者
2. 客户端保留从 DHCP 服务器分配的 IP,并(神奇地?)开始通过能提供更好连接的网关访问 Internet。
但是,这两种情况都没有发生。如果由于某种原因为客户端提供 Internet 的网关断开连接,客户端将不会尝试创建新连接,直到 DHCP 租约超时。然而,这与此软件包的维基页面所声称的相矛盾:https://www.open-mesh.org/projects/batman-adv/wiki/Gateways 请指导如何配置此 mesh 网络,以使其中一个预期行为发生。