Kobra Asked: 2024-06-27 02:22:40 +0800 CST2024-06-27 02:22:40 +0800 CST 2024-06-27 02:22:40 +0800 CST 为什么以太网网卡可以桥接至 VirtualBox,而大多数 Wi-Fi 网卡却不能? 772 我在论坛上看到有些 Wi-Fi 适配器无法支持桥接,但他们并没有很好地解释原因。 所以: 为什么所有以太网网卡都可以桥接到虚拟机(例如 VirtualBoxbridge模式),而有些 Wi-Fi 适配器却不能? networking 2 个回答 Voted Best Answer Spiff 2024-06-27T04:19:32+08:002024-06-27T04:19:32+08:00 问题实际上并不在于 WNIC,而在于 IEEE 802.11 (Wi-Fi) 网络的架构。IEEE 802.11 标准要求 AP 拒绝来自未成功通过身份验证并与 AP 关联的 MAC 地址的帧(这是有道理的;不要接受来自未经授权的陌生人/冒名顶替者的数据包)。 但是桥接需要透明地将帧从一个以太网接口转发到另一个以太网接口,而无需更改帧中的源 MAC 地址。因此,只要您的 WNIC 尝试将其他人的帧桥接到 AP,AP 就会拒绝它,因为该其他 MAC 地址从未经过身份验证或与该 AP 关联。 有几种方法可以解决这个问题。以下是其中一些: IEEE 802.11 标准为“无线分布系统”(WDS) 提供了基本的机制,该系统允许在两个设备之间进行无线桥接。代表其他设备桥接的每个帧在其报头中都有 4 个 MAC 地址:原始以太网目的地和源,以及中间 802.11 接收器和发射器。我说这些机制是基本的,因为该标准没有提供自动验证、建立或加密 WDS 桥接关系的方法。 一些 WNIC 支持“代理 STA 模式”,其中 WNIC 负责对试图通过无线链路桥接其帧的设备的 MAC 地址进行身份验证和关联。实现此功能的 WNIC 通常会限制它们可以同时处理的 MAC 地址数量。 各个供应商都想出了自己的(非标准)方法,让具有无线桥接功能的 WNIC 以正常方式加入具有无线桥接功能的 AP,然后协商他们的无线桥接功能,以便他们可以开始互相发送 WDS 样式的 4 地址帧而不会拒绝它们。 如果您只想让流量通过而不需要透明桥接,还有其他选择。例如,如果您的客户端设备执行 NAT(特别是 NAPT),那么它转发的所有流量都来自其自己的 MAC 地址。但它具有 NAT 的天然缺点,即它就像穷人的 SPI 防火墙一样,阻止从 NAT 的“公共”端发起到 NAT 的“私有”端的连接。 user1532080 2024-06-27T17:29:56+08:002024-06-27T17:29:56+08:00 我怀疑接受的答案并不正确,因为就像你说的“一些 Wi-Fi 适配器无法支持桥接”,暗示有些支持。 您的以太网 NIC 将丢弃未针对它的帧,因此 VirtualBox 会启用混杂模式,从而使您的 NIC 接受所有数据包。在一定程度上,考虑到您位于交换机后面,这并不是什么大问题,大多数到达的数据包无论如何都应该是发往您的机器(物理或虚拟)的。 现在您的 Wifi NIC 实际上需要支持另一种模式,称为“监控模式”,它提供与混杂模式类似的结果(该卡不会丢弃不针对它的数据包)。 并非所有 NIC 都支持监控模式(可能是硬件支持,也可能是软件支持,因为操作系统上的驱动程序无法将其打开)。副作用是,如果您的 NIC 当前不支持监控模式,则可以通过驱动程序和/或固件更新来支持它。
问题实际上并不在于 WNIC,而在于 IEEE 802.11 (Wi-Fi) 网络的架构。IEEE 802.11 标准要求 AP 拒绝来自未成功通过身份验证并与 AP 关联的 MAC 地址的帧(这是有道理的;不要接受来自未经授权的陌生人/冒名顶替者的数据包)。
但是桥接需要透明地将帧从一个以太网接口转发到另一个以太网接口,而无需更改帧中的源 MAC 地址。因此,只要您的 WNIC 尝试将其他人的帧桥接到 AP,AP 就会拒绝它,因为该其他 MAC 地址从未经过身份验证或与该 AP 关联。
有几种方法可以解决这个问题。以下是其中一些:
如果您只想让流量通过而不需要透明桥接,还有其他选择。例如,如果您的客户端设备执行 NAT(特别是 NAPT),那么它转发的所有流量都来自其自己的 MAC 地址。但它具有 NAT 的天然缺点,即它就像穷人的 SPI 防火墙一样,阻止从 NAT 的“公共”端发起到 NAT 的“私有”端的连接。
我怀疑接受的答案并不正确,因为就像你说的“一些 Wi-Fi 适配器无法支持桥接”,暗示有些支持。
您的以太网 NIC 将丢弃未针对它的帧,因此 VirtualBox 会启用混杂模式,从而使您的 NIC 接受所有数据包。在一定程度上,考虑到您位于交换机后面,这并不是什么大问题,大多数到达的数据包无论如何都应该是发往您的机器(物理或虚拟)的。
现在您的 Wifi NIC 实际上需要支持另一种模式,称为“监控模式”,它提供与混杂模式类似的结果(该卡不会丢弃不针对它的数据包)。
并非所有 NIC 都支持监控模式(可能是硬件支持,也可能是软件支持,因为操作系统上的驱动程序无法将其打开)。副作用是,如果您的 NIC 当前不支持监控模式,则可以通过驱动程序和/或固件更新来支持它。