2014-11-05 4 views
6

У меня есть рабочий сокс из моего ноутбука (машина А) к машине B:Как подключить прокси SOCKS?

[A]$ ssh -ND 8888 B

Я могу настроить Firefox использовать сокс на локальный порт 8888, и просмотр работ. Все идет нормально.

Но у меня тоже есть сокс между машин B и C:

[B]$ ssh -ND 8157 C

Так что я могу просматривать на B, как если бы я был на С.

Есть ли способ цепи два прокси, чтобы я мог использовать firefox локально (на A), используя соединение с C? То есть, каким-то образом перенаправляет все запросы носки Firefox, начиная с A до C. A и C не могут видеть друг друга напрямую, но у меня есть полный доступ к корневой системе ssh. Все машины - Debian.

Обратите внимание, что я не хочу пересылать один порт (например, 80), мне нужен полный прикованный прокси-сервер.

+0

Соответствующие документы: http://en.wikibooks.org/wiki/OpenSSH/Cookbook/Proxies_and_Jump_Hosts – 0xC0000022L

ответ

-1

можно реверсировать SSH от машины к машине б затем портировать его на машину с т машин с

ssh -R 6333:localhost:22 [email protected]_b_ip 

это соединит машин с б через шифрованный туннель и прослушивают порт 22 в настоящее время ничего, подключенный к порт 6333 на машине б будет отправлен machine_c_ip на порт 22

теперь соединяют с машины а до Ь

ssh [email protected]_b -p 6333 

Теперь ваш подключен к машине б на порт 6333 все, что посылается от машины с будет перенаправлен на машине

можно реверсировать обрабатывать на разных портах для запуска CMDS от а до с

я знаю, что это Эйнт носка цепочки но хак для задачи

8

на машине B настроить динамический прокси для машины C

ssh -ND 8888 [email protected] 

затем на машине

ssh -L 8888:localhost:8888 [email protected] 

Это делает соединение SOCKS на компьютере B и делает порт станка Б 8888-подключения в состоянии с локального порта 8888 на машине А.

Это может потребоваться 3 SSH соединения открытым, если вы не можете напрямую подключаться к машине В. Если вы можете подключиться к машине B, вам нужно только 2 и на самом деле может направить команды, если это необходимо.

0

Это два решения, которые я использую.

Общественные SOCKS прокси Начало SOCKS прокси на общественного порта на машине В

[machineB]$ ssh -ND <public_ip>:8080 [email protected] 

или сделать его из машины А (два хмель)

[machineA]$ ssh [email protected] ssh -ND <machine_b_public_ip>:8080 [email protected] 

Затем установите браузер прокси на порт 8080

Примечание : Убедитесь, что порт 8080 открыт в брандмауэре станка Б

туннелировано Proxy туннелировать локальный SOCKS прокси от машины B к машине A

Отдельные команды:

[machineB]$ ssh -ND 8080 [email protected] 
[machineA]$ ssh -L 8080:localhost:8080 [email protected] 

или сделать это в один выстрел:

[machineA]$ ssh -L 8080:localhost:8080 [email protected] ssh -ND 8080 [email protected] 

Теперь задайте свой прокси-сервер на localhost на порту 8080

Смежные вопросы