When running Home Assistant OS (HAOS) in environments with multiple network interfaces (such as isolated VLANs, VPN tunnels, or IoT subnets), HAOS automatically assigns default routes to all active interfaces.
Currently, there is no way in the HAOS GUI to control which network interface should be preferred for the system default route.
This leads to problems where:
HAOS may select an unintended interface after rebooting.
Integrations relying on specific network paths (local LAN, remote VPNs) fail.
Users are forced to modify nmcli settings manually, which are unsupported and may be lost during upgrades or reboots.
There is currently no GUI-exposed method for users to set route priorities, which limits Home Assistant OS in more complex networking environments.
Core Integration / Area Affected
Home Assistant OS (HAOS)
Supervisor (Networking Setup in Settings → System → Network)
Uses NetworkManager under the hood.
Relevant system docs:
Home Assistant OS Networking
Description of the Problem
HAOS creates a default route for every network interface, even without a gateway being set.
The system’s choice of default route can change on reboot depending on interface startup order and route metric.
The “Preferred Network” setting in the Home Assistant GUI does not change system-level routing (only application-layer binding).
Users need to use nmcli to manually modify the ipv4.route-metric, but this is not persistent and is unsupported.
Removing gateways from interfaces — sometimes ineffective.
Relying on “Preferred Network” GUI — does not modify kernel routing.
Final Thoughts
This would bring HAOS more in line with standard Linux server/router practices while maintaining HAOS’s goal of being user-friendly.
It would also prevent accidental breakages when HAOS is used in moderately complex network environments.
Thanks for the response — I completely agree that unnecessary complexity should be avoided.
However, I think my request may have been misunderstood.
I’m not asking for Kubernetes, racks of servers, or anything enterprise-level. This is simply about a basic networking feature: letting users set which network interface should be preferred for routing.
HAOS already supports multiple interfaces (VLANs, VPNs, etc.).
Without a way to control route metrics, even simple setups — like isolating IoT devices — can break after reboot due to random route selection.
This isn’t “overcomplicating” a smart home — it’s avoiding unpredictable behavior caused by missing controls.
The request is for an optional setting — nothing that would affect users who don’t need it.
For those who do, it would reduce reliance on fragile CLI workarounds and improve system stability.
Modern home networks are more complex than a single flat LAN, and Home Assistant has evolved to support that reality.
This feature would align perfectly with the HAOS goal: simple by default, powerful when needed.
After all, if we truly wanted something ‘Simple’, we wouldn’t have gone with Home Assistant to begin with.
It’s not supported.
It’s just not prevented either.
Some things work because the base OS used works that way.
HA itself is not designed to work with segmented networks at all.
Adding features to change that is not likely, as that link I posted shows.
Hi John,
Thanks for your request.
I’ve got the same requirements with a simple two network adapter scenario.
Several hours I’ve been wasting to force HA OS to use a specific interface for outgoing traffic by changing MAC, interface order. Nothing persistant.
In configuration.yaml there should be a network: entry for manual discovery. But documentation is empty at the moment.
Hopefully somebody from core team can help.
Regards
Alex
I recently experienced a situation that requires a similar solution to this requested feature. Honestly, I was quite surprised that this very useful feature is not yet supported in HAOS, because I have been using 1 network interface all this time. So when I used 2 network interfaces connected to my HA and both connected to WAN, this became an issue. When the main route is down, integrations that require cloud cannot connect to the internet at all, even though the second route still has internet connectivity.
With the route metrics change settings from the UI, it makes it possible to change the main route more easily. Hopefully there will be good news about this.