I’m hoping this is the right place to bring this issue, i’ve had no luck with 
searching or bodging a solution on my own, and may need some help with a 
slightly-modified TAP adapter driver.

I’m running into an issue between the TAP adapter and Windows 10 ‘soft 
disconnect’ behavior for wireless connections causing recursive routing when 
connected to a redirect-gateway VPN. The service/feature in Windows is called 
Windows Connection Manager service, poorly documented here: 
https://docs.microsoft.com/en-us/windows-hardware/drivers/mobilebroadband/understanding-and-configuring-windows-connection-manager
 
<https://docs.microsoft.com/en-us/windows-hardware/drivers/mobilebroadband/understanding-and-configuring-windows-connection-manager>
 In a nutshell it silently redirects traffic to the more ‘reliable’ Ethernet 
OpenVPN adapter, overriding my /32 route and causing all traffic to fail as it 
recursively routes my traffic.

Microsoft makes some suggestion to disable the ‘prevent multiple connections to 
the Internet’ setting, but doing this does not seem to change the behavior when 
weak (but still functional) wireless signal is detected on the WLAN adapter. 
Microsoft see this as a problem with OpenVPN and refuse to do anything about it.
https://support.microsoft.com/en-us/help/2919900/windows-connection-manager-disconnects-wlan-if-a-vpn-connection-is-est
 
<https://support.microsoft.com/en-us/help/2919900/windows-connection-manager-disconnects-wlan-if-a-vpn-connection-is-est>

The upshot is that if Windows detected the TAP adapter as something other than 
iftype 0x6 EthernetCSMACD it wouldn’t exhibit this behavior, and Microsoft 
suggest 0x53 ‘virtual’ or 0x83 ’tunnel’ as the VPN adapter’s iftype (I’d 
suggest 0x84 for the comedy option).

I’ve found someone who’s successfully hacked this to work 
https://forums.openvpn.net/viewtopic.php?t=14942 
<https://forums.openvpn.net/viewtopic.php?t=14942> but I’m not able to 
reproduce it on my own, but it seems reasonable that it should work. I’m 
wondering if it makes sense to change the underlying TAP driver (or make the if 
type an option) since Windows seems to be getting “smarter” about interfaces 
and making routing or even security policy decisions based on the interface 
type presented.

The reason I’m posting this to the Dev list is I’ve no idea what the 
ramifications of changing the iftype, maybe someone’s looked in to this, but I 
haven’t seen any mention on this list about it. It seems reasonable that the 
change should be relatively minor, but again i’m not aware of all the corner 
cases that might rely on the if type being Ethernet for Windows to work 
properly.

Thanks for listening

Karl Mueller
ewi...@gmail.com



------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Openvpn-devel mailing list
Openvpn-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openvpn-devel

Reply via email to