我正在开发 openWRT SDK AA 版本。如何设置以太网和无线接口之间的桥接接口?除了现有的 WAN 和 LAN 之外,我是否可以创建额外的接口,比如 A,然后将接口 A 和 LAN 桥接在一起
答案1
您无法桥接 WiFi 客户端接口。原因解释如下OpenWrt 维基:
802.11 标准仅使用三个 MAC 地址来在接入点和站点之间传输帧。从站点传输到 AP 的帧不包含请求主机的以太网源 MAC,响应帧缺少目标以太网 MAC,无法寻址客户端桥后面的目标主机。
- 桥接主机向目标主机发送数据包
- 帧通过 W-LAN 客户端中继,传输无线适配器的 MAC 地址用作源 MAC,发送以太网 MAC 被丢弃
- W-LAN AP 接收帧并将其重定向到目标
- 目标接收帧并生成响应
- 目标使用(错误的)源 MAC 作为目的地来响应接收到的帧
- W-LAN AP 将帧中继到具有指定目标 MAC 的 W-LAN 客户端。W-LAN 客户端接收帧并假定它是最终目的地,因为其无线 MAC 用于帧中,因此不转发数据包。桥接主机永远不会看到响应帧,因为 W-LAN 客户端成为目的地,因此无法进行连接
然而,在接入点模式下,桥接是可能。只需在/etc/config/wireless
:
config 'wifi-iface'
option 'network' 'lan'
...
在/etc/config/network
该lan
接口必须是桥接接口:
config 'interface' 'lan'
option 'type' 'bridge'
...
当然,您可以使用任何名称,而不仅仅是lan
。
如果您只是想要一个具有多个接口的桥,您可以创建一个不“连接”任何东西的 VLAN 接口。