When Home Assistant works on Wi-Fi but fails on Ethernet or VPN, the application is probably healthy; the fault is usually in link state, addressing, routes, policy, DNS, return traffic, or multicast discovery.
Keep the known-good Wi-Fi path available while testing Ethernet and VPN separately. First use the target interface's direct IP, then verify gateway and return route, then test the service port, hostname, and discovery. Changing several network layers together can lock you out and makes a successful result impossible to attribute.
Prove the Ethernet Interface Has a Usable Address
Check physical link, negotiated speed, interface state, assigned address, subnet, gateway, and DHCP lease from the Home Assistant host or hypervisor. Compare them with a working client on the same Ethernet network. Link lights alone do not prove correct Layer 3 configuration.
A community case recommends inspecting all interfaces with nmcli when the expected eth0 device was absent. The useful first test is the actual interface name and address, not assuming every platform calls its wired port eth0.
From a client on the same subnet, ping or otherwise test the Ethernet IP and open port 8123 directly. If the IP is unreachable, remain at link, VLAN, DHCP, and subnet checks. If the IP works but the hostname fails, the Ethernet service is healthy and DNS becomes the next branch.
Check Route Choice, Firewall Policy, and Return Traffic
Inspect the routing table while both Wi-Fi and Ethernet are active. Identify the default route, interface metrics, and the route back to the testing client or VPN subnet. Replies leaving through the wrong interface can make inbound connections appear blocked even when the request arrived.
Temporarily test from the same VLAN before crossing router policies. If same-subnet access works but routed access fails, inspect inter-VLAN firewall rules, container network mode, hypervisor bridge, VPN allowed networks, and the reverse route on the Home Assistant side.
The ZimaSpace comparison of host and bridge networking helps distinguish a container port or discovery boundary from a physical Ethernet failure. Preserve the working Wi-Fi route until the wired path passes independently.
Separate Direct Reachability From DNS and Discovery
Test in order: Ethernet or VPN IP, service port, configured hostname, then automatic discovery. A direct IP success with a hostname failure points to DNS or a stale cached address. A direct UI success with missing devices points to discovery or device-subnet policy instead.
Cross-subnet Home Assistant discussions show that mDNS resolution may fail even when ordinary unicast traffic is allowed, because multicast discovery needs deliberate forwarding or a reflector. This multicast-versus-unicast distinction is especially important over VLANs and routed VPNs.
Do not widen every firewall rule to make discovery appear. Prefer explicit integration addresses when supported, or configure a narrowly scoped multicast relay between trusted segments. If the UI itself is unreachable by direct IP, discovery is not yet the relevant repair.
Apply One Network Fix and Retest Every Path
Correct the confirmed layer only: cable or switch port, DHCP reservation, subnet or gateway, interface metric, firewall rule, return route, DNS record, VPN allowed network, or multicast relay. Save the previous configuration and schedule a local access method before restarting network services.
Retest the Ethernet IP, hostname, local devices, VPN client, remote UI, WebSocket stability, and discovery in the same order. Restart the host once and renew client network state so stale routes and DNS do not create a temporary pass.
A passing result preserves reliable Ethernet access, retains the intended VPN route, avoids duplicate default paths, and discovers only across approved boundaries. Roll back if the working Wi-Fi path disappears or traffic leaks between segments; escalate with interface, route, firewall, and packet-flow evidence when requests arrive but replies still leave incorrectly.
Support & Tips
More to Read

How to Decommission Home Assistant Without Leaving Unprotected Data
Prove the replacement or archive, revoke every trust path, sanitize each data-bearing device, and retain only documented protected recovery copies.

Should You Use Automatic Updates for Home Assistant on a Home Server?
Choose manual, notification-only, or staged automatic updates from household impact, compatibility risk, observation time, and recovery readiness.

Why Does Home Assistant Consume High CPU After an Update?
Time the CPU spike, identify the responsible process, isolate one component, compare versions, and retest the same workload after recovery.

