我的服务器上有 2 个接口(eno1&eno2)。每当任何进程尝试访问 IP(假设为 183.182.99.1)时,我希望流量使用eno2关联。
这是我当前的路由表:
default via 192.168.1.1 dev eno2 metric 90
default via 172.22.1.1 dev eno1 metric 100
183.182.99.1 via 192.168.1.1 dev eno2 metric 80
这里的问题是,无论何时eno2已关闭,则内核尝试使用以下方式访问此 IP:eno1。
相反,我希望它像离线一样失败。
有什么方法可以实现这个吗?
答案1
是的,你可以直接“插入”黑洞两条路线“之间”的路线。插入之间,我的意思是使用比eno2的度量,但低于eno1的度量。当然没有默认路由eno1根本就无法解决这个问题。
# ip route add blackhole default metric 95
您可以用或替换blackhole
(删除)以获取各种 ICMP 消息,而不是什么都没有(路由时。即使使用 ,本地进程也会立即收到错误)。也可以使用,但其目的不同,通常用于附加 IP 规则。prohibit
unreachable
blackhole
throw
如果你的目标是保护仅有的183.182.99.1 使用eno1,然后应用此仅有的对于该 IP,例如,使用这个而不是上面的 IP(只要度量高于 80,度量就不重要,因为通常较短的网络掩码(/32)总是优于较大的网络掩码(/0)):
# ip route add blackhole 183.182.99.1 metric 9999