I have a Gl.Inet AR300M16 with the glinet fork of OpenWRT 19.07.7, I want to use it to link some devices to the local network through zerotier. I need zerotier and not a VPN because I want to use layer 2 protocols over this connection (mainly ARP).
So, zerotier creates a virtual physical interface on the device which I have configured following zerotier's instructions without assigning it an IP.
I can add this physical interface in bridging to the ethernet lan port (which has its IP set via DHCP) and it works perfectly. Devices on the network can see devices on zerotier and viceversa.
Now I want to do the same but connecting the glinet as a wifi client instead of ethernet. So I created the wifi client interface in LuCI and assigned it to a new network. I put it in the same firewall zone as the ethernet port, and I can't access zerotier unless the ethernet cable was connected.
I thought maybe setting the tried removing the Wlan network and adding the wlan physical interface to the lan network, and now the wlan won't connect to the access point, even if the ethernet cable is unplugged.
I thought that maybe I just can't bridge the ethernet port to the wlan radio. So I removed the zerotier interface from the lan network and added it to the wlan network and again the wlan will not connect.
The GL.Inet software has what they call extender mode, where they have the wlan radio and ethernet port connected to the same interface, but for some reason that won't work with zerotier and to really go back you need to do a factory reset.
What am I doing wrong? Is there a way to do what I'm trying to do? Is it possible that the wireless radio just can't be bridged?
Correct, a wifi STA cannot be in a L2 bridge. This is not a firmware issue, it is because the standard presumes that only one MAC address will exist at the STA side. You will need to route to it instead of bridge.
Other than that, can't help you much since this forum is about official OpenWrt not the GL or other third party builds.
Thank you. So, just to clarify. I can bridge ethernet ports even if they have multiple MAC addresses, and I can also bridge WLAN master and ethernet. But I cannot bridge a WLAN client and an Ethernet port. Because the WLAN client doesn't want more MACs on the network. Correct?
I did more reading and I found this guide.
I cannot bridge the wlan client and ethernet port, but I can create a relay network between them.
I bridged the zerotier and ethernet interfaces in one network as usual, but I assigned a static unused ip to them.
Then, with luci-proto-relay installed I created a relay network between the wlan network and lan network, and assigned the ip of the wlan network to the relay network.
To maintain ssh access I assigned dropbear to the wlan network and rebooted the device.
This works as I want it to, but the performance of lan-to-zerotier connection is very low, probably because the AR300M16 is underpowered. In any case, I don't need speed, just access.
I think the Gl.Inet software's extender mode used a similar configuration. Probably it didn't work with zerotier before because I tried to bridge the zerotier interface to the wrong network.