我尝试的第一件事是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以太网/无线桥接所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)