如何在 'ip route' 中正确使用命名表

How do I correctly use named tables with 'ip route'

我在我的服务器上使用它通过特定接口将任何流量路由到特定 ip

ip route add 80.100.141.27/32 via 167.99.208.1 dev eth0 src 10.18.0.10

效果很好,到 80.100.141.27 的流量将超过 10.18.0.10

现在要组织这些规则,我想我可以使用命名 tables.

首先,我创建了一个名为 'table-name'

的新 table
    - name: create named ip route table
      lineinfile:
        path: /etc/iproute2/rt_tables
        line: '200 table-name'
        create: yes
      tags: ip_route

那我可以添加规则如下

ip route add table table-name 80.100.141.27/32 via 167.99.208.1 dev eth0 src 10.18.0.10

现在添加了规则table

ip route show table table-name

但是规则未激活。流量不经过指定路线。

根据手册页:

the kernel only uses this table when calculating routes.

说到主要table。

因此,您可能必须从主要 table 中指明要使用您的其他 table,例如:

ip rule add from 167.99.208.1 table table-name