透過 gatewayip 的路由新增 xxxx 和路由新增 dev 介面有什麼不同?

透過 gatewayip 的路由新增 xxxx 和路由新增 dev 介面有什麼不同?

我對我的配置感到非常困惑。

在我的伺服器中,我有 2 個介面:

eth0: 192.168.1.22  gw 192.168.1.1
eth2: 10.2.1.6 gw 10.2.1.1

我寫了一個靜態路由:

ip r a 8.8.8.8 via 192.168.1.1
 worked great!!

then I deleted it and
ip r a 8.8.8.8 dev eth0
 From 192.168.1.22 icmp_seq=1 Destination Host Unreachable

為什麼?

答案1

在第二種形式(ip r a 8.8.8.8 dev eth0)中,您沒有指定網關,那麼封包應該轉送到哪個路由器?由於不知道任何網關,您的伺服器簡單地回覆「目標主機無法存取」。

指定介面很有用,原因有二:

  • 如果遠端主機透過同一網關路由,則其本身可存取dev不同的接口,您可以為同一網關建立兩條不同的路由。然後,您可以透過metric或使用在兩條路線之間確定優先級ECMP 路由實現某種負載平衡;
  • 對於點對點介面(例如 VPN 或 tun 介面),其中所有流量均由指定介面「捕獲」(網關不重要)

答案2

ip r a 8.8.8.8 dev eth0意思是「8.8.8.8直接連接到eth0介面」。 Linux 核心嘗試使用 arp 請求解析 MAC 位址 8.8.8.8,但未收到回應並報告「Destination Host Unreachable」錯誤

相關內容