From a671c1556fcab0b27c0477209897450daa0ff1d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BD=D0=B4=D1=80=D0=B5=D0=B9=20=D0=91=D0=BE=D0=B1?= =?UTF-8?q?=D1=8B=D1=80=D0=B5=D0=B2?= Date: Sun, 26 Apr 2026 16:22:31 +0300 Subject: [PATCH] =?UTF-8?q?docs:=20=D0=BE=D0=B1=D1=8A=D1=8F=D1=81=D0=BD?= =?UTF-8?q?=D0=B8=D1=82=D1=8C=20=D0=B8=D0=BC=D1=8F=20=D1=80=D0=BE=D1=83?= =?UTF-8?q?=D1=82=D0=B5=D1=80=D0=B0=20(peer)=20=D0=B8=20--dnat=20=D0=B4?= =?UTF-8?q?=D0=BB=D1=8F=20=D1=80=D0=B0=D0=B7=D0=BD=D1=8B=D1=85=20=D0=BF?= =?UTF-8?q?=D0=BE=D1=80=D1=82=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Made-with: Cursor --- README.md | 11 ++++++++--- tunnel/README.md | 12 ++++++++++-- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index f36c4fc..6a09266 100644 --- a/README.md +++ b/README.md @@ -41,19 +41,24 @@ curl -fsSL https://raw.githubusercontent.com/andrey271192/keenetic_ssh-web/main/ #### 2 команды “с нуля” (самый простой путь) -**Команда 1 — на VPS (Ubuntu):** поставить туннель и сразу добавить роутер (peer). +**Команда 1 — на VPS (Ubuntu):** поставить туннель и сразу добавить роутер. ```sh curl -fsSL https://raw.githubusercontent.com/andrey271192/keenetic_ssh-web/main/setup-vps.sh | sudo bash -s -- add my-router ``` -Если у конкретного роутера «прокси/админка» сидит на другом порту (например `777`), задайте порт при добавлении peer‑а: +Где `my-router` — **имя этого роутера на VPS** (можете назвать `home`, `dacha`, `office1`). + +Если у конкретного роутера «прокси/админка» сидит на другом порту (например `777`), задайте порт **для этого роутера**: ```sh sudo kssh-tun add my-router --dnat 777 ``` -Она выведет **готовый блок** (несколько строк `export ...` + `curl ... | sh`). +Что делает `--dnat`: туннель на роутере автоматически прокидывает вход на `wg0:<порт>` → `LAN_IP:<порт>`. +Это нужно, потому что некоторые сервисы Keenetic слушают **только на LAN‑IP**, и через `wg0` иначе будет `Connection refused`. + +Команда на VPS выведет **готовый блок** (несколько строк `export ...` + `curl ... | sh`). **Команда 2 — на роутере (Entware shell):** вставьте выданный блок **как есть**. diff --git a/tunnel/README.md b/tunnel/README.md index fe940d8..d5a0a3e 100644 --- a/tunnel/README.md +++ b/tunnel/README.md @@ -40,7 +40,15 @@ PublicKey: ## 2. На VPS — добавление каждого роутера ```sh -sudo kssh-tun add router-andrey-1 +sudo kssh-tun add home +``` + +`home` — это **имя роутера на VPS** (название peer-а). Можно любое: `dacha`, `office1`, `keenetic_andrey`. + +Если у конкретного роутера сервис слушает на нестандартном порту (например `777`) и нужен авто‑DNAT `wg0:777 → LAN_IP:777`, добавьте: + +```sh +sudo kssh-tun add home --dnat 777 ``` Утилита: @@ -81,7 +89,7 @@ curl -fsSL https://raw.githubusercontent.com/andrey271192/keenetic_ssh-web/main/ - поднимает интерфейс `wg0` с адресом `CLIENT_IP/24` - маршрутизирует `10.99.0.0/24` через `wg0` - ставит init-скрипт `/opt/etc/init.d/S50kssh-tunnel` ({start|stop|restart|status}) и rc.d-симлинк автозапуска -- автоматически добавляет точечный DNAT: вход на `wg0:81` → `LAN_IP:81` (помогает Keenetic‑админке/HTTP Proxy открываться через туннель; удаляется uninstall‑скриптом) +- автоматически добавляет DNAT для портов из `DNAT_PORTS`: вход на `wg0:port` → `LAN_IP:port` (помогает Keenetic‑админке/HTTP Proxy открываться через туннель; удаляется uninstall‑скриптом) - в конце пингует `10.99.0.1` (VPS) для проверки Если ping не прошёл — почти всегда дело в фаерволе VPS: `sudo ufw allow 51820/udp` (или эквивалент для iptables/firewalld).