Systemd Networkd MAC Address generation for VLAN Interfaces

systemd

I'm creating a VLAN interface with networkd like this on a bunch of servers with equal config:

[NetDev]
Name=vlan3
Kind=vlan

[VLAN]
Id=3

Then I'm creating an interface like this with it:

[Match]
Name=vlan3

[Network]
Address=10.1.0.x/24

Where x is a unique number for every server.

My problem is that the VLAN is not really usable as networkd seems to choose the same MAC address (in my case 72:ae:43:d7:0f:d7) on every server.
I know I can set a MAC address using MACAddress or influence the generation via MACAddressPolicy. But what is networkd without specifying either?

Best Answer

The default MACAddress for a [NetDev] section is defined in the official documentation:

The MAC address to use for the device. If none is given, one is generated based on the interface name and the machine-id(5).

If all your machines have the same MAC Address being generated, it's because they have the same machine-id. Refer to the linked official docs on machine-id on how you can influence that.