From 11fdb20ca051a6e5083d0d321191033418e5f8f7 Mon Sep 17 00:00:00 2001 From: jjakob Date: Sat, 4 Apr 2020 15:03:42 +0200 Subject: openvpn: T2222: set 'multihome' option when local-host is unset If configured with protocol udp and no local-host, openvpn needs the 'multihome' option to correctly work on all addresses. --- src/conf_mode/interfaces-openvpn.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'src/conf_mode/interfaces-openvpn.py') diff --git a/src/conf_mode/interfaces-openvpn.py b/src/conf_mode/interfaces-openvpn.py index fb2d6e6d9..9bac4d759 100755 --- a/src/conf_mode/interfaces-openvpn.py +++ b/src/conf_mode/interfaces-openvpn.py @@ -66,6 +66,10 @@ proto {% if 'tcp-active' in protocol -%}tcp-client{% elif 'tcp-passive' in proto local {{ local_host }} {% endif %} +{%- if mode == 'server' and protocol == 'udp' and not local_host %} +multihome +{% endif %} + {%- if local_port %} lport {{ local_port }} {% endif %} @@ -308,7 +312,7 @@ default_config_data = { 'ncp_ciphers': '', 'options': [], 'persistent_tunnel': False, - 'protocol': '', + 'protocol': 'udp', 'redirect_gateway': '', 'remote_address': '', 'remote_host': [], @@ -512,8 +516,7 @@ def get_config(): # OpenVPN operation mode if conf.exists('mode'): - mode = conf.return_value('mode') - openvpn['mode'] = mode + openvpn['mode'] = conf.return_value('mode') # Additional OpenVPN options if conf.exists('openvpn-option'): -- cgit v1.2.3