Это сценарий.

Моя машина Host 1 Host 2

Все три машины Ubuntu. Моя машина и хост 1 имеют открытые IP-адреса.

Узел 2 имеет NAT IP и доступен только с узла 1 через NAT IP.

У меня есть доступ SSH с привилегиями sudo на хосте 1, хосте 2 и моей машине.

У меня есть служба, работающая на порту 6550 на хосте 2, и я хотел бы получить доступ к этой службе с моей машины.

Что должно быть сделано?

Кроме того, я точно знаю, что существует еще одна служба, работающая на порту 8080 на хосте 2, которая доступна для общего доступа через IP-адрес хоста 1. то есть host2-nat-ip:8080 сопоставлен с -> host1-public-ip:4567

1 ответ1

0

У меня есть доступ SSH с привилегиями sudo на хосте 1, хосте 2 и моей машине.

Если вы можете использовать SSH со своего компьютера на хосте 2, вы можете использовать переадресацию портов SSH.

Функция переадресации портов SSH может переправлять различные типы интернет-трафика в сеть или из нее. Это может быть использовано, чтобы избежать мониторинга сети или перехватчиков, или обойти плохо настроенные маршрутизаторы в Интернете.

Возможны более сложные приложения


Альтернативой является использование такого инструмента, как socat для настройки TCP-ретрансляции на host1.

socat TCP4-LISTEN:www TCP4:www.domain.org:www

устанавливает простой перенаправитель TCP-порта. При использовании TCP4-LISTEN он прослушивает локальный порт "www" до тех пор, пока не будет установлено соединение, примет его, затем подключится к удаленному хосту (TCP4) и начнет передачу данных.

Вы можете заменить произвольный числовой номер порта вместо www (80). Есть варианты сделать это постоянным релеем, который обрабатывает многократные одновременные и последовательные соединения.

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