1

Я знаю, как прокси-серверы работают изнутри и снаружи в теории, но практика становится лучше меня.

Мне нужно настроить SOCKS-прокси в той же сети, что и мой IP-адрес управления, чтобы он оставался отвлеченным от пользователей. У меня есть кластер vCenter, на котором я могу развернуть любую рекомендованную ОС, но для упрощения приведем настройку:

  • Система хранения mgmt IP = 10.244.244.15
  • SUSE11 VM IP = 10.244.244.10
  • Windows XP IP = 10.244.244.5

В системе SUSE я запустил ssh -ND 1080 <user>@<storage mgmt ip> , но это не привело к сквозному подключению.

В то время я запускал tcpdump на том же порту и видел попытку трафика:

17:42:26.669953 IP 10.x.x.x.54214 > x.x.com.socks: S 3287828135:3287828135(0) win 5840 <mss 1460,sackOK,timestamp 6708230 0,nop,wscale 6>
17:42:26.669968 IP x.x.com.socks > 10.x.x.x.54214: R 0:0(0) ack 3287828136 win 0

Общие вопросы:

  • Менее важно, что я делал выше?
  • Что еще более важно, как я могу настроить прокси SOCKS в этой среде?

1 ответ1

1

Соединение SSH, вероятно, только прослушивает интерфейс обратной связи (127.0.0.1) из-за настройки GatewayPorts в конфигурации SSHD. Ваша команда будет работать, если для GatewayPorts установлено значение yes.

netstat -an | grep LISTEN

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

ssh -ND <ip address>:<port> <user>:<host>

но только если GatewayPorts позволяет вам сделать это.

 GatewayPorts
     Specifies whether remote hosts are allowed to connect to ports
     forwarded for the client.  By default, sshd binds remote port
     forwardings to the loopback address.  This prevents other remote
     hosts from connecting to forwarded ports.  GatewayPorts can be
     used to specify that sshd should allow remote port forwardings to
     bind to non-loopback addresses, thus allowing other hosts to con-
     nect.  The argument may be "no" to force remote port forwardings
     to be available to the local host only, "yes" to force remote
     port forwardings to bind to the wildcard address, or
     "clientspecified" to allow the client to select the address to
     which the forwarding is bound.  The default is "no".

Я предполагаю, что для GatewayPorts по умолчанию установлено значение no. Измените его на yes (в /etc/ssh/sshd_config), и тогда ваша команда ssh должна работать без изменений, но вы можете использовать ip-адрес интерфейса для конкретного случая.

NB. Кроме того, вы должны проверить, что у вас нет правил iptables, блокирующих входящие соединения.

Будет работать ssh-прокси, но он может быть довольно медленным (издержки на шифрование). Возможно, вы захотите посмотреть на выделенный прокси-сервер socks, такой как sSocks.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .