Окей 👍 Дам пошаговую инструкцию для **WireGuard** на Ubuntu Server. ```sh ssh ubuntu@194.32.140.11 -p 22 ``` Ок 👌 давай сделаем связку **Ubuntu Server (сервер VPN)** ↔ **Windows 11 (клиент)** через **WireGuard**. --- ## 🔧 Установка WireGuard на Ubuntu (сервер) 1. Установи пакеты: ```sh sudo apt update && sudo apt install wireguard -y ``` 2. Сгенерируй ключи: ```sh umask 077 && wg genkey | tee server_private.key | wg pubkey > server_public.key ``` 3. Создай конфиг сервера: ```sh sudo mcedit /etc/wireguard/wg0.conf ``` Пример (замени `xx.xx.xx.xx` на внешний IP твоего сервера и подсеть на свою): ```ini [Interface] Address = 10.0.0.1/24 ListenPort = 51820 PrivateKey = <тот что сгенерился на сервере> SaveConfig = false [Peer] PublicKey = <тот что бкдкт генерится на клиенте> AllowedIPs = 10.0.0.2/32 ``` 4. Разреши форвардинг трафика: ```sh sudo mcedit /etc/sysctl.conf ``` раскомментируй: ``` net.ipv4.ip_forward=1 ``` применить: ```sh sudo sysctl -p ``` 5. Настрой firewall (если используешь `ufw`): ```bash sudo ufw allow 51820/udp ``` 6. Запусти WireGuard: ```sh sudo systemctl enable wg-quick@wg0 && sudo systemctl start wg-quick@wg0 ``` --- ## 💻 Установка WireGuard на Windows 11 (клиент) 1. Скачай официальный клиент: 👉 [WireGuard для Windows](https://www.wireguard.com/install/) 2. Установи и запусти WireGuard. 3. Создай ключи (можно прямо в приложении или на сервере): ```powershell # если на сервере: wg genkey | tee client_private.key | wg pubkey > client_public.key ``` 4. Добавь конфиг клиента (в приложении "Add Tunnel → Add empty tunnel"): ```ini [Interface] PrivateKey = Address = 10.0.0.2/32 DNS = 1.1.1.1 [Peer] PublicKey = Endpoint = xx.xx.xx.xx:51820 AllowedIPs = 0.0.0.0/0, ::/0 PersistentKeepalive = 25 ``` ⚠️ `xx.xx.xx.xx` → внешний IP твоего Ubuntu сервера. Если хочешь только доступ к PostgreSQL, можно в `AllowedIPs` указать: ``` 10.0.0.0/24, ccalm.org/32 ``` 5. Нажми **Activate** → VPN поднимется. --- ## ✅ Проверка На Windows: ```powershell ping 10.0.0.1 ``` Должен отвечать сервер. На Ubuntu: ```bash ping 10.0.0.2 ``` Должен отвечать клиент. После этого JDBC строка будет работать так же, как если бы ты был внутри сети. --- Хочешь, я соберу сразу готовые **два конфига (`wg0.conf` для сервера и client.conf для Windows)**, чтобы ты только ключи подставил?