加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

Linux以太网/无线桥接

发布时间:2020-12-14 02:49:56 所属栏目:Linux 来源:网络整理
导读:我工作的产品的一个新要求是支持以太网到无线的桥接.假设我们有两个网络接口:eth0和ath0(我们使用的是Madwifi驱动程序).我有什么选择允许连接到eth0的计算机能够访问无线网络? 我尝试的第一件事是brctl实用程序.这似乎正是我想要的.并且,在有线网络上,它是
我工作的产品的一个新要求是支持以太网到无线的桥接.假设我们有两个网络接口: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到一些启动脚本.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读