Туннели с тем же номером порта

У меня есть приложение, которое подключается к нескольким хостам на одном и том же порту:

a.protected:123 b.protected:123 

У меня нет прямого доступа ни к одному из них, но я могу создать туннель ssh (через x.accessible ).

Если бы порты отличались друг от друга, я мог бы превратить туннель в тот же номер порта:

 ssh -f me@x.accessible -L 123:a.protected:123 -N 

И тогда я бы добавил a.protected как псевдоним для localhost, в /etc/hosts

Но учитывая, что больше хостов используют один и тот же номер порта, каковы мои варианты? Как я могу использовать туннели, чтобы приложение могло подключаться к ним, не меняя приложения?

2 Solutions collect form web for “Туннели с тем же номером порта”

У вас есть два варианта. Используйте либо разные адреса источника, либо используйте прокси-сервер socks.

Различные исходные адреса

Ваш lo интерфейс настроен как 127.0.0.1/8 , то есть все адреса, начинающиеся с 127, принадлежат к текущему хосту.

Синтаксис для вашего туннеля

 -L [bind_address:] port:host:hostport 

Поэтому вы можете использовать что-то вроде:

 ssh -L 127.1.0.1:123:a.protected:123 -L 127.1.0.2:123:b.protected:123 

Теперь позвольте a.защищенному решению 127.1.0.1:123 и b.protected разрешить 127.1.0.2.

Использование прокси-сервера socks

 ssh -D 1080 

Это запустит локальный прокси-сервер socks на порту 1080 . Все соединения будут разрешаться и подключаться на другом конце туннеля.

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

Нет простого и прозрачного способа одновременного использования одного порта для двух соединений.

С моей точки зрения легко и правильно создать туннели на разных локальных портах:

 ssh -f me@x.accessible -L 123:a.protected:123 -N ssh -f me@x.accessible -L 123:a.protected:124 -N 

Таким образом, первое соединение будет доступно через порт 123, а второй – через порт 124.

пс. помните, что вам нужны корневые разрешения для использования порта под 1024.

  • Запустите команду в sudo через SSH
  • не может найти текущий процесс, который я начал с SSH вчера
  • SSH Дважды в bash alias / function
  • Доступ к работающему firefox через ssh
  • По-прежнему запрашивается пароль после создания ключей авторизации
  • «Ошибка совпадающего шифрования» в `rsync`
  • Почему это частный ключ для указания с параметром -i в ssh-клиенте?
  • Может ли emacs использовать gpg-agent в терминале вообще?
  • Проблемы с подключением ssh
  • Сервер Git с несколькими репозиториями
  • Как передать несколько команд через pssh и несколько xterms
  • Linux и Unix - лучшая ОС в мире.