Отличная ситуация! У вас уже есть почти всё, что нужно. Вот ваша топология:

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 в браузере. Готово!

Добавить комментарий