Переадресация портов между 3 машинами

Переадресация портов между 3 машинами

У меня есть 3 машины, соединенные в цепочку: A, B, C.

 A-->B-->C

A — моя машина, B — сервер, а C — другая машина с некоторыми службами и веб-сервером на ней. Из-за некоторых проблем мне нужен доступ с A к веб-серверу на C (порт 80), я могу использовать ssh для входа с A на B, а затем с B на C, но консоль в данный момент слишком мала. Мне нужен веб-браузер, а использование ssh с опцией -Xне сработало (некоторые проблемы с dbus при запуске Firefox).

Я делаю переадресацию портов на B, используя классическую команду для переадресации 22 порта для ssh:

ssh -L 2222:localhostB:22 user@ipC

но использование того же самого для переадресации порта 80 не сработало:

ssh -L 8888:localhostB:80 user@ipC

Я знаю, что есть какая-то другая переадресация, чтобы это работало, но я не понял, как и что.

Мне нужно что-то вроде этого:

A --> B (frd from B:8888 to C:80) --> C (port 80 web server)

поэтому, когда я ввожу ipB:8888, я буду перенаправлен на C:80.

Любая помощь, как объяснить, что должно быть сделано, или скрипты с командами будут оценены. Я заметил в одном блоге, что это должно быть сделано дважды, ssh -Lпересылка выполнена, но я не понял, почему.

решение1

Вы на правильном пути.

На:

ssh -L 8888:ipC:80 user@ipB -N

Сделает веб-сервер на C доступным через localhost:8888 на A

Немного больше подробностей по просьбе ОП:

Из вашего вопроса я сделал вывод, что вы хотите получить доступ к веб-серверу C на A (предполагаю, что у вас есть графическая среда на A с веб-браузером).

Вы не можете получить доступ к C напрямую (по какой-то причине), но вы можете получить доступ к B, который, в свою очередь, может получить доступ к C. Поэтому мы создаем туннель между A и B, прося B подключить свой конец туннеля к веб-серверу на C.

Связанный контент