Keeping a network connection unchanged when the laptop changes between wireless and wired

Like a lot of people, I have both wired and wifi connections at home. (the wired NIC is a USB 10 Gbps dongle).

Sessions are lengthy, so I often have to move my laptop location between rooms during the course of an evening and this causes networking to switch from wired to wireless and back. But this breaks a lot of things for me, in terms of actual use of my network, which is immensely frustrating.

I can mitigate some of them individually, but its a burden and new issues keep coming up, so I’m now utterly fed up and looking for workarounds to globally handle the problem once and for all. The problem is that the issue is baked into IP networking and may be baked into Windows (not sure), so Im not sure what a good workaround would be.

The fundamental problem is that it seems to be impossible to find a way to preserve existing IP in Windows upon a device switching the NIC it connects with (eg wireless to wired or back). Ive tried.

For example, I can give wired and wireless MAC addresses both the same IP on my DHCP server. When the laptop switches wireless-> wired, the DHCP request obtains the right IP for the wired NIC. But it cant use that IP because the wireless NIC already has that IP and remains connected in the background (“disconnect Wifi on wired LAN detection” doesnt seem to exist any more, which seems to block this otherwise perfect solution). But also Windows doesnt allow setting the same IP on two NICs so I can’t work around it that way either, although that would be perfect.

Other things tried:

  • Teaming or other similar tricks are insufficiently reliable or break when one of the NICs is a USB dongle, which is a problem for sessions that mustnt be interrupted.
  • Virtual NICs such as using Hyper-V and allowing it to use either physical NIC as a gateway seem unreliable too.
  • I looked into adding an additional layer such as Tailscale (built on Wireguard), but that adds a huge burden to the laptop which after all isn’t a workstation – encrypting and decrypting 10G traffic at line rate in the background. And there isnt any device I can pair it with as a static exit either (pfSense doesnt have a Tailscale port,nor allows access to other repos).
  • I looked up virtual NICs, with the idea that the IP address would be held by a virtual NIC, and the physical NICs would act a bit as network switches do, just forwarding packets and therefore not needing IP addresses hence a change of physical NIC in use wouldnt disrupt a session. But I couldnt find a way to, although that would work perfectly in theory.
  • The sessions cant be moved to some kind of remote device here, they need to run on the laptop where the data is and which Im working on (tmux/remote session style solutions).

I appreciate that this issue is baked into IP networking, but surely I cant be the only one who hits it, and Im hoping more experienced networking heads have solutions that could work.

Ive skipped a lot of details because Id like to avoid “why do you need this” type answers. I have an unusual workload need, Ive tried living with the change of IPs and its not very satisfactory, Ive looked at changes of approach and they are too limiting, and its more annoying now for various reasons, so Im feeling finally pushed to explore this one hard, and try and find an answer of some kind that skips the entire issue by making the switch of NIC “invisible” somehow.

Relevant setup is pfSense running DHCP + Unbound resolver for LAN, 10G networking, Wifi 6E on commercial APs (Aruba AP-635’s), laptop with Wifi built-in and a USB 10G RJ45 dongle via Thunderbolt 4, not currently using Radius or 802.1X certificates for device ID but open to it if relevant.

I hope theres a way. Thank you.