Use .Internal TLD instead of .local #3146
Replies: 6 comments 3 replies
-
|
I'm not a network expert, but do you think this roadmap item: HTTP server configuration through the UI (removing port 8123) #47 |
Beta Was this translation helpful? Give feedback.
-
Can I get the source for this information? I thought HA uses mDNS so it doesn't have to configure anything on the network to make this address resolvable. |
Beta Was this translation helpful? Give feedback.
-
This is wrong. HA uses mDNS - which is why homeassistant.local functions in environments with no cooperation whatsoever from any DNS server. As such, .internal is NOT the correct TLD for this use case, and in fact the documentation that you cite explicitly states that .local IS the correct TLD for this use case.
You are most assuredly correct. This is most obvious by the inability to use homeassistant.local from operating systems that do not support mDNS (such as Android) |
Beta Was this translation helpful? Give feedback.
-
How would you like this to happen? How do we authenticate to this DNS server so we can add entries?
Maintaining your own DNS server for internal use at home is not something we recommend at all. mDNS is better suited for this situation. DNS is only needed if you have external access. Besides, I don't see the value in recommending
If needed, users can add an alias. For new users, the full name is easier to use than acronyms. And those who have been using HA for a while now have the address saved in their browser/app. Overall, I see little value in implementing these suggestions, as they affect a very niche group of people. And those already affected by this problem are savvy enough to create workarounds themselves. For example, if you can install a local DNS server, you certainly already know how to add entries to it manually. Adding this feature only adds complexity and maintenance cost, but I doubt it will be actually used. |
Beta Was this translation helpful? Give feedback.
-
|
Why do you need to maintain a local DNS server at home? |
Beta Was this translation helpful? Give feedback.
-
|
I just ran a test to confirm, and as I expected, HA doesn't care what domain was used to access it. So point homeassistant.internal to your HA instance and that's all. Configuring DNS is outside of the scope of HA. There's no way for HA to automatically do this since there are countless different DNS implementations each with their own method of configuration - which is why mDNS is the primary method of finding an HA instance. |
Beta Was this translation helpful? Give feedback.


Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
[Update]: Based on the feedback below, I am pivoting this request! I originally suggested replacing
.localentirely, but completely blanked on the fact that HA relies on mDNS for its zero-config plug-and-play experience..localabsolutely needs to stay the default for that. I've updated the request below to focus on adding official support for.internalalongside it for traditional unicast DNS setups.Describe the feature
Home Assistant OS should officially support and document the
.internalTLD for users running locally-configured DNS zones, alongside the existing.localdefault used for mDNS.On 29 July 2024, the ICANN Board passed Resolution 2024.07.29.06, permanently reserving
.INTERNALfrom the DNS root zone for private-use applications:Additionally, IETF draft-davies-internal-tld-05 formalizes
.internalas the DNS equivalent of RFC 1918 private IP ranges. It explicitly distinguishes.internalfrom.local:While Home Assistant relies on mDNS (and therefore
.local) for its zero-config discovery, a massive portion of the community runs traditional local unicast DNS (Pi-hole, AdGuard, pfSense, etc.). For these setups,.internalis now the global standard.Proposed changes:
homeassistant.localas the default for mDNS / zero-configuration setups so out-of-the-box discovery doesn't break..internalhostname (e.g.,homeassistant.internal) to local DHCP/DNS servers..internalas a valid local domain option for those not using mDNS..internalas the recommended domain for users configuring their own local DNS, rather than encouraging them to fight with.localin unicast DNS.https://ha.internal/Use cases
While
.localis perfect for fresh installs, it is strictly reserved for multicast DNS (RFC 6762). On Linux (Avahi), macOS (Bonjour), and some Windows configurations, the OS intercepts.localqueries and routes them through mDNS rather than standard DNS — causing resolution delays, timeouts, or outright failures when HA is behind a proper DNS server.my.home-assistant.io currently suggests
http://homeassistant.local:8123as the default URL. While great for mDNS, it reinforces the usage of a TLD that was never designed for unicast DNS.Home Assistant is one of the largest self-hosted platforms in the world. Adopting
.internalas a supported secondary standard would align HA with the ICANN/IETF standard, reduce DNS resolution issues for homelabbers, and help drive broader ecosystem adoption of the TLD that internet governance bodies spent years establishing for exactly this use case.Current workarounds
I run my own DNS (MikroTik + step-ca) and have already migrated all my services to
.internal. But Home Assistant's defaults, documentation, and my.home-assistant.io all still primarily reference.local, creating friction. I have to manually override the suggested URLs and mentally translate every.localreference in the docs.Anything else?
Key references:
This is not a speculative request —
.internalis an approved, permanently reserved TLD backed by both ICANN and the IETF. Providing a hybrid approach (mDNS for beginners,.internalfor custom DNS) would make HA a leader in adopting the standard.Beta Was this translation helpful? Give feedback.
All reactions