summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Poessinger <christian@poessinger.com>2022-02-17 20:58:02 +0100
committerChristian Poessinger <christian@poessinger.com>2022-02-17 20:58:02 +0100
commit1cbcbf40b7721849f9696c05fac65db010a66b7c (patch)
tree76656a80d4b16074bac7a2340ddd4d5371a582df
parent1d141f9927f60d9faa5037ee3fd1ee9fd56d2ed6 (diff)
downloadvyos-1x-1cbcbf40b7721849f9696c05fac65db010a66b7c.tar.gz
vyos-1x-1cbcbf40b7721849f9696c05fac65db010a66b7c.zip
openvpn: T4230: globally enable ip_nonlocal_bind
-rwxr-xr-xsrc/conf_mode/interfaces-openvpn.py7
-rw-r--r--src/etc/sysctl.d/33-vyos-nonlocal-bind.conf8
2 files changed, 8 insertions, 7 deletions
diff --git a/src/conf_mode/interfaces-openvpn.py b/src/conf_mode/interfaces-openvpn.py
index 329399274..29a25eedc 100755
--- a/src/conf_mode/interfaces-openvpn.py
+++ b/src/conf_mode/interfaces-openvpn.py
@@ -649,13 +649,6 @@ def apply(openvpn):
return None
- # verify specified IP address is present on any interface on this system
- # Allow to bind service to nonlocal address, if it virtaual-vrrp address
- # or if address will be assign later
- if 'local_host' in openvpn:
- if not is_addr_assigned(openvpn['local_host']):
- cmd('sysctl -w net.ipv4.ip_nonlocal_bind=1')
-
# No matching OpenVPN process running - maybe it got killed or none
# existed - nevertheless, spawn new OpenVPN process
call(f'systemctl reload-or-restart openvpn@{interface}.service')
diff --git a/src/etc/sysctl.d/33-vyos-nonlocal-bind.conf b/src/etc/sysctl.d/33-vyos-nonlocal-bind.conf
new file mode 100644
index 000000000..aa81b5336
--- /dev/null
+++ b/src/etc/sysctl.d/33-vyos-nonlocal-bind.conf
@@ -0,0 +1,8 @@
+### Added by vyos-1x ###
+#
+# ip_nonlocal_bind - BOOLEAN
+# If set, allows processes to bind() to non-local IP addresses,
+# which can be quite useful - but may break some applications.
+# Default: 0
+net.ipv4.ip_nonlocal_bind = 1
+net.ipv6.ip_nonlocal_bind = 1