Linux
如何找出入站流量正在使用的介面?
對於傳出的數據包,
route
我可以知道正在使用哪個介面,但是對於傳入的數據包,如何找出正在使用的介面?
你正在尋找
ip route get
命令。這相當於 BSDroute 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 這是大多數係統的工作方式。