144 lines
3.1 KiB
Markdown
144 lines
3.1 KiB
Markdown
Окей 👍 Дам пошаговую инструкцию для **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 = <client_private_key>
|
||
Address = 10.0.0.2/32
|
||
DNS = 1.1.1.1
|
||
|
||
[Peer]
|
||
PublicKey = <server_public_key>
|
||
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)**, чтобы ты только ключи подставил?
|