Creating a MACVLAN Sub Interface (For Docker)
Purpose: You may find that you only have one network adapter on a server / VM and need to have multiple virtual networks associated with it. For example, Home Assistant exists on the 192.168.3.0/24
network but it needs to also access devices on the 192.168.4.0/24
surveillance network. To facilitate this, we will make a MACVLAN Sub-Interface. This will make a virtual interface that is parented to the actual physical interface.
Assumptions
It is assumed that you are running Rocky Linux (or CentOS / RedHat).
Create the Permanent Sub-Interface¶
You will begin with making a new interface, it will have the name macvlan0
.
nmcli connection add type macvlan ifname surveillance dev ens18 mode bridge ipv4.method manual ipv4.addresses 192.168.4.100/24
nmcli connection up macvlan-surveillance
nmcli connection show
Bind a Docker Network to the Sub-Interface¶
Now you need to run the following command to allow docker to use this interface for the surveillance_network