From d104ed61e3ba84b5a6cf51cb0b354a955cee570b Mon Sep 17 00:00:00 2001 From: Christoph Date: Sat, 19 Nov 2022 16:43:53 +0100 Subject: [PATCH] - fix determin client IPv4 address --- create_wireguard_config.sh | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/create_wireguard_config.sh b/create_wireguard_config.sh index 8aef717..9862715 100755 --- a/create_wireguard_config.sh +++ b/create_wireguard_config.sh @@ -509,6 +509,7 @@ if [[ -f "${WG_SERVER_CONFIG}" ]]; then fi if $(echo "$_line" | grep -i -E "^\s*Address" > /dev/null 2>&1) ; then WG_SERVER_IPv4="$(trim "${_line#*=}")" + WG_SERVER_IPv4="${WG_SERVER_IPv4%/*}" fi fi done < "${WG_SERVER_CONFIG}" @@ -519,11 +520,13 @@ if [[ -f "${WG_SERVER_CONFIG}" ]]; then else WG_CLIENT_FIRST_IPv4="${octets[0]}.${octets[1]}.${octets[2]}.101" fi + + WG_CLIENT_IPv4="${WG_CLIENT_FIRST_IPv4}" - while grep -E -i -q "^\s*AllowedIPs\s*=\s*${WG_CLIENT_FIRST_IPv4}" "${WG_SERVER_CONFIG}" 2> "/dev/null" ; do + while grep -E -i -q "^\s*AllowedIPs\s*=\s*${WG_CLIENT_IPv4}" "${WG_SERVER_CONFIG}" 2> "/dev/null" ; do octets=() - octets=( ${WG_CLIENT_FIRST_IPv4//\./ } ) - WG_CLIENT_FIRST_IPv4="${octets[0]}.${octets[1]}.${octets[2]}.$(expr ${octets[3]} + 1)" + octets=( ${WG_CLIENT_IPv4//\./ } ) + WG_CLIENT_IPv4="${octets[0]}.${octets[1]}.${octets[2]}.$(expr ${octets[3]} + 1)" done else @@ -747,7 +750,7 @@ EOF fi echononl "Save a copy of server Configuration at '${WG_SERVER_PRIV_KEY}'.." - cp -a "${WG_SERVER_CONFIG}" "${WG_SERVER_PRIV_KEY}/" > "$log_file" 2>&1 + cp -a "${WG_SERVER_CONFIG}" "${WG_SERVER_DIR}/" > "$log_file" 2>&1 if [[ $? -eq 0 ]] ; then echo_ok @@ -1161,7 +1164,7 @@ fi echononl "Backup server configuration at '${WG_SERVER_CONFIG}'.." if [[ -f "${WG_SERVER_CONFIG}" ]]; then cp -a "${WG_SERVER_CONFIG}" \ - "${WG_SERVER_PRIV_KEY}/$(basename "${WG_SERVER_CONFIG}").${backup_date}" > "$log_file" 2>&1 + "${WG_SERVER_KEY_DIR}/$(basename "${WG_SERVER_CONFIG}").${backup_date}" > "$log_file" 2>&1 if [[ $? -eq 0 ]] ; then echo_ok @@ -1189,12 +1192,12 @@ cat < "${WG_CLIENT_CONFIG}" 2> "$log_file" [Interface] Address = ${WG_CLIENT_IPv4} PrivateKey = $(cat "${WG_CLIENT_DIR}/${WG_NEW_CLIENT_NAME}-private.key") -PresharedKey = ${WG_CLIENT_PESHARED_KEY} ListenPort = ${WG_LISTEN_PORT} DNS = ${WG_DNS} [Peer] PublicKey = ${WG_SERVER_PUB_KEY} +PresharedKey = ${WG_CLIENT_PESHARED_KEY} AllowedIPs = ${WG_ALLOWED_IP_LIST} Endpoint = ${WG_SERVER_ENDPOINT}:${WG_LISTEN_PORT} EOF @@ -1245,7 +1248,7 @@ else fi echononl "Save a copy of server configuration at '${WG_SERVER_PRIV_KEY}'.." -cp -a "${WG_SERVER_CONFIG}" "${WG_SERVER_PRIV_KEY}/" > "$log_file" 2>&1 +cp -a "${WG_SERVER_CONFIG}" "${WG_SERVER_KEY_DIR}/" > "$log_file" 2>&1 if [[ $? -eq 0 ]] ; then echo_ok