Linux:如果接口是WiFi,网桥不转发?

我有一个Edimax EW-7318USg,它配有一个Ralink rt73和它的USB。 当试图梁(例如共享互联网)不起作用。

但今天我试图做一样的有线接口,相同的桥梁,所有相同的步骤,它的工作(有线!)。

难道是驱动程序,界面或其他东西不能与这个WiFi接口的桥梁?

为了使桥接工作,两个networking接口必须能够进入混杂模式。 我的猜测是,usb wifi设备的无线驱动不支持混杂模式。 我相信在linux下只有一些select的wifi驱动程序。

如果您无法使用其他无线networking适配器,则可能需要考虑为无线接口设置新的子网,并简单地在Wifi和有线接口之间路由stream量。 虽然这只有在IP地址scheme的空间设置一个额外的子网的情况下才有效。

他们有很多的原因,为什么正常的桥接将无法通过无线networking(至less不是除非你使用弱点或不encryption的特设模式)。 其中,在基础设施模式下,移动台使用其MAC地址注册到基站,所以来自其他MAC的桥接业务将混淆基站。 这也可能会导致WPAencryption问题。

如果你真的需要(第二层)桥接,你应该看看WDS或802.11s网状networking。 两者都解决了这些特定的问题,并且由使用新软件堆栈(mac80211)的驱动程序支持。 我不确定是否支持Ralink适配器。

另一种可能性是将你的地址空间分成两部分,并使用诸如proxy-arp和Brouting这样的技巧来制作混合桥/路由器。 这将使主机相信他们在同一网段,同时保持正常的MAC操作。

但实际上,如果你只想分享互联网连接(仅在客户端意义上),最简单的方法就是使用NAT。

使用hostapd和创buildwifi上的WiFi接口和桥将工作