Маршрутизация на основе политик - CentOS 7.6.1810 не обрабатывает ни правила, ни маршруты

У меня есть 2 сети VLAN через связанное соединение, и я не могу работать с маршрутизацией на основе политик. На самом деле я могу заставить их работать вручную, но я не могу сохранить конфигурацию, чтобы пережить перезагрузки. Я прочитал десяток статей, руководств, инструкций и официальных документов. Я перечисляю только соответствующие записи из списка подключений здесь:

# nmcli con
NAME                        UUID                                  TYPE      DEVICE
bond0 slave 1               ...-91ef-...                          ethernet  eno1
bond0 slave 2               ...-242e-...                          ethernet  eno2
Bond connection bond0       ...-0fbe-...                          bond      bond0
VLAN connection bond0.3410  ...-3ebd-...                          vlan      bond0.3410
VLAN connection bond0.3411  ...-91a9-...                          vlan      bond0.3411

Новые таблицы были добавлены в список rt_tables .

# cat /etc/iproute2/rt_tables
#
# reserved values
#
255     local
254     main
253     default
0       unspec
1       3410
2       3411

Затем я создал собственные правила для обоих интерфейсов VLAN:

# cat /etc/sysconfig/network-scripts/rule-bond0.3410
iif bond0.3410 table 3410
from 10.129.240.0/23 table 3410
# cat /etc/sysconfig/network-scripts/rule-bond0.3411
iif bond0.3411 table 3411
from 10.129.242.0/24 table 3411

И определил желаемые правила маршрутизации.

# cat /etc/sysconfig/network-scripts/route-bond0.3410
10.129.240.0/23 dev bond0.3410 scope link table 3410
default via 10.129.241.254 dev bond0.3410 table 3410
# cat /etc/sysconfig/network-scripts/route-bond0.3411
10.129.242.0/24 dev bond0.3411 scope link table 3411
default via 10.129.242.254 dev bond0.3411 table 3411

Меня беспокоит то, что ни один из правил и маршрутов не используется. Я попытался перезапустить сетевую службу systemctl restart network , перезагрузить узел, установить соединения через nmcli con up .

Все эти модификации не принесли изменений:

# ip route list
10.129.240.0/23 dev bond0.3410 proto kernel scope link src 10.129.240.1 metric 400
10.129.242.0/24 dev bond0.3411 proto kernel scope link src 10.129.242.1 metric 401

# ip rule list
0:      from all lookup local
32766:  from all lookup main
32767:  from all lookup default

Единственное, в чем я уверен, - это то, что пользовательские таблицы маршрутизации 3410 и 3411 существуют (поскольку при перечислении маршрутов по таблице не возникает ошибок, например таблица IP-маршрутов 3411 ).

Я также должен сказать, что когда я запускаю записи вручную (например, ip route add default dev table

) тогда записи вступают в силу.

1
задан 7 April 2019 в 18:06
1 ответ

Если вы используете NetworkManager для управления сетью (в отличие от /etc/init.d/network), вам понадобится пакет NetworkManager-dispatcher-routing-rules.

1
ответ дан 3 December 2019 в 23:06

Теги

Похожие вопросы