Right I think I see the issue, your underlay subnet setting is 10.0.1.0/24
which means the fan will derive its IP from the host’s underlay address. However to find its underlay address it must look at the other network interfaces and find an address that is within the 10.0.1.0/24
subnet.
At first glance your ens4
interface fits the bill with an IP of 10.0.1.20/32
however, in LXD 4.5 we added a specific test to exclude IPs with a /32 subnet address as this was causing issues with people using floating IP aliases on external interfaces. And as such it is not able to derive a fan address.
See Delete a stopped container bring down the fan interface and
Is there a specific reason why you are using a /32 on ens4?