Wireguard Windows keeps using lower priority interface (wifi) when a higher priority interface (wired) becomes available

Daniel Gröber dxld at darkboxed.org
Sun Nov 19 14:54:31 UTC 2023

Hi Dave,

On Thu, Oct 19, 2023 at 09:43:46AM +0200, Dave Mifsud wrote:
> Has anyone come across this issue? Can anything be done, apart from
> creating a trigger in windows such that whenever a wired connection
> becomes available Wireguard is restarted? We would like to avoid this,
> as the solution seems too drastic.

Sounds very similar to the behaviour I'm seeing with the Linux kernel
implementation. This is intentional as best I can tell, it's called "sticky

See my lament thread "Wg source address is too sticky for multihomed
systems aka multiple endpoints redux"

It's safe to say many people have run into this and I think will continue
to do so as multihoming (aka wifi+ethernet) is pervasive.

I have a workaround for this on Linux without breaking connectivity by
completely restarting the interface. It involves setting fwmark which
invalidates the cached route, not sure a comparable codepath exists in the
windows impl.


More information about the WireGuard mailing list