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

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

У меня следующая ситуация: Есть некоторые хосты, которые доступны только через туннель 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?

решение1

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

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

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

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

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

Связанный контент