I am running an Ubuntu server (server-box), which isrunning an LXD container (lxd-box), and LXD is using an ethernet bridge which I set up using this guide. lxd-box is running an instance of VirtualBox (vbox-box). server-box, lxd-box, and vbox-box are all running Ubuntu 16.04 server. vbox-box is using VirtualBox's ethernet bridging to bridge to eth0 on lxd-box, which is itself bridged to enp5s0 on server-box.
All three are getting assigned an IP address from the LAN. All three can communicate with any other LAN client. Also, lxd-box can communicate fine with server-box and vbox-box. However, vbox-box and server-box cannot communicate. Specifically, I cannot initiate an ssh session between them in either direction, while I can initiate sessions to/from both from/to lxd-box. It's not just ssh, I tested on a handful of ports just initiating raw TCP connections with netcat. Same behavior. ssh is just more convenient.
Anyone know why this is happening? I assume it has to do with the multiple bridging that is occurring, but I'm not sure. More importantly, does anyone know how to fix this?