Me gustaría que mi corredor MQTT sea accesible desde fuera de mi red doméstica, pero soy un poco reacio a abrir un puerto en el firewall. Y me gustaría evitar usar la IP de mi casa.
Es bastante conveniente tener un corredor abierto sin encriptar en casa, pero eso no funciona si voy a exponerlo. ¿Qué otras opciones tengo?
Respuestas:
Básicamente tiene 3 opciones si no desea reenviar un puerto.
Pero reenviar un puerto a una configuración adecuada (casi lo mismo que el agente de la nube) no es realmente un riesgo.
fuente
Como el agente es un servidor, DEBE abrir al menos un puerto para que los clientes se conecten.
Entonces, su problema se convierte en un caso especial de exponer un servicio en Internet.
Esto se ha hecho a través de DMZ, ya sea a través de proxy u otra forma de exigir una autenticación más estricta que el servicio predeterminado. Si su proxy vive en la nube, eso solo extiende su DMZ a la nube.
Probablemente, su enfoque más simple sea fortalecer a su agente (deshabilitar clientes anónimos) y restringir quién puede conectarse a él a través del firewall (permita solo ciertas direcciones IP de clientes, si las conoce de antemano).
fuente
@hardillb dio una buena respuesta, pero déjame intentar agregar algunos detalles agregando un toque "real":
Elija qué cliente se adapta mejor a usted y úselo para la interconexión interna del agente con el agente público MQTT. Por ejemplo, su cliente C podría ser Paho MQTT . El cliente tiene soporte para SSL / TLS, por lo que su seguridad permanece en un alto nivel.
Paho MQTT integrado puede ser su elección para dispositivos externos.
HiveMQ tiene una política de licencia de pago por uso para que pueda considerarla con cuidado. De todos modos, puede consultar esta página para obtener una lista de la nube disponible y probar los corredores MQTT disponibles.
fuente