Можно ли обернуть связь HTTPS в MQTT? - PullRequest
0 голосов
/ 05 марта 2019

снова я борюсь с недостатком знаний о протоколах.

Основная ситуация:

Устройство A хочет установить связь с устройством Z через HTTPS.

Устройство A не подключено к Интернету, а только к внутренней сети, поддерживающей только MQTT. Давайте назовем это «внутренним автобусом» Б. К B также подключен MQTT -> HTTPS Gateway G с доступом в Интернет.

Вопрос:

Можно ли будет обернуть весь HTTPS-трафик между A и Z в полезные нагрузки MQTT и использовать эти MQTT-пакеты для обмена данными и передачи данных - таким образом, чтобы устройства A и Z не "мешали" в их связь HTTPS?

Это не относится к каким-либо дешифровкам пакетов: все должно быть упаковано как есть в MQTT и направлено вперед через G - так что это будет что-то вроде уровня OSI 8.

Оценка:

Мое чутье говорит, что это должно как-то работать, но я думаю, что для достижения этого мне нужно написать свой собственный "сетевой драйвер" или "сетевой хук" на устройстве A и на шлюзе G

Что вы думаете о целесообразности?

Спасибо и всего наилучшего

Ответы [ 2 ]

1 голос
/ 05 марта 2019

Хотя это и возможно (почти все возможно, если вы попытаетесь достаточно усердно, люди написали целые VPN, которые работают через поиск DNS), я бы поставил под сомнение возврат инвестиций.

Вам понадобятся 2 темы, по одной для каждого направления связи, и устройство настройки / прослушивания на шлюзе для записи / чтения пакетов. Добавьте на уровне NAT, и он будет работать на уровне IP, а не на уровне прокси HTTP.

0 голосов
/ 06 марта 2019

Если вас беспокоит безопасность и по какой-то причине вы не можете (или не обязаны) использовать MQTT поверх TLS в локальной сети, вы можете использовать обратный прокси-сервер для терминации TLS на границе локальной сети.Это довольно легко сделать с Nginx (подробно описано в статье ниже)

https://docs.nginx.com/nginx/admin-guide/security-controls/terminating-ssl-tcp/

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

...