Centos

基於策略的路由 - CentOS 7.6.1810 既不拾取規則也不拾取路由

  • April 7, 2019

我在綁定連接上有 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>),條目就會生效。

如果您使用 NetworkManager 進行網路管理(與 /etc/init.d/network 相反),那麼您需要 NetworkManager-dispatcher-routing-rules 包。

引用自:https://serverfault.com/questions/961908