Перенаправить сетевые вызовы на несколько доменов через SSH-туннель в Windows 10

1

У меня следующая ситуация: Есть некоторые хосты, которые доступны только через туннель ssh. Скажем так

Я могу установить SSH-туннель и привязать 443 порта, необходимые для подключения к локальным портам:

ssh -L 1443:example.com:443 -L 2443:other.com:443 -A -l username myproxy.com

Пока это работает нормально - когда я звоню https://localhost:1443, я могу открыть example.com, если я звоню https://localhost:2443, я могу позвонить other.com

Проблема: есть некоторые приложения, которые не знают об этом и все еще пытаются подключиться через обычное имя хоста и порт.

Добавив следующие строки в мой hostsфайл, я смогу приблизиться к окончательному решению:

127.0.0.1 example.com
127.0.0.1 other.com

Это позволяет мне звонить https://example.com:1443и https://other.com:2443в моем браузере - но порт все еще проблема. Мне нужно сопоставить ОБА домены с моим локальным портом, 443чтобы он работал для других приложений.

Я думаю , мне нужно будет иметь локальный прокси - сервер прослушивает порт 443и переадресации трафика на основе хоста либо 1443или , 2443но это, где я потерял.

Что я могу сделать, чтобы все приложения на моей машине могли просто использовать имя хоста / порт, но пропускать трафик через мой SSH-туннель?

Кристиан Энгель
источник
SSH может создать устройство TAP, и через него можно маршрутизировать ips.
Давидбауман
У вас есть документ, который описывает, как я могу это сделать?
Кристиан Энгель

Ответы:

0

Используйте ssh -D. Это создаст прокси-сервер SOCKS 5 на указанном порту (обычно 1080 или 9050), который вы можете настроить в браузере и получить доступ ко всему через туннель SSH.

Это работает одинаково с OpenSSH, PuTTY (plink), Bitvise Tunnelier; и не зависит от каких-либо функций на уровне операционной системы.

Например, ssh -D 9050запустив, вы можете настроить Firefox следующим образом:

введите описание изображения здесь

( Вместо Chrome может потребоваться опция командной строки .)

grawity
источник