Назад | Перейти на главную страницу

перенаправление портов с помощью socks через прокси

Я пытаюсь просмотреть вики, которая работает на сервере внутри одного домена из другого домена. Вики доступна только в локальной сети, но мне нужно просматривать ее из другой локальной сети, к которой я подключаюсь через туннель SSH ...

Вот моя установка и шаги, которые я сделал до сих пор:

~.ssh/confing на wikihost:

Host gateway
  User kisteuser
  Port 443
  Hostname gateway.companydomain.com
  ProxyCommand /home/myuser/bin/ssh-https-tunnel %h %p
  # ssh-https-tunnel:
  # http://ttcplinux.sourceforge.net/tools/stunnel
  Protocol 2
  IdentityFile ~/.ssh/key_dsa
  LocalForward 11069 localhost:11069

Host server1
  User kisteuser
  Hostname localhost
  Port 11069
  LocalForward 8022 server1:22
  LocalForward 17001 server1:7100
  LocalForward 8080 www-proxy:3128
  RemoteForward 11069 localhost:22

из wikihost

myuser@wikihost: ssh -XC -t gateway.companydomain.com ssh -L11069:localhost:22 server1

на другом терминале:

ssh gateway.companydomain.com

Теперь на моем корпоративном домене я хочу запустить firefox и просматривать вики на wikihost. Я сделал:

kisteuser@kiste.companydomain.com ~ $ ssh gateway
Have a lot of fun...
kisteuser@gateway ~ $ ssh -D 8383 localhost
user@localhost's password: 
user@wikiserver:~> 

Мой .ssh/config с той стороны выглядит так:

host server1
    localforward 11069 localhost:11069

host localhost
    user myuser
    port 11069

host wikiserver
    forwardagent yes
    user myuser
    port 11069
    hostname localhost 

Теперь я запустил firefox на сервере под названием gateway, и отредактировал настройки прокси для использования SOCKSv5, указав, что прокси должен быть gateway и использовать порт 8383 ...

kisteuser@gateway ~ $ LANG=C firefox -P --no-remote

И теперь я получаю следующее сообщение об ошибке в Терминале wikiserver:

myuser@wikiserver:~> channel 3: open failed: connect failed: Connection refused
channel 3: open failed: connect failed: Connection refused
channel 3: open failed: connect failed: Connection refused

Смущенный? Я тоже ...

Пожалуйста, помогите мне понять, как правильно строить туннели и просматривать вики по протоколу SOCKS.

Обновить:

Мне удалось просмотреть вики на викисервере со следующими изменениями:

host wikiserver
    forwardagent yes
    user myuser
    port 11069
    hostname localhost 
    localforward 8339 localhost:8443

Теперь, когда я ssh gateway Я запускаю Firefox, перехожу на localhost: 8339 и попадаю на стартовую страницу вики, которая обслуживается через порт 8443.

Теперь я спрашиваю себя, действительно ли нужны SOCKS? Может кто-нибудь уточнить это?

Чтобы настроить SOCKS так, как вы хотите, вам нужно запустить ssh -D 8383 команда на компьютер, на котором вы хотите запустить браузер, и подключить его к машина, имеющая доступ к вики. Вы также должны использовать localhost:8383 в качестве адреса прокси, потому что ssh -D по умолчанию слушает только на localhost как говорится на странице руководства:

По умолчанию локальный порт привязан в соответствии с настройкой GatewayPorts. Однако явный bind_address может использоваться для привязки соединения к определенному адресу.

Так что если gateway имеет доступ к wikihost, но вы хотите запустить свой браузер на kiste, вы должны запустить firefox на kiste, настройте его с "localhost: 8383" в качестве прокси-сервера SOCKS, а также запустите ssh -D 8383 gateway из kiste.

Еще несколько примечаний, о которых следует помнить:

Попробуйте запустить все команды ssh с помощью -v. Это покажет вам все запрошенные форварды, и вы сможете увидеть, какой именно из них не работает.

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

Сообщение об ошибке, которое вы видите, срабатывает, когда что-то пытается подключиться к одному концу статический SSH-туннель (который вы создаете с помощью -L или -R), но SSH не может подключиться к другому концу туннеля.