Files
docs/infrastructure/networking/docker-networking/creating-a-macvlan-sub-interface-for-docker.md
Nicole Rappe 886fd0db07
All checks were successful
GitOps Automatic Documentation Deployment / Sync Docs to https://kb.bunny-lab.io (push) Successful in 4s
GitOps Automatic Documentation Deployment / Sync Docs to https://docs.bunny-lab.io (push) Successful in 6s
Additional Doc Restructure
2026-01-27 05:57:50 -07:00

1.1 KiB

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.

!!! info "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

docker network create -d macvlan --subnet=192.168.4.0/24 --gateway=192.168.4.1 -o parent=surveillance surveillance_network