Internet works if host has ethernet connected but not WiFi

I created an LXD instance on my desktop a long time ago with mostly defaults. Recently I moved my computer so it doesn’t have a direct connection to my home network anymore and I connect over wifi. Now, none of my containers can connect to the outside internet.

I created the default lxdbr0 linux bridge which was working swell. Could someone help me understand how linux bridges/lxd bridges work so I can tell it to use my WiFI NIC instead of the old eth0?

I’m no using Ubuntu so I don’t have Netplan. I’m running Archlinux with NetworkManger.

if you have used the configuration where you external Ethernet card was in the bridge with LXC containers/VMs then it won’t work with WiFi card.

So, easiest way, is to use NAT between your containers subnet and your home router subnet. It will make Internet connection work for your containers, but in this case your containers won’t have an IP address from your home router subnet, but from the isolated LXD bridge subnet. This works well for most usage scenarios.

P.S. There is special Wi-Fi drivers feature called “4addr” and enabling it can theoretically help you to put Wi-Fi in the Linux bridge but that’s hardware-dependent thing and we can’t help you with that.

Please show lxc network show lxdbr0 and ip a and ip r from the host.