Gostaria que meu broker MQTT estivesse acessível fora da minha rede doméstica, mas estou um pouco relutante em abrir uma porta no firewall. E eu gostaria de evitar o uso do meu IP residencial.
É bastante conveniente ter um corretor aberto não criptografado em casa, mas isso não funciona se eu for exposto. Que outras opções eu tenho?
Respostas:
Você basicamente tem 3 opções se não quiser encaminhar uma porta.
Mas encaminhar uma porta para um configurado corretamente (aproximadamente o mesmo que o broker da nuvem) não é realmente um risco.
fonte
Como o broker é um servidor, você DEVE abrir pelo menos uma porta para os clientes se conectarem.
Portanto, seu problema se torna um caso especial de exposição de um serviço na Internet.
Isso foi feito via DMZ, por meio de proxy ou outra maneira de impor uma autenticação mais rigorosa que o serviço padrão. Se o seu proxy vive na nuvem, isso apenas estende sua DMZ para a nuvem.
Sua abordagem mais simples é provavelmente proteger seu broker (desabilitar clientes anônimos) e restringir quem pode se conectar a ele através do firewall (permita apenas determinados endereços IP de clientes, se você os conhecer com antecedência).
fonte
@hardillb deu uma boa resposta, mas deixe-me tentar adicionar alguns detalhes, adicionando um toque "real":
Escolha qual cliente melhor se adapta a você e use-o para interconexão do intermediário interno com o intermediário público do MQTT. Por exemplo, seu cliente C pode ser Paho MQTT . O cliente tem suporte para SSL / TLS para que sua segurança permaneça em um nível alto.
O Paho MQTT incorporado pode ser a sua escolha para dispositivos externos.
O HiveMQ possui uma política de licenciamento de pagamento conforme o uso, para que você possa considerá-la com cuidado. De qualquer forma, você pode verificar esta página para obter uma lista de nuvens disponíveis e testar os corretores MQTT disponíveis.
fonte