Client: enforce clean reset on every reinstall run

This commit is contained in:
Ruslan
2026-04-14 10:30:05 +03:00
parent 669867569e
commit 81a725561a
2 changed files with 21 additions and 0 deletions

View File

@@ -44,6 +44,7 @@
4. получает параметры подключения,
5. пишет локальный `/etc/wireguard/wg0.conf`,
6. запускает и включает `wg-quick@wg0`.
Каждый запуск клиентского установщика сначала очищает старые клиентские ключи/конфиг выбранного интерфейса и поднимает клиента заново.
## Почему выбран GUI `wireguard-ui`
@@ -141,6 +142,8 @@ sudo bash server/install_server.sh \
sudo bash client/install_client.sh
```
Важно: клиентский установщик теперь всегда выполняет reset старой конфигурации для выбранного интерфейса (`wg0` по умолчанию): удаляет клиентские ключи/конфиг и создает их заново.
### Запуск клиента одной командой (без `git clone`)
```bash

View File

@@ -26,6 +26,7 @@ KEEPALIVE="25"
usage() {
cat <<'USAGE'
Установка WireGuard-клиента и автоматическая регистрация на сервере.
Каждый запуск выполняет полный reset предыдущей клиентской конфигурации для выбранного интерфейса.
Использование:
install_client.sh [опции]
@@ -152,6 +153,22 @@ install_packages() {
apt_install_if_missing wireguard wireguard-tools iproute2 openssh-client sshpass ca-certificates
}
reset_existing_client_install() {
log_warn "Выполняю полный reset предыдущей конфигурации клиента (${WG_INTERFACE})"
local unit="wg-quick@${WG_INTERFACE}.service"
systemctl disable --now "$unit" >/dev/null 2>&1 || true
wg-quick down "$WG_INTERFACE" >/dev/null 2>&1 || true
rm -f \
"/etc/wireguard/${WG_INTERFACE}.conf" \
"/etc/wireguard/${WG_INTERFACE}_client_private.key" \
"/etc/wireguard/${WG_INTERFACE}_client_public.key" \
"/etc/wireguard/${WG_INTERFACE}_client_psk.key"
log_info "Старые конфиг/ключи клиента удалены для интерфейса ${WG_INTERFACE}"
}
ssh_base_cmd() {
echo "ssh -o StrictHostKeyChecking=accept-new -o ConnectTimeout=10 -p ${SSH_PORT} ${SERVER_USER}@${SERVER_HOST}"
}
@@ -333,6 +350,7 @@ main() {
collect_inputs
reset_existing_client_install
print_routes_info
install_packages
generate_keys