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

Перенаправление портов между 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 переадресация выполнена, но я не понимаю почему.

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

На:

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

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

Еще немного подробностей по запросу OP:

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

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