ru1: паспорт RU entry-ноды (85.198.109.86, VDSina)
This commit is contained in:
55
servers/ru1.md
Normal file
55
servers/ru1.md
Normal file
@@ -0,0 +1,55 @@
|
||||
# ru1 — `85.198.109.86` (RU entry node)
|
||||
|
||||
VPN entry-нода в РФ. Точка входа в топологии **RU↔DE**: умный роутинг (RU-трафик → напрямую, зарубежный → туннель AWG до de1). Полный runbook — `~/README.md` на сервере.
|
||||
Секреты (MTProxy user-secrets, ключи WG) — только на сервере, не здесь.
|
||||
|
||||
**Провайдер:** VDSina · РФ
|
||||
**ОС:** Ubuntu 24.04.3 LTS · kernel 6.8.0-78
|
||||
**Ресурсы:** 1 vCPU / 1.9 GB RAM / 50 GB (swap 2 GB) — маленькая нода
|
||||
**hostname:** `v2911854.hosted-by-vdsina.ru`
|
||||
|
||||
## Доступ
|
||||
- `ssh mik@85.198.109.86` (пользователь `mik`, вход по ключу), **passwordless sudo**.
|
||||
|
||||
## Интерфейсы
|
||||
- `ens3` — публичный `85.198.109.86/24` (RU интернет, default route via 85.198.109.1)
|
||||
- `tun0` — OpenVPN #1 (умный роутинг) `192.168.255.1/24`
|
||||
- `tun1` — OpenVPN #2 (RU-выход) `192.168.254.1/24`
|
||||
- `wg0` — AmneziaWG туннель до de1 `10.8.1.4/32`
|
||||
- `wg1` — WireGuard для клиентов `10.8.2.1/24`
|
||||
|
||||
## Сервисы и порты
|
||||
| Сервис | Порт | Описание |
|
||||
|---|---|---|
|
||||
| OpenVPN #1 | 1194/udp (`tun0`) | умный роутинг: RU→ens3, зарубеж→wg0→de1. Cfg `/etc/openvpn/server/openvpn.conf` |
|
||||
| OpenVPN #2 | 1195/udp (`tun1`) | RU-выход (весь трафик через ens3, DNS Yandex). Cfg `/etc/openvpn/server/ruopenvpn.conf` |
|
||||
| AmneziaWG `wg0` | (awg, `45451/udp`) | туннель до de1 (exit). `awg-quick@wg0`, cfg `/etc/amnezia/amneziawg/wg0.conf`, `Table=off` |
|
||||
| WireGuard `wg1` | 51820/udp | VPN для клиентов (Docker `linuxserver/wireguard`), подсеть `10.8.2.0/24`, `~/wireguard/` |
|
||||
| telemt (MTProxy) | 443 | FakeTLS под `ru.ruzzy.dev`, маска → nginx `127.0.0.1:4443`. API `9091`. Docker, `~/gost/` |
|
||||
| nginx | 80, 4443 | маскировочный сайт `ru.ruzzy.dev` (Docker `nginx:alpine`) |
|
||||
|
||||
Контейнеры: `telemt`, `wireguard`, `nginx` (docker compose в `~/gost` и `~/wireguard`).
|
||||
|
||||
## Умный роутинг (tun0 и wg1)
|
||||
- `ipset ru_ips` (~11400 подсетей, источник ipdeny.com). До routing decision (mangle PREROUTING):
|
||||
- dst ∈ ru_ips → RETURN (без метки) → main table → ens3 (RU напрямую)
|
||||
- иначе → MARK `0x64` → `ip rule fwmark 0x64 → table vpn (100)` → default dev wg0 → de1
|
||||
- Обновление списка: `~/smart-routing/update-ru-ips.sh`, cron вс 03:00. Восстановление при ребуте: `ipset-restore.service` (до `awg-quick@wg0`).
|
||||
- tun1 — без умного роутинга (всегда RU/ens3).
|
||||
|
||||
## AWG Watchdog
|
||||
- `~/awg-watchdog.sh` в root-cron **каждые 3 мин**: если handshake `wg0` старше 5 мин → рестарт `awg-quick@wg0` + чистка дублей iptables. Лог `~/awg-watchdog.log`. (telemt зависит от wg0 — Telegram DC маршрутизируются через туннель до de1.)
|
||||
|
||||
## Клиенты
|
||||
- OpenVPN: `~/gen_client.sh --profile de|ru|both <имя>`, PKI `~/easy-rsa/pki`, профили `~/clients/`. CRL отключён.
|
||||
- WireGuard: `~/wireguard/gen_client.sh <имя>` → `~/wireguard/clients/<имя>.conf` (горячее добавление).
|
||||
|
||||
## Прочее в `~`
|
||||
- `badvpn`, `gost`, `smart-routing`, `tun2socks.log`, `net-backup`, `works`, `telemt-build`, `cloudflared.deb`.
|
||||
|
||||
## Живой статус (2026-06-21)
|
||||
Все юниты active (`awg-quick@wg0`, оба `openvpn-server@`, `ipset-restore`), 3 контейнера up, `wg0` handshake свежий, ipset ru_ips = 11394.
|
||||
|
||||
## ⚠️ Грабли (из README)
|
||||
- `wg1.conf` обязан иметь `Table = off` — иначе wg-quick при рестарте сносит default route и сервер теряет SSH (восстановление: `ip route add default via 85.198.109.1 dev ens3`).
|
||||
- Таблица маршрутизации — `vpn` (100), не `awg`.
|
||||
Reference in New Issue
Block a user