Saya ingin broker MQTT saya dapat diakses dari luar jaringan rumah saya, tapi saya agak enggan untuk membuka port di firewall. Dan saya ingin menghindari menggunakan IP rumah saya.
Cukup nyaman untuk memiliki broker terbuka yang tidak terenkripsi di rumah, tetapi itu tidak berfungsi jika saya akan mengeksposnya. Opsi apa lagi yang saya miliki?
Jawaban:
Anda pada dasarnya memiliki 3 opsi jika Anda tidak ingin meneruskan porta.
Tetapi meneruskan port ke yang dikonfigurasi dengan benar (hampir sama dengan broker cloud) tidak benar-benar risiko.
sumber
Karena broker adalah server, Anda HARUS membuka setidaknya satu port untuk dihubungkan klien.
Jadi, masalah Anda menjadi kasus khusus mengekspos layanan di Internet.
Ini telah dilakukan melalui DMZ, baik melalui proxy atau cara lain untuk menegakkan otentikasi yang lebih ketat daripada layanan default. Jika proxy Anda hidup di cloud, itu hanya memperluas DMZ Anda ke cloud.
Pendekatan Anda yang paling sederhana mungkin untuk memperkeras broker Anda (menonaktifkan klien anonim) dan membatasi siapa yang dapat terhubung melalui firewall (hanya mengizinkan alamat IP klien tertentu, jika Anda tahu sebelumnya).
sumber
@hardillb memberikan jawaban yang bagus tetapi saya ingin menambahkan beberapa detail menambahkan sentuhan "kehidupan nyata":
Pilih klien mana yang paling cocok untuk Anda dan menggunakannya untuk interkoneksi broker internal dengan broker MQTT publik. Misalnya klien C Anda bisa Paho MQTT . Klien memiliki dukungan untuk SSL / TLS sehingga keamanan Anda tetap pada tingkat tinggi.
Paho MQTT tertanam dapat menjadi pilihan Anda untuk perangkat eksternal.
HiveMQ memiliki kebijakan lisensi pay-as-you-go sehingga Anda dapat mempertimbangkannya dengan hati-hati. Pokoknya Anda dapat memeriksa halaman ini untuk daftar cloud yang tersedia dan menguji broker MQTT yang tersedia.
sumber