Convert wifi router to wifi->wired bridge

Ok, I've got a lot of this I think done, but there's a little I'm still trying to figure out. What I want to do is take my freshly flashed router (TP-Link Archer C20 v5) and convert it into a bridge. As it stands now I have an existing wireless access point that serves one network, and a virtual network beneath that on VMWare. What I am attempting to do is add the router to that network so that it reads all internet traffic from the WIRELESS network (for its own packages as well as for connected machines) instead of the wired interface. Then I can set up the network from there. Has anyone does this before? How do I do it?



I tried doing just what that discussion said, and I'd say I'm halfway there. Let me explain a bit of what I have and what I want:
Internet = Wi-Fi HotSpot from my cell phone (don't ask) - Hard Coded network range of
Router = TP-Link Archer C20 v5 recently flashed to OpenWRT
Computer 1 : Windows 10 Home old PC
Computer 2 : Gentoo Linux ancient laptop
Computer 3 : VMWare Workstation Gentoo Linux Box A
Computer 4 : VMWare Workstation Gentoo Linux Box B

At the present time, Computers 3 and 4 are bridged to the Wi-Fi adapter on Computer 1's Motherboard. They obtain their internet that way, just fine. But they cannot talk to the Router. The router, in turn, is connected to the onboard Ethernet adapter of Computer 1. Computer 1 can ping both the Cell phone and the router no problem. The router can talk to the cell phone and obtain internet from that. But the VMWare computers cannot ping the router, unless they are bridged to the Ethernet adapter. And if they are, then they cannot talk to the phone and thus cannot get internet. The IP setup so far is:
Win Ethernet:
Win Wi-Fi:
VMWare A:
(VMWare B isn't in play YET)

How do I configure it so that Windows and the VMWare boxes all get their internet feed from the Wi-Fi router, which in turn gets its feed from my cell phone?

WDS/ 4addr only works if all involved WDS devices (those that need bridging, not mere clients) are using wireless drivers using the mainline linux kernel's nl80211 wireless stack, this effectively requires OpenWrt (or a general purpose linux distribution with manual configuration for 4addr) on both ends.

Android is usually using proprietary drivers := not based on nl80211.
Windows is something completely different.

Neither of those are going to work (but you didn't mentioned Android or Windows in your initial post either).


I know I didn't mention it before. So that's why I clarified in the second post.

So what you seem to be telling me is that what I am trying to do simply cannot be done?

What you are asking for is technically 'impossible', wireless frames only contain 3 MAC addresses, while bridging requires a fourth. As this is still an often wanted features, several workarounds have emerged:

  • WDS/ 4addr, a special interface combination allowing to transmit the fourth MAC address via an additional STA interface, this is (only) present in mainline nl80211 based linux drivers.
  • several vendor specific, incompatible and proprietary WDS implementations (e.g. WET mode for Broadcom); WDS itself is not specified, every vendor does its own thing (or ignores it).
  • relayd, which tries to emulate a common broadcast domain via a hackery of firewall rules - this doesn't work well, often fails and doesn't support IPv6 at all.
  • routed client configurations, this breaks up your flat subnet by adding a routed subnet in place of the bridge, this is usually rather interoperable (only requirement, the involved devices need to allow adding static routes) and reliable, but rather invasive.

Which of those vmware on windows allows (in combination with android and the other mentioned complications), would be a question for a vmware specific venue (I assume a tricky variant of the last two options).

1 Like

Breaking into multiple networks would be actually rather easy if I understood where the break needed to occur.

What if I enabled some sort of bridging on Windows? i.e. Bridge the Ethernet and wireless adapters, and assign one IP to the combined bridge. Wouldn't the MAC that goes out be for the bridge, and thus saving a step between the internet and the VMWare boxes? Or is that pointless?