路由表與網關位於同一網路和介面上,為什麼?

路由表與網關位於同一網路和介面上,為什麼?

當連接到我們公司的 VPN 並查看路由表時,我發現:

172.16.0.0      10.8.0.241      255.255.0.0     UG    0      0        0 tun0
10.8.0.241      0.0.0.0         255.255.255.255 UH    0      0        0 tun0
10.8.0.0        10.8.0.241      255.255.255.0   UG    0      0        0 tun0

我想我理解第一行是:發送到 172.16 網路的資料包被放入 tun0 接口,但發送到網關 10.8.0.241,網關將處理其餘的事情。

第二行明確表示要存取 10.8.0.241,只需將其放入 tun0 中即可。

我不懂的是為什麼最後兩行不能合併成

10.8.0.0        0.0.0.0      255.255.255.0   UG    0      0        0 tun0

也就是說,任何 10.8 以內的東西都可以丟進隧道,然後正確的機器就會撿起它。為什麼發送到 10.8 的封包必須先明確移交給同一網路的網關? 10.8.0.251 這裡是否被誤用為交換機,因為它實際上是唯一直接連接到 tun0 另一端的機器,並且知道如何將資料包向前移動到 10.8?

答案1

在回答這個問題之前,讓我解釋一下連結的標誌。

  • U(路線向上)
  • H(目標是主機)
  • G(使用網關)

路由23不能組合,因為您正在通知來源計算機10.8.0.241直接到達 ( metric 0),並且要到達具有網路 ID 的任何計算機,10.8.0.0/24請使用網關10.8.0.241。我不確定為什麼我們將 pkts 轉送到預設網關,但這可能是在網關路由器/防火牆上註入反向路由的技巧。

答案2

據猜測,網路的拓撲結構是

客戶端 => 網際網路 => 10.8.0.241 => 10.8.0.0/24

建立 VPN 後,您無法直接連線到任何主機,只能透過 tun0 連線到 VPN 端點。若要將資料傳送至 10.8.0.0/24 範圍內的任何其他設備,您需要將其傳送至 GW (10.8.0.241),然後 GW 將其轉送至正確的主機。

這可能是為您提供與遠端端點伺服器位於同一網路上的 IP,或以便您可以連接到其他 VPN 用戶端。

相關內容