QUOTE:LZ的实验我重新做了,和LZ的结果一样。
原因我猜想如下:
因为IPTABLES是有状态机制的,从外网的访问显然没有触发状态机制。
所谓的DNAT 和SNAT,都是地址装换,DNAT标志这触发状态机制的流量是来自外部或经过自身进入的,SNAT表示触发的流量是来自内部或经过自身出去的。所谓的源和目的更精确的理解应该是触发NAT的方向。
如果按照这个理解的话,上面的结果就很明显了。而这种NAT的思路恰恰也是CISCO的NAT的思路,可以说完全一致。
prerouting ---------------->forward----------------------->postrouting
| |
| |
| |
| |
INPUT OUTPUT
| |
| |
|-------LOCALHOST----->|
"SNAT表示触发的流量是来自内部或经过自身出去的" 斑竹的意思 prerouting->forward-->postrouting 走这个路径的包SNAT触发;
113 telnet 112主动发出的包走路径localhost->output->postrouting ,但是112 telnet 113的TCP应答包也应该走路径localhost->output->postrouting ???(这里理解有没有问题?),如果走这个路径SNAT不触发的原因?Iptables有状态信息,应答包不触发SNAT.