Linux

如何找出入站流量正在使用的介面?

  • March 17, 2017

對於傳出的數據包,route我可以知道正在使用哪個介面,但是對於傳入的數據包,如何找出正在使用的介面?

你正在尋找ip route get命令。這相當於 BSD route get

ip route get 50.232.186.20例如將顯示將用於到達該 IP 的路由。此命令不會自行解析主機名。

通常,Linux 期望數據包通過與退出相同的介面進入。

如果不是這種情況,核心會將數據包報告為 martian,並且如果您設置了以下 sysctl 值,如果從無法路由回的介面看到數據包(反向路徑rp的標準rp_filter)。

net.ipv4.conf.all.rp_filter = 1

所以通常情況下,除非你有一個特別複雜的路由表或設置,你可以檢查輸出ip r並做出有根據的猜測。最有可能的是,您會想要檢查您的預設路由是什麼,並且很有可能您的問題的答案將是“您的預設路由指向的任何介面”。

如有必要,管理員可以更改以上所有內容,但總的來說,AFAIK 這是大多數係統的工作方式。

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