Systemd-network
This describes a possible network setup for a Debian 11 server.
Under Debian like distros, three way to manage network:
- Old
/etc/networks/interfaces{,.d}
files - NetworkManager service
- Systemd-network interfaces, under ``
Systemd network resources:
- Debian manual: https://wiki.debian.org/SystemdNetworkd
Disabling other network manager
Disable Network Manager:
systemctl disable --now NetworkManager
And ensure network scripts are empty (under Debian based OSes)
$ tree /etc/network/interfaces*
/etc/network/interfaces [error opening dir]
/etc/network/interfaces.d
0 directories, 0 files
systemctl status systemd-networkd
systemctl disable --noNetworkManager.service
Basic networking
Enable and check systemd:
systemctl enable systemd-networkd
systemctl status systemd-networkd
Basic DHCP network:
$ cat /etc/systemd/network/99-default.network
[Match]
Name = en* eth*
[Network]
DHCP = yes
When a files has been modified, there is no reload
:
systemctl restart systemd-networkd
DHCP and statics IPs on the same interface
$ cat /etc/systemd/network/50-server1.network
[Match]
Name=enp1s0
[Network]
DHCP=yes
Address=192.168.42.16/24
Address=192.168.42.17/24
Address=192.168.42.18/24
Address=192.168.42.19/24
#DNS=8.8.8.8
#DNS=8.8.4.4
Other stuffs
Some other stuffs to try.
Local bridge with static IP
Let's create a new netwdev
unit:
$ cat /etc/systemd/network/20-br_cloud.netdev
[NetDev]
Name=br_cloud
Kind=bridge
# To avoid random mac at each boot
# MACAddress=xx:xx:xx:xx:xx:xx
[Bridge]
STP=false
With an IP:
$ cat /etc/systemd/network/21-br_cloud.network
[Match]
Name=br_cloud
[Network]
Address=10.1.0.11/24
ConfigureWithoutCarrier=yes