1

Сценарий:

Многие встраиваемые устройства (работающие под управлением Linux) находятся в полях, за маршрутизаторами, так что NAT'ы, и мы не можем подключиться к ним.

Нам нужно, чтобы сотрудник службы поддержки мог инициировать сеанс терминала / оболочки на любом из устройств.

Их локальный терминал также будет NAT за корпоративным брандмауэром, поэтому нам нужна некоторая центральная "точка встречи", к которой они и устройство могут подключиться.

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

Мы можем (другими способами) указать устройству выполнить какой-либо произвольный скрипт или приложение для запуска сеанса.

Без NAT, это просто SSH к устройству и понеслось. Но каковы мои варианты в этой среде NAT?

Мы можем разрабатывать код на любом конце или на сервере точки встречи, если это необходимо, но, очевидно, если есть приложения, поэтому нам не нужно писать что-то еще лучше.

Указатели на другие вопросы, которые я, возможно, пропустил (хотя я смотрел) или на приложения, которые я должен рассмотреть для центрального сервера "места встречи".

1 ответ1

0

Я бы предложил открыть SSH-соединение от встроенного устройства к серверу (мы называем это SERVER) под вашим контролем и создать обратный порт для перенаправления на порт 22 встроенного устройства. Вам нужно использовать нестатический номер порта на SERVER, потому что у вас есть параллельные соединения. Например, допустим, что вы перенаправили порт 2222 переадресации порта перенаправления на порт 22 встроенного устройства. Затем вы (или сотрудник службы поддержки) можете инициировать полное SSH-соединение со встроенным устройством, подключившись к порту 2222 SERVER. Это соединение может быть инициировано из среды NAT. Вам все еще нужно поставить SERVER на общедоступный IP, но даже какого-то решения dyndns должно быть достаточно.

После того, как соединение ssh установлено, вы можете остановить прослушивающий порт 2222 на СЕРВЕРЕ (то есть отключить переадресацию обратного порта). В результате вам необходимо зарезервировать порты прослушивания на сервере SERVER только на время установления новых соединений.

Смотрите man ssh и смотрите флаги -L и -R . Я думаю, что вы хотите использовать -R . Обратите внимание на bind address и требование, чтобы опция GatewayPorts была включена. Смотрите раздел TCP FORWARDING для примера. Если вам нужны дополнительные сценарии на встроенном устройстве, смотрите также параметры конфигурации -f и ExitOnForwardFailure .

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