Linux 如何處理將請求路由到自己的 IP 的情況?

Linux 如何處理將請求路由到自己的 IP 的情況?

尤其是 CentOS。假設機器位於 1.2.3.4 上執行 httpd 並發出請求http://1.2.3.4,機器是否立即知道該請求是發給自己的,因此在內部路由它,或者它是出去又回來?

我有興趣了解這是如何工作的。

答案1

是的,機器立即知道該請求是發給它自己的。它透過將封包的目標位址與分配給網路介面的所有已知 IP 位址進行比較,將封包標記為當地的,查詢一個特殊的路由表 ( ip route show table local ),該表會根據本地分配的 IP 位址的規則自動更新,並替換網路介面以傳遞它lo,即使目標位址不是(在 ping 本地位址時127.0.0.1嘗試)。tcpdump -ni lo

您還可以使用它ip route get 1.2.3.4來顯示 Linux 核心如何對路由 ( local) 進行分類,以及它將透過什麼介面傳遞封包,以及網關等其他資訊。

相關內容