Ip-Routing

強制路由到介面,無論如何

  • February 26, 2020

我的伺服器上有 2 個介面(eno1eno2)。每當任何程序嘗試訪問 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關閉時,核心會嘗試使用eno1訪問此 IP 。

相反,我希望它像離線一樣失敗。

有沒有辦法做到這一點?

是的,您可以在兩條路線之間“插入”一條黑洞路線。通過插入,我的意思是使用比 eno2 的度量更高的度量,但比eno1的度量低度量。當然,在eno1上根本沒有預設路由也可以解決它。

# ip route add blackhole default metric 95

您可以替換blackhole(丟棄)prohibitunreachable獲取各種 ICMP 消息,而不是什麼都沒有(路由時。即使使用 ,本地程序也會立即出錯blackhole)。throw也可以使用,但其用途不同,通常用於附加 ip 規則。

如果您的目標是保護183.182.99.1 不使用eno1,則將其應用於此 IP,例如,此而不是上面(只要它高於 80,度量就無關緊要,因為通常較短的網路遮罩( /32) 總是勝過更大的網路遮罩 (/0)):

# ip route add blackhole 183.182.99.1 metric 9999

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