Туннелировать HTTP-трафик через ssh

Туннелировать HTTP-трафик через ssh

Вот моя настройка. У меня есть частная сеть с одним публичным адресом IPv4. В этой частной сети у меня есть два сервера: 192.168.1.10 и 192.168.1.20. .10 — мой хост-бастион ssh. Я настроил переадресацию портов, чтобы иметь возможность подключаться к этому серверу по ssh из Интернета. Я также настроил конфигурацию ssh на своей рабочей станции, чтобы иметь возможность подключаться по ssh к 192.168.1.20 из Интернета через 192.168.1.10. Рабочая станция не находится в частной сети, это машина в Интернете.

Вот моя цель: я хочу иметь возможность подключаться к http-сервису на 192.168.1.20 через интернет с моей рабочей станции (просто нажав localhost:8080 или что-то подобное), но туннелировать через ssh. Какой туннель(и) мне нужно настроить и на каких машинах?

Спасибо!

решение1

Настройте туннелирование с вашей рабочей станции через:

ssh -L8080:192.168.1.20:80 server10

Где «server10» — это публичное имя, которое вы используете для доступа к 192.168.1.10.

Это позволит локально прослушивать порт 8080 и пересылать любые данные с целевого хоста на 192.168.1.20:80.

Альтернативой является использование -Dопции ssh для настройки socks-прокси. Это позволит вам достичь каждого порта на каждом хосте, но вам нужно настроить свое приложение для использования этого прокси.

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