Hi all,
I’ve suddenly lost access to the IncusOS management API on a single-NIC homelab host and would appreciate a sanity check on the diagnosis before I crack the case open and plug in a monitor.
Setup
- IncusOS host on a single physical NIC
enp6s0, configured with theinstancesrole only (host has a LAN IP, call it<HOST_IP>/24). - One VM
balinaon the LAN bridge at<VM_IP>, plus other clients on the same physical LAN. - This was working previously; I don’t know what changed (possible auto-update / reboot in between).
Symptom
From any client (the VM, or a MacBook on the same physical LAN):
$ incus config show | grep https_address
Error: Get "https://<HOST_IP>:8443/1.0": Unable to connect to: <HOST_IP>:8443 ([dial tcp <HOST_IP>:8443: connect: no route to host])
Same error for incus admin os ... — which makes sense, since those also go through the API.
What I’ve ruled out
L2/L3 reachability is fine from both sources:
From balina (VM, on the bridge):
$ ping -c2 <HOST_IP>
2 packets transmitted, 2 received, 0% packet loss
rtt avg 0.110 ms
$ ip neigh | grep <HOST_IP>
<HOST_IP> dev enp5s0 lladdr <HOST_MAC> REACHABLE
From MacBook (en0, same physical LAN):
$ ping -c2 <HOST_IP>
2 packets transmitted, 2 packets received, 0.0% packet loss
round-trip avg 9.002 ms
$ route -n get <HOST_IP>
interface: en0
So ARP resolves, ICMP echo works fine, both ends are clearly on the same L2 segment. The connect: no route to host from a TCP SYN therefore points to EHOSTUNREACH — meaning the host is sending back an ICMP destination-unreachable in response to the SYN, not silently dropping and not RST-ing.
Hypotheses
I’ve narrowed this to two:
incusdisn’t actually bound to<HOST_IP>:8443(after a reboot/upgrade), and the system is responding to traffic on unbound ports with ICMP reject rather than TCP RST. Vaguely similar to this report on regular Incus where togglingcore.https_addresspost-reboot is needed to force a re-bind.- An
nftablesrule is rejectingtcp dport 8443withicmp host-prohibited/host-unreachable. I know IncusOS doesn’t ship user-facing firewalling yet (issue #528), but maybe Incus’ own bridge-management rules are catching this.
Questions
- Is there any known issue where the API listener fails to come up after a reboot or auto-update on IncusOS? Anything I should look at first when I get to the console?
- Is there a recovery path that doesn’t require physical console access? Any management interface on a different port that bypasses the broken
:8443? - Does
enp6s0having only theinstancesrole (nomanagement) materially change anything about how/where the API is exposed? My understanding is the host’s IP still ends up on the bridge IncusOS auto-creates, and ICMP confirms that’s the case, but I want to rule out a misconfiguration here.
Thanks!