Маршрутизация на основе политик - ни 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 <con_name>
,
Все эти модификации не принесли изменений:
# 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 route list table 3411
).
Я также должен сказать, что когда я запускаю записи вручную (например, ip route add default <ip> dev <dev> table <table>
) затем вступают в силу записи.
1 ответ
Если вы используете NetworkManager для управления сетью (в отличие от /etc/init.d/network), вам необходим пакет NetworkManager-dispatcher-routing-rules.