Linux以太网无线桥接

Linux以太网无线桥接,第1张

概述我工作的产品的一个新要求是支持以太网到无线的桥接.假设我们有两个网络接口:eth0和ath0(我们使用的是Madwifi驱动程序).我有什么选择允许连接到eth0的计算机能够访问无线网络? 我尝试的第一件事是brctl实用程序.这似乎正是我想要的.并且,在有线网络上,它是.但在无线网络上,它并没有完全奏效.一些Wiresharking透露,桥接数据包的源MAC(正确)设置为桥后面的计算机.但是,从 我工作的产品的一个新要求是支持以太网到无线的桥接.假设我们有两个网络接口:eth0和ath0(我们使用的是MaDWifi驱动程序).我有什么选择允许连接到eth0的计算机能够访问无线网络?

我尝试的第一件事是brctl实用程序.这似乎正是我想要的.并且,在有线网络上,它是.但在无线网络上,它并没有完全奏效.一些Wiresharking透露,桥接数据包的源MAC(正确)设置为桥后面的计算机.但是,从未见过MAC关联的AP会丢弃数据包.如果我启用WDS数据包(iwpriv ath0 wds 1),那么数据包将与发送器和接收器地址一起发送,但似乎AP不允许(它很老,我们无法更改它).并非所有的AP都必须接受WDS,对吧?

因此,我想知道我们是否必须进行某种以太网NAT或类似 *** 作.但是,我看不出它是如何工作的 – 如何在n台计算机之间共享一个MAC地址? ebtables显得太低了.简单地在出路和重新路由时重写MAC地址使得桥接计算机无法使用网络.另外,它如何知道传入数据包的最终目的地?至少,您需要来自IP和TCP / UDP层的详细信息.

解决方法 对,桥接不适用于wifi.最简单的解决方案是使用路由.您可以设置一个“透明路由器”,感觉就像一座桥,但实际上它是路由数据包.为此,将一个网络作为另一个网络的子集.

例如,如果有线局域网是192.168.183.0/24,则可以使无线局域网使用192.168.183.192/26.

您可能还必须打开’proxy arp’.只需添加一个echo 1> / proc / sys / net / ipv4 / conf / all / proxy_arp到一些启动脚本.

总结

以上是内存溢出为你收集整理的Linux以太网/无线桥接全部内容,希望文章能够帮你解决Linux以太网/无线桥接所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/1035961.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存