为什么通过手机网络共享连接的设备位于不同的网络中

为什么通过手机网络共享连接的设备位于不同的网络中

我的台式电脑没有 wifi 卡,而是通过 USB 连接到 wifi,然后通过手机连接到 wifi(经典的网络共享 USB)。

这将我的桌面放置在 192.168.56.x/24 子网中,而不是通常的 192.168.1.x/24 子网中,所有其他设备都直接连接到 wifi。

我的目标是将台式电脑置于 192.168.1.x/24 网络中。

我担心必要的配置在我的手机里,但我在手机设置中找不到它。如果需要,我很乐意提供更多信息。提前致谢。

答案1

在进行网络共享时,手机始终充当路由器。这是经过深思熟虑的——对于 4G/LTE 上行链路(毕竟这是网络共享的主要用例),桥接是完全不可能的,但即使你使用的是 Wi-Fi 上行链路,它也会带来额外的麻烦。

与往常一样,桥接常规 Wi-Fi 的问题在于,连接的设备只能MAC 地址(与建立关联时使用的地址相同),因此当您的桌面发送一些以太网数据包时,手机不能简单地将它们原封不动地转发到 Wi-Fi - 它需要用自己的 MAC 地址重写它们,然后识别发送的数据包计算机的IP并做相反的重写等

(基本上,桥接器需要在以太网级别进行 NAT。然而,与 IP NAT 不同(由于内置于 Linux,Android 可以免费获得 IP NAT),以太网 NAT不是由内核原生支持,这意味着 Android 需要从头开始完成。

专用无线网桥(“wifi扩展器”)有额外的代码来处理这个问题,即它们要么按照描述实现以太网 NAT,要么(正如我所说)为它们在“有线”端检测到的每个新设备创建一个单独的 Wi-Fi 连接。

但扩展器这样做是因为这是他们的基本的目的——而手机中的网络共享模式可能根本不是为 Wi-Fi 连接而设计的,所以它很可能很多对于 Android 开发者来说,使用“普通”NAT 来实现 IP 路由会更简单(尤其是考虑到他们需要这样做反正对于 LTE,即使他们做了一些工作使桥接可用于 Wi-Fi)。

TL;DR:这个没有配置。要么买一个 Wi-Fi USB 适配器,要么买一个 Wi-Fi PCIe 扩展卡,要么买一个“扩展器”(它们通常有你想要的模式)。

相关内容