对于多线接入主机,要让回复的包与进来的包走同一线路,我们一般使用 ip rule 让特定来源 IP 的包走“专用”路由表。例如 mirrors 教育网线路的本机 IP 是 202.38.95.110,默认网关是 202.38.95.126:


ip route add default via 202.38.95.126 table 1000
ip rule add from 202.38.95.110 lookup 1000

但上述配置有个问题:当访问者来自同一子网时,回复包将仍然回复到默认网关。尽管一般来说这仍然能工作,但可能引起网络管理员的怀疑。因此建议让同一子网的包直接发到目标主机。修改方法是增加一条 ip route 到“专用路由表”。例如 mirrors 教育网线路的情况:


ip route add 202.38.95.0/25 dev vlan95
ip route add default via 202.38.95.126 table 1000
ip rule add from 202.38.95.110 lookup 1000

正确配置后,1000 号路由表的内容应该如下:


$ ip route show table 1000
default via 202.38.95.126 dev vlan95
202.38.95.0/25 dev vlan95  scope link