
client:
Adapter2 — outnet
network:
Adapter2 — outnet
Adapter3 — innet
company:
Adapter2 — innet
systemd-networkd, отвечающая за автонастройку всех сетевых служб в Linux. Преимущество такого способа заключается в сохранении всех настроек после перезагрузки устройства, поскольку записи о настройке хранятся не в оперативной памяти, а в файлах специального вида.
@client:/etc/systemd/network/50-outnet.network
[Match] Name=eth1 [Network] Address=10.0.12.1/24 [Route] Gateway=10.0.12.2 Destination=10.0.0.0/8
Примечание
.network-файла будет поднят интерфейс eth1, ему будет присвоен адрес 10.0.12.1/24, а в таблицу маршрутизации будет добавлена запись, согласно которой все пакеты, отправляемые на адреса сети 10.0.0.0/8, будут первоначально направляться на адрес 10.0.12.2.
systemd-networkd можно также создавать и новые интерфейсы, однако это потребует создания отдельного файла, поэтому добавление LoopBack‑интерфейса будет выполнено вручную.
[root@client ~]# ip link add dev lo0 type veth[root@client ~]# ip link set lo0 up[root@client ~]# ip addr add dev lo0 10.0.1.1/24
@company:/etc/systemd/network/50-outnet.network
[Match] Name=eth1 [Network] Address=10.0.23.3/24 [Route] Gateway=10.0.23.2 Destination=10.0.0.0/8
[root@company ~]# ip link add dev lo0 type veth[root@company ~]# ip link set lo0 up[root@company ~]# ip addr add dev lo0 10.0.3.3/24[root@company ~]#
@network. Но для закрепления ручной настройки задайте параметры вручную.
[root@network ~]# ip link set eth1 up[root@network ~]# ip link set eth2 up[root@network ~]# ip addr add dev eth1 10.0.12.2/24[root@network ~]# ip addr add dev eth2 10.0.23.2/24[root@network ~]# sysctl net.ipv4.conf.all.forwarding=1[root@network ~]#[root@network ~]# ip route add 10.0.1.1 via 10.0.12.1[root@network ~]# ip route add 10.0.3.3 via 10.0.23.3[root@network ~]#
systemd-networkd необходимо активировать сервис с помощью служебной команды systemctl enable --now (enable включает возможность активации сервиса при включении устройства. Флаг --now включает сервис непосредственно сейчас).
systemctl enable --now systemd-networkd запустите сервис автонастройки на client и company
[root@client ~]# systemctl enable --now systemd-networkd
Created symlink '/etc/systemd/system/dbus-org.freedesktop.network1.service' -> '/usr/lib/systemd/system/systemd-networkd.service'.
Created symlink '/etc/systemd/system/multi-user.target.wants/systemd-networkd.service' -> '/usr/lib/systemd/system/systemd-networkd.service'.
Created symlink '/etc/systemd/system/sockets.target.wants/systemd-networkd.socket' -> '/usr/lib/systemd/system/systemd-networkd.socket'.
Created symlink '/etc/systemd/system/sysinit.target.wants/systemd-network-generator.service' -> '/usr/lib/systemd/system/systemd-network-generator.service'.
Created symlink '/etc/systemd/system/network-online.target.wants/systemd-networkd-wait-online.service' -> '/usr/lib/systemd/system/systemd-networkd-wait-online.service'.
[root@client ~]#
[root@company ~]# systemctl enable --now systemd-networkd
Created symlink '/etc/systemd/system/dbus-org.freedesktop.network1.service' -> '/usr/lib/systemd/system/systemd-networkd.service'.
Created symlink '/etc/systemd/system/multi-user.target.wants/systemd-networkd.service' -> '/usr/lib/systemd/system/systemd-networkd.service'.
Created symlink '/etc/systemd/system/sockets.target.wants/systemd-networkd.socket' -> '/usr/lib/systemd/system/systemd-networkd.socket'.
Created symlink '/etc/systemd/system/sysinit.target.wants/systemd-network-generator.service' -> '/usr/lib/systemd/system/systemd-network-generator.service'.
Created symlink '/etc/systemd/system/network-online.target.wants/systemd-networkd-wait-online.service' -> '/usr/lib/systemd/system/systemd-networkd-wait-online.service'.
[root@company ~]#
[root@company ~]# ping -c5 10.0.12.1
PING 10.0.12.1 (10.0.12.1) 56(84) bytes of data.
64 bytes from 10.0.12.1: icmp_seq=1 ttl=63 time=1.80 ms
64 bytes from 10.0.12.1: icmp_seq=2 ttl=63 time=0.684 ms
64 bytes from 10.0.12.1: icmp_seq=3 ttl=63 time=1.03 ms
64 bytes from 10.0.12.1: icmp_seq=4 ttl=63 time=0.990 ms
64 bytes from 10.0.12.1: icmp_seq=5 ttl=63 time=1.06 ms
--- 10.0.12.1 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4038ms
rtt min/avg/max/mdev = 0.684/1.113/1.800/0.369 ms
[root@company ~]#
[root@client ~]# ping -c3 -I 10.0.1.1 10.0.3.3
PING 10.0.3.3 (10.0.3.3) from 10.0.1.1 : 56(84) bytes of data.
64 bytes from 10.0.3.3: icmp_seq=1 ttl=63 time=0.842 ms
64 bytes from 10.0.3.3: icmp_seq=2 ttl=63 time=0.861 ms
64 bytes from 10.0.3.3: icmp_seq=3 ttl=63 time=0.814 ms
--- 10.0.3.3 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2048ms
rtt min/avg/max/mdev = 0.814/0.839/0.861/0.019 ms
[root@client ~]#