Back in November I wrote about Converting eth0 to br0 and getting all your LXC or LXD onto your LAN
It works, but you might not want ALL of your LXD on your LAN.
You’ll still need your LAN interface to be a br0 instead of a device that isn’t a bridge. Go follow the Bridge your interface section of that post to convert your eth0 to br0.
I’ve fully converted to using LXD. I don’t even remember if LXC supports profiles. I think it does, so I think the same idea could be applied to LXC, but I’m only showing this for LXD.
First, copy the default profile:
lxc profile copy default lanbridge
Second, edit the new profile to use br0 instead of lxdbr0:
lxc profile device set lanbridge eth0 parent br0
Third and finally, start instances with that profile:
lxc launch ubuntu-xenial -p lanbridge
In my case, this instance is on my local lan AND on public ipv6 space (thanks Comcast).
heritable-gale | RUNNING | 192.168.15.172 (eth0) | 2601:400:8000:5ab3:216:3eff:fe73:d242 (eth0)