- fix determin client IPv4 address

This commit is contained in:
Christoph 2022-11-19 16:43:53 +01:00
parent 3fcbfca3ba
commit d104ed61e3

View File

@ -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 <<EOF > "${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