wg-installer: generate new keys for every connection

Generate new keys on every new connection.

Signed-off-by: Nick Hainke <vincent@systemli.org>
(cherry picked from commit 8ab044712a)
This commit is contained in:
Nick Hainke 2022-01-11 23:06:22 +01:00
parent 5f517cc584
commit 652ebf1a33
3 changed files with 10 additions and 0 deletions

View file

@ -20,6 +20,8 @@ cleanup_wginterfaces() {
delete_wg_interface() { delete_wg_interface() {
ip link del dev "$1" ip link del dev "$1"
[ -f "/tmp/run/wgserver/$1.key" ] && rm "/tmp/run/wgserver/$1.key"
[ -f "/tmp/run/wgserver/$1.pub" ] && rm "/tmp/run/wgserver/$1.pub"
} }
check_wg_neighbors() { check_wg_neighbors() {

View file

@ -5,4 +5,5 @@ config server
option base_v4prefix '10.0.0.1/24' option base_v4prefix '10.0.0.1/24'
option wg_key '/root/wg.key' option wg_key '/root/wg.key'
option wg_pub '/root/wg.pub' option wg_pub '/root/wg.pub'
option wg_tmp_key '1'
option timeout_handshake '600' option timeout_handshake '600'

View file

@ -53,6 +53,13 @@ wg_register () {
gw_key=$(uci get wgserver.@server[0].wg_key) gw_key=$(uci get wgserver.@server[0].wg_key)
gw_pub=$(uci get wgserver.@server[0].wg_pub) gw_pub=$(uci get wgserver.@server[0].wg_pub)
if [ $(uci get wgserver.@server[0].wg_tmp_key) -eq 1]; then
[ -d "/tmp/run/wgserver" ] || mkdir -p /tmp/run/wgserver
gw_key="/tmp/run/wgserver/${ifname}.key"
gw_pub="/tmp/run/wgserver/${ifname}.pub"
wg genkey | tee $gw_key | wg pubkey > $gw_pub
fi
wg_server_pubkey=$(cat $gw_pub) wg_server_pubkey=$(cat $gw_pub)
# create wg tunnel # create wg tunnel