这是通常的“我想把无线网络和以太网连接起来”的问题,但我需要一些具体的问题。
我的Linux有一个wlan0接口,它是站模式的,带有MAC aa:aa:aa:aa:aa:aa,还有一个VLAN接口(vlan0)和MAC bb:bb:bb:bb:bb:bb。只有一个特定的主机通过VLAN与我交谈,所以所有从VLAN到达的数据包都有源MAC地址cc:cc:cc:cc:cc:cc。
由于WiFi中的三地址分组,从wlan0到达的所有数据包都将有目的地MAC地址aa:aa:aa:aa:aa:aa。这是对的,还是我过于简单化了?
我想做的是一个简单的MAC NAT桥,其中:
wlan0的数据包将其目的地MAC改为cc:cc:cc:cc:cc:cc,并通过VLAN盲目发送。从wlan0通过vlan0 SRC获得:无论它是什么SRC:无论它是DST: aa:aa-> DST: cc(有效载荷)(有效载荷)vlan0的数据包将其源MAC改为aa:aa:aa:aa:aa:aa,并通过wlan0盲目发送。通过wlan0发送从vlan0 SRC: aa:aa SRC: cc:cc DST:无论它是什么- DST:无论它是什么(有效载荷)vlan0收到的ARP回复也会使ARP更新。示例:通过wlan0从vlan0 SRC: aa:aa SRC: cc:cc:无论它是什么- DST:无论是1.2.3.4可以在1.2.3.4可以找到在aa:aa cc:ccebtables听起来是最完美的方法.如果我能把这两个接口连接起来就好了。
有什么想法吗?我听说过relayd,能帮上忙吗?
发布于 2020-04-13 21:39:15
我知道这是个老问题,但我需要准确地解决这个问题,我不得不花几天时间想出解决这个问题的最佳方法。https://xkcd.com/979/
让我们命名Linux (wlan0)、B (vlan0)和客户机主机C (vlan0)上的接口。因此,您需要类似于A和B (wlan0和vlan0)的桥接器,但您不能在Linux中连接这些接口(而且WiFi STA无论如何也不能使C工作)。
我最后做了什么,并证实了它的作用:
守护进程打开原始套接字,从A和B读取,过滤并推送到另一个接口。问题是基于源MAC地址进行过滤以避免循环(传出必须与wlan0相同,传入不能是wlan0's)。
就这样。ARP、DHCP、ping和HTTP只起作用。
https://serverfault.com/questions/652328
复制相似问题