From 61f229b5dfc58a534f68d3ac99cee58c6b00951b Mon Sep 17 00:00:00 2001 From: Peter Galonza Date: Fri, 28 Mar 2025 09:34:05 +0300 Subject: [PATCH 1/2] fix: server address cannot be network address --- client/configurators/wireguard_configurator.cpp | 1 + client/server_scripts/awg/configure_container.sh | 4 +++- client/server_scripts/wireguard/configure_container.sh | 4 +++- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/client/configurators/wireguard_configurator.cpp b/client/configurators/wireguard_configurator.cpp index 69699998..5a7a8bd7 100644 --- a/client/configurators/wireguard_configurator.cpp +++ b/client/configurators/wireguard_configurator.cpp @@ -131,6 +131,7 @@ WireguardConfigurator::ConnectionData WireguardConfigurator::prepareWireguardCon switch (lastOctet) { case 254: result.setAddress(lastIp.toIPv4Address() + 3); break; case 255: result.setAddress(lastIp.toIPv4Address() + 2); break; + case 0: result.setAddress(lastIp.toIPv4Address() + 2); break; default: result.setAddress(lastIp.toIPv4Address() + 1); break; } diff --git a/client/server_scripts/awg/configure_container.sh b/client/server_scripts/awg/configure_container.sh index 2000c965..f4611e94 100644 --- a/client/server_scripts/awg/configure_container.sh +++ b/client/server_scripts/awg/configure_container.sh @@ -9,10 +9,12 @@ echo $WIREGUARD_SERVER_PUBLIC_KEY > /opt/amnezia/awg/wireguard_server_public_key WIREGUARD_PSK=$(wg genpsk) echo $WIREGUARD_PSK > /opt/amnezia/awg/wireguard_psk.key +AWG_SERVER_IP=$(echo $AWG_SUBNET_IP | sed 's/\.0$/\.1/') + cat > /opt/amnezia/awg/wg0.conf < /opt/amnezia/wireguard/wireguard_server_publ WIREGUARD_PSK=$(wg genpsk) echo $WIREGUARD_PSK > /opt/amnezia/wireguard/wireguard_psk.key +WIREGUARD_SERVER_IP=$(echo $WIREGUARD_SUBNET_IP | sed 's/\.0$/\.1/') + cat > /opt/amnezia/wireguard/wg0.conf < Date: Wed, 2 Apr 2025 23:55:27 +0300 Subject: [PATCH 2/2] feature: improved increase of the last octet of the address for wireguard --- client/configurators/wireguard_configurator.cpp | 2 +- client/server_scripts/awg/configure_container.sh | 4 +++- client/server_scripts/wireguard/configure_container.sh | 4 +++- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/client/configurators/wireguard_configurator.cpp b/client/configurators/wireguard_configurator.cpp index 5a7a8bd7..aadbe9fa 100644 --- a/client/configurators/wireguard_configurator.cpp +++ b/client/configurators/wireguard_configurator.cpp @@ -124,6 +124,7 @@ WireguardConfigurator::ConnectionData WireguardConfigurator::prepareWireguardCon .toObject() .value(config_key::subnet_address) .toString(protocols::wireguard::defaultSubnetAddress)); + lastIp.setAddress(lastIp.toIPv4Address() + 1); } else { lastIp = ips.last(); } @@ -131,7 +132,6 @@ WireguardConfigurator::ConnectionData WireguardConfigurator::prepareWireguardCon switch (lastOctet) { case 254: result.setAddress(lastIp.toIPv4Address() + 3); break; case 255: result.setAddress(lastIp.toIPv4Address() + 2); break; - case 0: result.setAddress(lastIp.toIPv4Address() + 2); break; default: result.setAddress(lastIp.toIPv4Address() + 1); break; } diff --git a/client/server_scripts/awg/configure_container.sh b/client/server_scripts/awg/configure_container.sh index f4611e94..e2c8804c 100644 --- a/client/server_scripts/awg/configure_container.sh +++ b/client/server_scripts/awg/configure_container.sh @@ -9,7 +9,9 @@ echo $WIREGUARD_SERVER_PUBLIC_KEY > /opt/amnezia/awg/wireguard_server_public_key WIREGUARD_PSK=$(wg genpsk) echo $WIREGUARD_PSK > /opt/amnezia/awg/wireguard_psk.key -AWG_SERVER_IP=$(echo $AWG_SUBNET_IP | sed 's/\.0$/\.1/') +IFS='.' read -r a b c d <<< "$WIREGUARD_SUBNET_IP" +((d++)) +WIREGUARD_SERVER_IP="${a}.${b}.${c}.${d}" cat > /opt/amnezia/awg/wg0.conf < /opt/amnezia/wireguard/wireguard_server_publ WIREGUARD_PSK=$(wg genpsk) echo $WIREGUARD_PSK > /opt/amnezia/wireguard/wireguard_psk.key -WIREGUARD_SERVER_IP=$(echo $WIREGUARD_SUBNET_IP | sed 's/\.0$/\.1/') +IFS='.' read -r a b c d <<< "$WIREGUARD_SUBNET_IP" +((d++)) +WIREGUARD_SERVER_IP="${a}.${b}.${c}.${d}" cat > /opt/amnezia/wireguard/wg0.conf <