Множественное перенаправление портов ssh для socks-прокси

Вопрос или проблема

Я хотел открыть веб-страницу через SOCKS-прокси. Мой сценарий заключается в том, что у меня есть два промежуточных сервера. Один промежуточный сервер для подключения и второй промежуточный сервер для доступа к веб-страницам.

ssh [email protected] -D 10100 -tt ssh [email protected] -D 10101

Я также пробовал это.

ssh [email protected] -D 10100 

затем на втором промежуточном сервере [email protected] -D 10101.

В обоих случаях я все равно не могу получить доступ к своей веб-странице, у которой есть прямой доступ со второго промежуточного сервера, который является 192.168.2.2.

Как я могу открыть веб-страницу с моего локального компьютера?

В вашей текущей конфигурации вы пытаетесь наложить SOCKS5 на SOCKS5, что будет очень трудно использовать.

Поскольку 192.168.2.2 сможет достичь и правильно разрешить веб-сервер, именно он должен сохранить опцию DynamicForward (-D). Вы можете использовать классический LocalForward (-L), чтобы достичь его.

Это должно работать, но не было бы лучшим с точки зрения безопасности: третья сторона, имеющая доступ к 192.168.1.2, могла бы также использовать вашу точку входа SOCKS5. Не используйте это:

ssh -tt -L 10100:localhost:10101 [email protected] ssh -D 10101 [email protected]

Поскольку нет необходимости оставлять входную точку DynamicForward на 192.168.1.2, лучше использовать туннель LocalForward, чтобы достичь порта ssh второго хоста, с начального клиента. Это позволит переместить желаемую конфигурацию DynamicForward на локальный клиент.

term1:

ssh -L 2222:192.168.2.2:22 [email protected]

term2 (по-прежнему на начальном клиенте):

ssh -D 10100 -p 2222 user1@localhost

На самом деле это можно упростить с использованием ProxyJump (-J), если доступно. Это будет обрабатывать на заднем фоне первый порт, перенаправляя его к ssh-серверу 192.168.2.2, устраняя необходимость в LocalForward вообще:

ssh -D 10100 -J [email protected] [email protected]

Ответ или решение

Как настроить множественное SSH-перенаправление для SOCKS-прокси

Ваша задача — открыть веб-страницу через SOCKS-прокси с использованием двух промежуточных серверов (jump servers). Это задача, которая требует аккуратной настройки через SSH для обеспечения безопасности и функциональности. Давайте разберем, как можно это сделать, избегая некоторых распространенных ошибок.

Проблема

Проблема, с которой вы сталкиваетесь, заключается в том, что вы пытались настроить SOCKS5-прокси, используя второй сервер, не имея правильной конфигурации. Используя сочетание -D (DynamicForward) на обоих промежуточных серверах, вы на самом деле усиливаете сложность, что может привести к неудачам при доступе к интернет-ресурсам.

Рекомендованное решение

Для оптимальной настройки необходимо использовать LocalForward (опция -L) для передачи нужного порта, а DynamicForward оставьте только на том сервере, где действительно требуется прокси.

Шаги для настройки

  1. Первый терминал: Установите локальное перенаправление (Local Forward) от вашего клиента до второго сервера. Это создаст туннель между вашим компьютером и вторым джамп-сервером:

    ssh -L 2222:192.168.2.2:22 user1@jump_server_1_ip

    Здесь 2222 — локальный порт, на который вы будете подключаться, а 192.168.2.2 — адрес второго сервера, доступный из первого.

  2. Второй терминал: Теперь, не закрывая первый терминал, создайте SOCKS-прокси-клиентский соединение с помощью:

    ssh -D 10100 -p 2222 user1@localhost

    В этом примере 10100 — это локальный порт SOCKS-прокси, по которому вы будете подключаться с вашего локального устройства.

Альтернативное решение с использованием ProxyJump

Если у вас есть возможность использовать опцию ProxyJump (-J), это может значительно упростить весь процесс. Вот как это будет выглядеть:

ssh -D 10100 -J user1@jump_server_1_ip user2@192.168.2.2

Данная команда автоматически соединит ваш локальный эффект с первой промежуточной точкой (jump server 1), а затем с вашим конечным сервером (192.168.2.2), позволяя вам использовать SOCKS-прокси на локальном компьютере.

Обеспечение безопасности

Важно отметить, что предложенные выше методы могут подразумевать некоторые риски. Например, если другой пользователь имеет доступ к 192.168.1.2, он также может использовать вашу настройку SOCKS-прокси для доступа к интернет-ресурсам. Рекомендуется применять фаерволы и другие меры безопасности, чтобы ограничить доступ.

Заключение

Настройка множественного SSH-перенаправления для SOCKS-прокси может показаться сложной задачей, но следуя предлагаемым шагам и рекомендациям, вы сможете успешно ее реализовать. Обязательно протестируйте каждую часть настройки, чтобы гарантировать, что вы получите доступ к необходимым веб-страницам через правильно настроенный SOCKS-прокси.

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

Капча загружается...