В связи с повальным переходом дистрибутивов на systemd, я решил покопаться в networkd с целью унификации настройки сети для всех дистрибутивов.
Так как некоторые вещи я делал на новой работе, то сюда так же добавлю чуток Ubuntu.
Подготовка Ubuntu
Надо отключить штатную систему управления сетью. Для этого надо закомментировать настройки для нитерфейса:
# /etc/network/interfaces
# The primary network interface
#auto eno1
#iface eno1 inet dhcp
Так же отключить штатную слежбу:
systemctl disable networking
Настройка интерфейсов
Static IP
# /etc/systemd/network/eno1.network
[Match]
Name=eno1
[Network]
Address=192.168.0.2/24
Gateway=192.168.0.1
DNS=8.8.8.8
DNS=8.8.4.4
DHCP
# /etc/systemd/network/eno2.network
[Match]
Name=eno2
[Network]
DHCP=ipv4
Bonding
# /etc/systemd/network/eno.network
[Match]
Name=eno*
[Network]
Bond=bond0
# /etc/systemd/network/bond0.network
[Match]
Name=bond0
[Network]
BindCarrier=eno*
DHCP=yes
# /etc/systemd/network/bond0.netdev
[NetDev]
Name=bond0
Kind=bond
[Bond]
Mode=802.3ad
TransmitHashPolicy=layer3+4
MIIMonitorSec=1s
LACPTransmitRate=fast
Forwarding
Для этого к интерфейсу надо добавить:
[Network]
IPForward=1
Запускаем networkd
systemctl enable systemd-networkd
systemctl start systemd-networkd
Полезные материалы
systemd-networkd on Ubuntu 16.04 LTS Configuring bonding with systemd systemd.network — Network configuration systemd.netdev — Virtual Network Device configuration Arch: systemd-networkd