Linux 网络堆栈中的数据包遍历

Linux 网络堆栈中的数据包遍历

我想了解 Linux 中的数据包遍历。我找到了一个图表关联

我的 Linux 机器有以下路由表:

default via 192.168.2.1 dev wlan0  proto static  metric 1024 
169.254.0.0/16 dev wlan0  scope link  metric 1000 
192.168.2.0/24 dev wlan0  proto kernel  scope link  src 192.168.2.73

如果我向 8.8.8.8 发送 ping:

  • 它首先会通过 OUTPUT 表规则
  • 路由决策将检查路由表并使用默认路由,该路由声明使用设备 wlan0
  • 它将通过 POSTROUTING 规则并在 wlan0 上发送

对于 ping 响应,假设它到达 wlan0,它将首先通过 PREROUTING 规则。我的问题是,此时,通过检查路由表会得到什么,因为该图表明已做出路由决策;或者只是检查数据包是否没有与机器上的任何接口关联的 IP?

相关内容