基于策略的路由 - CentOS 7.6.1810 不会采用规则或路由

基于策略的路由 - 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

我唯一确定的是自定义路由表34103411存在(因为按表列出路由时不会引发任何错误,例如ip route list table 3411)。

我还应该说,当我手动运行这些条目(例如ip route add default <ip> dev <dev> table <table>)时,这些条目就会生效。

答案1

如果您使用 NetworkManager 进行网络管理(与 /etc/init.d/network 相反),那么您需要 NetworkManager-dispatcher-routing-rules 包。

相关内容