Ich möchte, dass mein MQTT-Broker von außerhalb meines Heimnetzwerks zugänglich ist, aber ich zögere etwas, einen Port in der Firewall zu öffnen. Und ich möchte vermeiden, meine Heim-IP zu verwenden.
Es ist ziemlich praktisch, einen unverschlüsselten offenen Broker zu Hause zu haben, aber das funktioniert nicht, wenn ich ihn offenlegen werde. Welche anderen Optionen habe ich?
Antworten:
Grundsätzlich haben Sie 3 Möglichkeiten, wenn Sie keinen Port weiterleiten möchten.
Das Weiterleiten eines Ports an einen ordnungsgemäß konfigurierten Port (ungefähr so wie der Cloud-Broker) ist jedoch kein wirkliches Risiko.
quelle
Da der Broker ein Server ist, MÜSSEN Sie mindestens einen Port öffnen, damit Clients eine Verbindung herstellen können.
Ihr Problem wird also zu einem Sonderfall, wenn Sie einen Dienst im Internet verfügbar machen.
Dies wurde über DMZ durchgeführt, entweder über einen Proxy oder auf andere Weise, um eine strengere Authentifizierung als den Standarddienst zu erzwingen. Wenn Ihr Proxy in der Cloud lebt, wird Ihre DMZ nur auf die Cloud ausgedehnt.
Ihr einfachster Ansatz besteht wahrscheinlich darin, Ihren Broker zu härten (anonyme Clients zu deaktivieren) und einzuschränken, wer über die Firewall eine Verbindung zu ihm herstellen kann (nur bestimmte Client-IP-Adressen zulassen, wenn Sie diese im Voraus kennen).
quelle
@hardillb gab eine gute Antwort, aber lassen Sie mich versuchen, ein paar Details hinzuzufügen, die einen "echten" Touch hinzufügen:
Wählen Sie den Client aus, der am besten zu Ihnen passt, und verwenden Sie ihn für die interne Brokerverbindung mit dem öffentlichen MQTT-Broker. Ihr C-Client könnte beispielsweise Paho MQTT sein . Der Client unterstützt SSL / TLS, sodass Ihre Sicherheit auf einem hohen Niveau bleibt.
Paho MQTT eingebettet kann Ihre Wahl für externe Geräte sein.
HiveMQ verfügt über eine Pay-as-you-go-Lizenzierungsrichtlinie, sodass Sie diese sorgfältig prüfen können. Auf dieser Seite finden Sie eine Liste der verfügbaren Clouds und Tests der verfügbaren MQTT-Broker.
quelle