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 <