iptables 预路由(DNAT)数据包更改对后续链是否可见?

iptables 预路由(DNAT)数据包更改对后续链是否可见?

我在读Rusty Russell 的 NAT 指南当我看到这个部分时:

6.2.  Destination NAT

  This is done in the PREROUTING chain, just as the packet comes in;
  this means that anything else on the Linux box itself (routing, packet
  filtering) will see the packet going to its `real' destination.

我对他的意思的理解真正的目的地数据包的原始目的地,在被 PREROUTING 链上的规则改变之前,这有点令人不安,因为我之前的理解是相反的 - 即后续规则看到的是 DNAT 的目标,而不是原始的。通过记录本地虚拟机的 FORWARD 链,我认为我是对的,因为我可以在 DST 字段中看到 DNAT 的 IP。

所以,我的问题是,Rusty 在这里是什么意思?我正在考虑写信给 Rusty,指出这个措辞不清楚,这可以自由解释真实的IP 是。

答案1

请注意引号。

'真实的'此处的目标 IPDNAT实际的IP 数据包将被发送到。由于两个 IP 都以某种方式存在于该过程中,因此术语真实的必须平衡,这就是你看到这个符号的原因。

相关内容