永久添加源策略路由规则

Lor*_*ein 7 networking ubuntu routing

有人通过描述如何使用源策略路由创建新的路由表来回答我之前的问题

echo 13 eth3 >> /etc/iproute2/rt_tables
ip route add default via 10.20.0.1 table eth3
ip rule add from 10.20.0.2 lookup eth3
Run Code Online (Sandbox Code Playgroud)

如何使这些“ip”命令在重新启动后持续存在?我假设有一些适当的行要添加到/etc/network/interfaces. 这是马上(向界面添加“向上”行),还是有其他方法可以做到?

iface eth3 inet static
    address 10.20.0.2
    netmask 255.255.255.0
    up ip route add default via 10.20.0.1 table eth3
    up ip rule add from 10.20.0.2 lookup eth3
    down ip rule del from 10.20.0.2 lookup eth3
    down ip route del default via 10.20.0.1 table eth3
Run Code Online (Sandbox Code Playgroud)

(我在 Ubuntu 12.04 上)。

小智 6

不同的管理员以不同的方式实现这一点。

我主要使用 Debian,我觉得“最正确”,正确定义为最明显、集成和记录的方式来做到这一点,就是像你所做的那样post-up向你的/etc/network/interfaces文件添加指令。如果您这样做,请确保您不会作弊,而只是将您的所有指令uppost-up指令放在一个界面下。让每个接口添加适合它的路由。

我经常看到的另一种方式是使用与@mgorven 发布的非常相似的自定义初始化脚本。