HomeKit (Networking?) issues on KVM Installations

I recently migrated from a bare-metal rasbperry pi installation of the home-kit supervisor system to a routed KVM instance for my home assistant server and most of the work went flawlessly.

The homekit installation runs on a “routed” KVM instance on my local network. It uses the 192.168.5.0/24 subnet, while my normal computers live on the 192.168.1.0/24 subnet. The home router is configured to direct 192.168.5.0/24 traffic to the IP of the server hosting the KVM, and all of the internal devices on the network can ping and talk with the web UI and the home-assistant application without issue.

The problem arises when I try to use the “HomeKit” addon. For some reason my iPhone refuses to pair with the new installation even after deleting and trying to setup the system again. I’m in a debugging phase, but I’m not really sure what I should be looking for? Should I be trying to sniff out multicast/broadcast routes, should I be trying to force the KVM to live within the 192.168.1.0/24 ip space somehow? Really, anyone with experience on getting the HomeKit part of this whole thing working would be very helpful I suspect.

KVM installation steps for the curious:

  1. Delete NAT routed network, and add a “routed” network using a different subnet.
  2. Configure my home router to route that subnet to the server hosting the KVM so everyone on the local network goes to the router, then the server to reach the KVM servers.
  3. Install Debian on a KVM machine
  4. Configure the XML inside the KVM to assign a static (dhcp assigned) IP for the VM running Debian as the home-assistant instance.
  5. Install docker and the various tools for home assistant, then use the home assistant supervisor setup script.
  6. import a full snapshot from a previous instance.
  7. profit! (Mostly)