summaryrefslogtreecommitdiff
path: root/src/conf_mode/interfaces-wireguard.py
diff options
context:
space:
mode:
authorChristian Poessinger <christian@poessinger.com>2020-04-05 14:33:34 +0200
committerChristian Poessinger <christian@poessinger.com>2020-04-05 14:33:34 +0200
commit2a16c8e3f9767b1754c14e8f596a74e4bb5de72a (patch)
tree3f97b6f607a0e4f4733ea466da4ef82c7e6911e5 /src/conf_mode/interfaces-wireguard.py
parent67b968fcec28b544e1982f4847399cbbabd61200 (diff)
parent792b5dcd5a33785c994065d2c7243c21470b3d29 (diff)
downloadvyos-1x-2a16c8e3f9767b1754c14e8f596a74e4bb5de72a.tar.gz
vyos-1x-2a16c8e3f9767b1754c14e8f596a74e4bb5de72a.zip
Merge branch 't2206-wireguard' of github.com:c-po/vyos-1x into current
* 't2206-wireguard' of github.com:c-po/vyos-1x: wireguard: T2228: support ports less then 1024 wireguard: T2206: add valueHelp for listen port wireguard: T2206: split endpoint node into address and port wwan: migrate: fix comment
Diffstat (limited to 'src/conf_mode/interfaces-wireguard.py')
-rwxr-xr-xsrc/conf_mode/interfaces-wireguard.py27
1 files changed, 15 insertions, 12 deletions
diff --git a/src/conf_mode/interfaces-wireguard.py b/src/conf_mode/interfaces-wireguard.py
index d8c327e19..5c0c07dc4 100755
--- a/src/conf_mode/interfaces-wireguard.py
+++ b/src/conf_mode/interfaces-wireguard.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python3
#
-# Copyright (C) 2018 VyOS maintainers and contributors
+# Copyright (C) 2018-2020 VyOS maintainers and contributors
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 or later as
@@ -13,13 +13,12 @@
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-#
-#
import sys
import os
import re
import subprocess
+
from copy import deepcopy
from netifaces import interfaces
@@ -30,10 +29,9 @@ from vyos.ifconfig import WireGuardIf
kdir = r'/config/auth/wireguard'
-
def _check_kmod():
if not os.path.exists('/sys/module/wireguard'):
- if os.system('sudo modprobe wireguard') != 0:
+ if os.system('modprobe wireguard') != 0:
raise ConfigError("modprobe wireguard failed")
@@ -135,7 +133,8 @@ def get_config():
{
p: {
'allowed-ips': [],
- 'endpoint': '',
+ 'address': '',
+ 'port': '',
'pubkey': ''
}
}
@@ -144,10 +143,14 @@ def get_config():
if c.exists(['peer', p, 'allowed-ips']):
wg['peer'][p]['allowed-ips'] = c.return_values(
['peer', p, 'allowed-ips'])
- # peer endpoint
- if c.exists(['peer', p, 'endpoint']):
- wg['peer'][p]['endpoint'] = c.return_value(
- ['peer', p, 'endpoint'])
+ # peer address
+ if c.exists(['peer', p, 'address']):
+ wg['peer'][p]['address'] = c.return_value(
+ ['peer', p, 'address'])
+ # peer port
+ if c.exists(['peer', p, 'port']):
+ wg['peer'][p]['port'] = c.return_value(
+ ['peer', p, 'port'])
# persistent-keepalive
if c.exists(['peer', p, 'persistent-keepalive']):
wg['peer'][p]['persistent-keepalive'] = c.return_value(
@@ -251,8 +254,8 @@ def apply(c):
if c['fwmark']:
intfc.config['fwmark'] = c['fwmark']
# endpoint
- if c['peer'][p]['endpoint']:
- intfc.config['endpoint'] = c['peer'][p]['endpoint']
+ if c['peer'][p]['address'] and c['peer'][p]['port']:
+ intfc.config['endpoint'] = "{}:{}".format(c['peer'][p]['address'], c['peer'][p]['port'])
# persistent-keepalive
if 'persistent-keepalive' in c['peer'][p]: