Project

General

Profile

Actions

Feature #12522

open

Make Client-Specific Override options more flexible

Added by Phil Wardt over 2 years ago. Updated 5 months ago.

Status:
Pull Request Review
Priority:
Low
Assignee:
Category:
OpenVPN
Target version:
-
Start date:
Due date:
% Done:

0%

Estimated time:
Plus Target Version:
Release Notes:
Default

Description

I setup an OpenVPN server, let's say 10.10.10.0/24, which works properly
I setup some custom exceptions for a specific user under "Client Specific Overrides"

Issues:
- If option "Prevent this client from receiving any server-defined client settings." is checked:
+ even specifying "IPv4 Tunnel Network" option in client overrides, will always advertise net30 topology on the client (most clients default to net30)
This breaks "OpenVPN Connect" which fails to connect and causes a warning on clients like "OpenVPN for Android"
+ gateway route is not pushed from the server and we cannot define it in client overrides. Open VPN Connect client will fail to provide a gateway route and internet connection from client fails. Other clients make assumption of the gateway and default to 10.10.10.1
+ all other server defined options are lost

- If option "Prevent this client from receiving any server-defined client settings." is unchecked:
+ the options from server are still pushed to the client even if they are defined in "Client Specific Overrides"
This is the case for all "dhcp-option dns" entries from the server still pushed to the client

Current possible fix:
We must set these 2 options in Advanced section under "Client Specific Overrides"
- push "route-gateway 10.10.10.1": else all internet traffic will be denied with OpenVPN Connect
- push "topology subnet": else, OpenVPN connect will fail. OpenVPN For Android client will warn that the topology is net30 but the domain is subnet, and will assume subnet, so it can connect

Optionally, all other options in server need to be set manually too if we want to keep them:
- push "block-outside-dns"
- push "register-dns"
- push "redirect-gateway ipv6":
- push "ping 10"
- push "ping-restart 60"

Finally, the help doc specifies that for setting a fixed IP we need this option:
- ifconfig-push 10.10.10.250 255.255.255.0
This is not true because completing the "IPv4 Tunnel Network: 10.10.10.250/24" automatically adds the ifconfig-push ip to the client

Changes suggested:
- always push the proper server topology when we complete the "IPv4 Tunnel Network" field
- always push the server gateway route when setting client overrides
- optionally: give the ability to set all client exceptions from GUI like the client options in server and in this case

The two first suggestions are a bug fix because they break the connection


Files

vpn_openvpn_csc-v1.3.1.patch (20.9 KB) vpn_openvpn_csc-v1.3.1.patch GUI changes only + settings saved Phil Wardt, 04/09/2022 05:32 AM
vpn_openvpn_csc-v1.3.1-fixed.patch (19.5 KB) vpn_openvpn_csc-v1.3.1-fixed.patch Phil Wardt, 04/09/2022 06:53 AM
vpn_openvpn_csc-v1.3.2-master.patch (26.2 KB) vpn_openvpn_csc-v1.3.2-master.patch Phil Wardt, 04/09/2022 11:25 AM
vpn_openvpn_csc-v1.3.2-pfsense2.6.patch (26.3 KB) vpn_openvpn_csc-v1.3.2-pfsense2.6.patch Phil Wardt, 04/09/2022 11:25 AM
openvpn_enhanced_overrides_master.patch (34.3 KB) openvpn_enhanced_overrides_master.patch Phil Wardt, 04/11/2022 04:07 AM
openvpn_enhanced_overrides_pfsense2.6.patch (34.4 KB) openvpn_enhanced_overrides_pfsense2.6.patch Phil Wardt, 04/11/2022 04:07 AM
openvpn.inc-v1.0.patch (3.44 KB) openvpn.inc-v1.0.patch Phil Wardt, 09/05/2023 08:31 PM
vpn_openvpn_csc.php-v1.0.patch (26.3 KB) vpn_openvpn_csc.php-v1.0.patch Phil Wardt, 09/05/2023 08:31 PM
openvpn_cso.patch (24.8 KB) openvpn_cso.patch Phil Wardt, 11/24/2023 08:43 PM
Actions

Also available in: Atom PDF