通过外部 WLAN 共享互联网

通过外部 WLAN 共享互联网

我有多个设备(A、B、C)。设备 A 是一个传感器,用于捕获数据并通过本地 Wi-Fi 网络与设备 C (Android) 共享数据。问题在于,接收数据的应用程序只能在Android上运行,而Android不支持同时连接两个网络,因此当C连接到A发出的Wi-Fi时,它可以正确接收A捕获的数据,但是失去互联网连接。我想知道第三台设备 B(Ubuntu 23.10)通过 4G 调制解调器连接到互联网,是否可以连接到 A 广播的 Wi-Fi 网络并通过该 Wi-Fi 网络共享互联网,以便 C 在连接时也有互联网到 A 的 Wi-Fi。

在此输入图像描述

A 不可配置,它是购买的设备,我无法修改任何内容。 A 发出 Wi-Fi 信号并接收数据,需要将 Android 设备 (C) 连接到 A 的 Wi-Fi 网络,以便从其应用程序接收数据。如果 A 可以连接到 C 发布的热点,那么就不会有问题,因为 A 和 C 将连接,并且 C 将保持互联网连接。但是,A 的应用程序不支持该功能,接收 A 捕获的数据的唯一方法是将 C 连接到 A 创建的 Wi-Fi。我想知道是否可以添加另一个设备 (B),其带有支持同时连接网络接口(例如 Ubuntu)并通过 A. 创建的 Wi-Fi 共享互联网的操作系统。

我搜索了很多类似的问题,但没有一个能解决我的问题。在大多数提出的问题中,互联网是通过网线或创建热点来共享互联网的,但是,我需要通过A创建的Wi-Fi网络来共享互联网,而不是创建新的。另一方面,我找到了很多关于桥梁和接合的信息,但也没有取得令人满意的结果。

答案1

确定你的方法

虽然 Ljm 的答案肯定是可行的,但需要做一些解释,但这将是最容易实现的,并且会花费您的时间以及任何受良好支持的 USB Wifi 适配器的成本。 提示:远离包含 Broadcom 芯片组的适配器。尽管 Pi 中的无线 SoC 是基于 Broadcom 的,但 USB 版本的驱动程序已停产。

连接什么

我们练习的目的是将上述所有三个设备放在同一子网中,正如 Ljm 也提到的那样。简单来说,子网是一个位掩码。该位掩码确定 IP 地址中有多少属于主机,有多少属于客户端计算机。最常见的子网是255.255.255.0,这意味着 75% 的八位字节属于主机,25% 属于客户端。在 LAN 的情况下,主机是 DHCP 服务器,客户端可以是上述任何设备。

要将这些设备置于同一子网中,DHCP 服务器必须能够同时与所有 3 台设备进行协商。根据我们的评论和您的图片,OP 和我确定A - Fishing Sounder,并且只有在独立连接的情况下C - Android Phone才能进行协商。 B - Raspberry Pi(它们不会同时连接)。

怎么办?

由于B - Raspberry PiSoC 的限制:

  1. 无线卡可以传输/连接到其他网络,或者
  2. 无线卡可以接收/连接。

因为我们无法摆弄 的内部结构A - Fishing Echo Sounder,所以只剩下 C - Android Phone.由于手机(无论品牌如何)使用单独的硬件,它们能够同时连接和连接到其他设备,因此我们颠倒了互联网连接设备。因此,OP 的图片现在看起来像这样:


                                                          Internet
 ==>   Android Phone                                          ^
 |          ^                                              =======
 |          |              Pi Wireless Adapter                ^    
 |   Fishing Echo Sounder <===========================> Raspberry Pi
 |                                                          |   
 |                                                Second USB Adapter   
 |                                                          ^
 |                                                          | 
 |===========================================================                                                              

正如OP还指出的那样,Pi的限制可以通过购买USB无线适配器来克服,但为此我建议在购买之前做好功课,正如我的提示所提到的。购买后,OP 必须确保 Pi 的无线适配器和购买的 USB 适配器都有 IP 地址,这些地址是手动分配的地址,属于A - Fishing Echo Sounder地址池。

答案2

A 不可配置,它是购买的设备,我无法修改任何内容。

那么这个100%取决于A如何设置。但一切都表明这是不可能的,因为你必须告诉控制你想要加入的网络的A,告诉其他设备使用B来访问互联网。

另外,如果 A 是一些较弱的嵌入式设备,由于网络带宽和 CPU 限制,您绝对不会想用它来路由流量 - 并且它必须在加密设置中这样做。所以,这是双重不可取的。

抱歉,您拥有的设备及其软件对用户不友好,并且不允许您做合理的事情。

请注意,目前最大的僵尸网络是廉价的物联网设备,鉴于其固件质量,这些设备不应该连接到互联网。因此,也许将 A 连接到可访问互联网的网络也不是一个好主意。

答案3

根据您提供的信息,我没有现成的解决方案。这也有点取决于A的配置。所以我只是提出我的思维方式,希望它有所帮助。

A 显然提供了您可以用手机连接的 SSID。 A 还将执行某种形式的 DHCP,为您提供 IP 地址。连接到 A 时,您的 Android 设备将显示类似 IP 地址 192.168.xy 的内容,网络掩码为 255.255.255.z(对于此类设备,z 几乎始终为 0)。

您应该能够将您的 Raspberry Pi (?) 从绘图连接到该子网。然后,您需要将 Pi 配置为某种形式的路由器。

  • 您需要对 A 的子网进行 NAT
  • 您可以使用 OpenVPN 提供对此特定子网的访问。使用 OpenVPN 将允许您访问设备,只要您的 Openvpn 服务器可访问。
  • 确保您没有双 IP 子网。

相关内容