OK, I guess i’ll add my opinion…
Using DNS only:
It only forwards the DNS registered to you to whatever the public (external) IP address is of your router.
It literally does absolutely nothing for security.
you still have to port forward any external traffic to your internal HA machine port via port forwarding on your router.
EX: Your external IP of your router is 173.32.90.3. The internal HA machine IP is 192.168.1.10. And you have port forwarding set up in your router to forward external port 8123 of your router to the internal IP of your HA machine port 8123. You have a dns service that registers my_dns_name.com to your router external IP address.
Typing 173.32.90.3:8123 on an external browser will take you directly to the login page of you HA installation.
type the username/password and you are in and can control your home.
By using DNS you will then type my_dns_name.com:8123 on an external browser and it will take you directly to the login page of you HA installation.
type the username/password and you are in and can control your home.
That’s literally it. There is no other security checks at all other than your HA username/password.
But if the public IP address of your router changes you can still access your router via the my_dns_name.com dns. That way you don’t have to keep track of what the current external IP address of your router is at all times.
Now add letsencrypt to the above:
Now whenever you type 173.32.90.3:8123 or my_dns_name.com:8123 it still takes you directly to the HA login screen but it now will encrypt the username/password that you type in so no one can easily sniff the traffic between your remote PC and your HA instance. Because that traffic is encrypted.
Again, still no other security checks at all other than your HA username/password. Except now when you enter that info into your remote browser no one can peek into your traffic and get the info you type.
Add a VPN:
Normally when you set up a VPN it has you install SSL certifications on the VPN server for the network you want to reach and the device you are using to connect to it.
The SSL certs make sure that you have an encrypted lock and key to your VPN server so that nobody else can (easily) get in. Once in you have full access to your entire internal network just as if you were connected behind your router.
you still need to open the ports on your router and forward those to the VPN service for access on your network but without the certificate key no one can open the door to the router and get in.
I believe (but not 100% sure) that most VPN servers also encrypt the traffic just like letsencrypt does so there is no change there.
Using Nabu Casa is like using a VPN (except it’s only for HA and doesn’t allow you access to other portions of your network like using a VPN does) but it’s easier to set up since it handles the SSL certs, encryption and opening ports on your router for you.
So use a VPN for better security if you need network wide access from your remote site or don’t want to pay for NC.
But if you only want access to HA, don’t mind paying for NC and want easier setup then use that instead.
I actually use both.
This is all from a non-professional network person so I hope I got things mostly correct.