Client: enforce clean reset on every reinstall run
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user