diff --git a/tunnel/README.md b/tunnel/README.md index 8121cf9..076b3ff 100644 --- a/tunnel/README.md +++ b/tunnel/README.md @@ -125,7 +125,7 @@ ssh root@10.99.0.5 | `CLIENT_IP` | да | IP роутера в туннельной подсети, например `10.99.0.5`. | | `CLIENT_PRIVKEY` | да | PrivateKey роутера (выдаёт `kssh-tun add`). | | `WG_IF` | `wg0` | Имя интерфейса. | -| `WG_SUBNET` | `10.99.0.0/24` | AllowedIPs клиента (что маршрутизировать в туннель). | +| `WG_SUBNET` | `10.99.0.1/32` | AllowedIPs клиента (что маршрутизировать в туннель). По умолчанию только VPS, чтобы не конфликтовать с существующими WG-маршрутами Keenetic. Поставьте `10.99.0.0/24` если нужно общение peer-to-peer. | | `WG_KEEPALIVE` | `25` | `PersistentKeepalive` в секундах (нужен из-за NAT провайдера). | --- diff --git a/tunnel/server-install.sh b/tunnel/server-install.sh index 82a0628..71fdc9b 100755 --- a/tunnel/server-install.sh +++ b/tunnel/server-install.sh @@ -63,9 +63,12 @@ fi systemctl enable "wg-quick@${WG_IF}" >/dev/null 2>&1 || true systemctl restart "wg-quick@${WG_IF}" -# Открыть UDP-порт в UFW, если он активен +# UFW: открываем UDP-порт WG и ВЕСЬ трафик внутри туннеля (на самом wg0). +# Без второго правила handshake пройдёт, а ping/HTTP внутри wg0 будут глохнуть. if command -v ufw >/dev/null 2>&1 && ufw status 2>/dev/null | grep -q "Status: active"; then ufw allow "${WG_PORT}/udp" >/dev/null 2>&1 || true + ufw allow in on "$WG_IF" >/dev/null 2>&1 || true + ufw allow out on "$WG_IF" >/dev/null 2>&1 || true fi PUB_IP="$(curl -s4 ifconfig.me 2>/dev/null || hostname -I | awk '{print $1}')" diff --git a/tunnel/tunnel-install.sh b/tunnel/tunnel-install.sh index 3f9d0b2..65f32af 100755 --- a/tunnel/tunnel-install.sh +++ b/tunnel/tunnel-install.sh @@ -12,7 +12,11 @@ set -e WG_IF="${WG_IF:-wg0}" -WG_SUBNET="${WG_SUBNET:-10.99.0.0/24}" +# Что маршрутизировать в туннель. По умолчанию только сам VPS (/32), +# чтобы не конфликтовать с возможными существующими маршрутами +# 10.99.0.0/24 на роутере (другие WG-интерфейсы Keenetic). Если нужен +# доступ к другим peer-ам в подсети — поставьте WG_SUBNET=10.99.0.0/24. +WG_SUBNET="${WG_SUBNET:-10.99.0.1/32}" WG_KEEPALIVE="${WG_KEEPALIVE:-25}" WG_DIR="/opt/etc/wireguard" INIT="/opt/etc/init.d/S50kssh-tunnel"