Hi folks, hope your weekend is going well.
So I have put myself into a situation. I have a home server with docker installed running fine so far. In my home network I have multiple networks for different purposes. The whole network stack looks like this OPNSense — Switch — Ubuntu Server
The server is connected to a switch port with pvid 100, and runs on vlan0.100 Now my goal is to move some docker containers to other vlans. To accomplish that I have set vlan0.101 and vlan0.102 on my server as interfaces with their own IP and default gateway on that subnet (e.g. 192.168.101.10) Next step I set up macvlans for my docker containers Then I set the port to also allow tagged traffic, but kept it on pvid 100. Now on my OPNSense I changed the host ip of my server from 192.168.100.10 to include all 3 IPs so homeserver 192.168.100.10, 192.168.101.10, 192.168.102.10
This setup seems to work fine for internal network, however no services are reachable from the outside (internet) anymore.
My first question is: Am I thinking correctly about this? Or is this over-engineered bs at this point and there is a better way to put docker containers on different subnets.
Second question is: Any ideas what’s breaking the internet access?
Thanks for the help in advance :D
EDIT: i have not changed the vlan of any container yet


Netplan config? Sure:
network: ethernets: enp35s0: dhcp4: false enp36s0: dhcp4: false vlans: enp35s0.100: id: 100 link: enp35s0 dhcp4: false enp35s0.101: id: 101 link: enp35s0 dhcp4: false bridges: br0: # untagged interfaces: [enp35s0] dhcp4: false br0.100: # vlan 100 interfaces: [enp35s0.100] dhcp4: false br0.101: #vlan 101 interfaces: [enp35s0.101] dhcp4: true version: 2I’m not sure if the version-property is still required. The only interface with an IP is br0.101. Opnsense provides DHCP (v4).
You can attach multiple ethernet-devices to a bridge (which I did not):
br0.100: interfaces: - enp35s0.100 - two - threeI’m not sure if you can attach the docker bridge via netplan - it has to exist at boot time, I think. My docker containers run inside a VM (kvm) with one interface, which sits in one of the VLANs. The VM’s interface is a bridge device (br0.100). The VM ethernet device is attached to the bridge, it receives its IP from the router and behaves like a real server.