Туннелирование HTTP-трафика с использованием другой машины через SSH

Туннелирование HTTP-трафика с использованием другой машины через SSH

У меня такая ситуация:

сервер 1: публичный ip xxxx частный ip 192.168.0.1

сервер 2: частный ip 192.168.0.10

Сервер 1 может выйти в Интернет через оба интерфейса:

ping -i x.x.x.x www.google.com
www.google.com is alive

ping -i 192.168.0.1 www.google.com
www.google.com is alive

Сервер 2 может связаться только с сервером 1 через ssh. Мне нужно обновить некоторые пакеты и установить некоторые новые на этом сервере (все команды оболочки). Я уже пробовал использовать:

ssh -D 9001 root@server1

и экспортирую http_proxy/ftp_proxy с localhost:9001 на сервере 2, но это, похоже, не работает. Как мне использовать публичное соединение сервера 1?

решение1

Опция -Dвключает сервер SOCKS4/5. Он не идентичен обычному HTTP/FTP-прокси и поэтому должен иметь другой интерфейс. Многие браузеры поддерживают SOCKS-прокси, но обычно не через переменную окружения http_proxy/ftp_proxy.

Вы можете обернуть программы, которые не поддерживают SOCKS напрямую, с помощьюtsocks.

Смотрите такжеhttps://superuser.com/questions/262956/как-вызвать-команду-используя-определенный-прокси-сервериКак скачать файл через SSH-сервер?

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