Отличная ситуация! У вас уже есть почти всё, что нужно. Вот ваша топология:
Windows (внешняя сеть)
│
│ VPN
▼
Linux (в локальной сети роутера)
│
│ LAN (Ethernet/Wi-Fi)
▼
OpenWrt роутер (192.168.1.1)
Есть три варианта, от самого простого к более сложному.
Вариант 1: Прямой доступ через VPN (проверьте первым делом)
Если ваш VPN настроен с маршрутизацией всей подсети роутера, то вы уже можете открыть веб-интерфейс напрямую.
На Windows откройте браузер и введите:
http://192.168.1.1
(замените на реальный IP роутера, если он другой)
Если не открывается, проверьте маршруты. Откройте CMD или PowerShell на Windows:
route print | findstr 192.168
Если в таблице маршрутизации нет записи для подсети роутера (например, 192.168.1.0), значит VPN не маршрутизирует этот трафик. Переходите к варианту 2.
Вариант 2: SSH-туннель через встроенный OpenSSH (рекомендуется)
В Windows 10/11 уже встроен SSH-клиент. Это самый быстрый способ.
Пошаговая инструкция:
1. Откройте PowerShell или CMD на Windows.
2. Выполните команду:
ssh -L 8080:192.168.1.1:80 user@<VPN_IP_Linux_машины>
Где:
8080— локальный порт на Windows (можно любой свободный)192.168.1.1— IP роутера в локальной сети (подставьте реальный)80— порт веб-интерфейса роутераuser— ваш логин на Linux-машине<VPN_IP_Linux_машины>— IP-адрес Linux-машины, доступный через VPN (например,10.8.0.2для OpenVPN или100.x.y.zдля Tailscale)
Пример:
ssh -L 8080:192.168.1.1:80 admin@10.8.0.5
3. Введите пароль от Linux-машины.
4. Не закрывайте это окно терминала!
5. Откройте браузер на Windows и перейдите:
http://localhost:8080
Вы увидите веб-интерфейс OpenWrt (LuCI). 🎉
Как это работает:
Windows Linux OpenWrt
┌──────────┐ SSH-туннель ┌──────────┐ LAN ┌──────────┐
│ localhost│───────────────►│ │───────────►│ 192.168. │
│ :8080 │ (шифрование) │ 10.8.0.5 │ │ 1.1:80 │
└──────────┘ └──────────┘ └──────────┘
Трафик идёт: браузер → localhost:8080 → SSH → Linux → 192.168.1.1:80
Вариант 3: SSH-туннель через PuTTY (если предпочитаете GUI)
Если вам удобнее графический интерфейс:
1. Откройте PuTTY.
2. В разделе Session:
- Host Name: VPN-адрес Linux-машины (например,
10.8.0.5) - Port:
22
3. Перейдите в Connection → SSH → Tunnels:
- Source port:
8080 - Destination:
192.168.1.1:80 - Нажмите Add
- В списке «Forwarded ports» появится запись
L8080 → 192.168.1.1:80
4. Вернитесь в Session, нажмите Open и введите логин/пароль от Linux-машины.
5. Откройте браузер на Windows: http://localhost:8080
🔍 Как узнать IP роутера, если не помните
Если вы не уверены в IP-адресе роутера, подключитесь к Linux-машине по SSH (без туннеля) и выполните:
# Посмотреть шлюз по умолчанию (это и есть роутер)
ip route | grep default
# Или посмотреть ARP-таблицу
ip neigh show
# Или просто проверить типичные адреса
ping -c 1 192.168.1.1
ping -c 1 192.168.0.1
ping -c 1 10.0.0.1
⚠️ Частые проблемы
| Проблема | Решение |
|---|---|
Connection refused на localhost:8080 | Убедитесь, что SSH-сессия активна и не закрылась |
Connection timed out при SSH | Проверьте, что VPN подключен и Linux-машина доступна: ping <VPN_IP> |
Port 8080 already in use | Используйте другой порт, например 9090: ssh -L 9090:192.168.1.1:80 ... |
| LuCI открывается, но не загружается полностью | Попробуйте другой браузер или очистите кэш |
ssh не найден на Windows | Установите OpenSSH: Параметры → Приложения → Дополнительные компоненты → OpenSSH Client |
Итого: самый быстрый путь — откройте PowerShell на Windows и выполните одну команду:
ssh -L 8080:192.168.1.1:80 user@<VPN_IP_Linux>
Затем http://localhost:8080 в браузере. Готово!
