18.04.1 Системная сеть LTS не применяется [RoutingPolicyRule]

У меня есть экземпляр сервера с двумя интерфейсами, и я создал правило для обеспечения того, чтобы трафик, который входит в ens160, выходил ens160, несмотря на совпадение маршрута по умолчанию для ens192.

Маршруты и правила работают по желанию при создании вручную с использованием ipпри применении нетпланом netplan apply, но не тогда, когда systemd-networkd перезапускается с помощью сгенерированных netplan файлов конфигурации. В частности, правило не применяется.

netplan.yaml:

network:
    ethernets:
        ens160:
            addresses:
            - 192.168.1.238/26
            - 192.168.1.240/26
            - 192.168.1.241/26
            dhcp4: false
            gateway4: 192.168.1.193
            routes:
            - to: 0.0.0.0/0
              via: 192.168.1.193
              table: 200
            routing-policy:
            - from: 192.168.1.192/26
              table: 200
        ens192:
            addresses:
            - 10.125.210.38/23
            dhcp4: false
    version: 2

/run/systemd/network/10-netplan-ens160.network:

[Match]
Name=ens160

[Network]
Address=192.168.1.238/26
Address=192.168.1.240/26
Address=192.168.1.241/26
Gateway=192.168.1.193

[Route]
Destination=0.0.0.0/0
Gateway=192.168.1.193
Table=200

[RoutingPolicyRule]
From=192.168.1.192/26
Table=200

список маршрутов ip:

default via 192.168.1.193 dev ens160 proto static
10.125.210.0/23 dev ens192 proto kernel scope link src 10.125.210.38
192.168.1.192/26 dev ens160 proto kernel scope link src 192.168.1.238

Таблица 200 списка IP-маршрутов:

default via 192.168.1.193 dev ens160 proto static

После netplan apply, ip rule list (этот конфиг работает):

0:  from all lookup local
0:  from 192.168.1.192/26 lookup 200
32766:  from all lookup main
32767:  from all lookup default

Однако после systemctl restart systemd-networkd

0:  from all lookup local
32766:  from all lookup main
32767:  from all lookup default

Журнал systemd после перезапуска systemd-networkd:

Nov 20 17:30:28 lb1 systemd[1]: Stopping Network Service...
Nov 20 17:30:28 lb1 systemd[1]: Starting Network Service...
Nov 20 17:30:28 lb1 systemd-networkd[1810]: ens192: Gained IPv6LL
Nov 20 17:30:28 lb1 systemd-networkd[1810]: ens160: Gained IPv6LL
Nov 20 17:30:28 lb1 systemd-networkd[1810]: Enumeration completed
Nov 20 17:30:28 lb1 systemd[1]: Started Network Service.
Nov 20 17:30:28 lb1 systemd-networkd[1810]: ens160: Link is not managed by us
Nov 20 17:30:28 lb1 systemd-networkd[1810]: lo: Link is not managed by us
Nov 20 17:30:28 lb1 systemd-networkd[1810]: lo: Link is not managed by us
Nov 20 17:30:28 lb1 systemd-networkd[1810]: ens192: Configured
Nov 20 17:30:28 lb1 systemd-networkd[1810]: ens160: Configured

Обновление 1: выпуск два systemctl restart systemd-networkd применяет правило после второго вызова. Еще один, и это уходит. Wut. Журналы показывают, что он применяется, хотя и не явно, каждый раз:

Nov 20 18:57:52 lb1 systemd-networkd[1461]: ens160: Setting routing policy rules
Nov 20 18:57:52 lb1 systemd-networkd[1461]: ens160: Setting routes
Nov 20 18:57:52 lb1 systemd-networkd[1461]: ens160: Routing policy rule configured
Nov 20 18:57:52 lb1 systemd-networkd[1461]: ens160: Routes set
Nov 20 18:57:52 lb1 systemd-networkd[1461]: ens160: Configured

Обновление 2: последовательно netplan apply также включить и выключить правило.

0 ответов

Другие вопросы по тегам