OpenVPN / OpenVPN/openvpn

Windows Community Edition does not install routes like other implementations

Open
#940 14 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Windows
Dominant language
C
Stars
14.6k
Forks
3.4k
PR merge metrics
No merged PRs in 30d

Description

Describe the bug
I have dozens of OpenVPN connections around the country connecting FreeBSD servers and Edgerouters and attempted to use the same process to create links to my Windows11 notebook running 2.6.17 to FreeBSD and Ubuntu servers. Eventually it became clear that Windows fails to create any gateway routes back to the server.

This was first noticed on a FreeBSD server with jails. The main conf file contains lines like:
push "route AAA.BBB.CC.DD 255.255.255.225" # The jails on this host

which resulted in an error (timestamp removed) only on Windows:
OpenVPN ROUTE: OpenVPN needs a gateway parameter for a --route option and no default was specified by either --route-gateway or --ifconfig options OpenVPN ROUTE: failed to parse/resolve route for host/network: AAA.BBB.CC.DD

I ignored that, choosing to get OpenVPN working correctly before worrying about the jail. Note, however, that in every other instance, this works correctly.

Eventually, it became clear that OpenVPN on Windows as a client fails to install gateway routes to the server. An example ccd file (that works everywhere else) would contain the single line:
ifconfig-push 172.16.26.1 172.16.26.3
Note that the Windows client does properly install a route for 172.16.26.3

For windows clients, it was required to add one more line: because it defaults to net30:
push "topology subnet"

While the VPN would come up, no traffic would be routed. The only fix I could determine was to run (as Administrator) a route add command:
route add 172.16.23.1 172.16.23.3

To Reproduce
See above

Expected behavior
I expected OpenVPN to act like every other implementation and tell the client to install a gateway route back to the server for the OpenVPN link as well as any associated route it created.

Version information (please complete the following information):

  • OS: Windows 11 (client)
  • OpenVPN version: 2.6.17

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the route behavior on a Windows 11 client with OpenVPN 2.6.17, using the supplied push route and ifconfig-push examples. Compare the resulting routes with the expected gateway route; done means the client installs the VPN gateway and associated routes without a manual Administrator route add.

Written by the indexing model from the issue text.

Assessment

Domain
networking, operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.