技术解析

关于 iptables
0
2021-07-21 10:16:23
idczone
PRETOUTING和POSTROUTING 链到底是怎么工作的啊(用途),
我就知道SNAT 是用POSTROUTING 链,DNAT是用PREROUTING 链,
书上的解释是PREROUTING 是数据路由之前应用此链的规则
POSTROUTING是路由之后应用,
但是到底这个路有钱和路由后是什么意思,真心搞不懂。
能帮帮我么。
可以以 iptables flow 搜索一下,比如这个:
http://serverfault.com/questions/523589/is-there-any-way-to-filter-packets-eg-by-iptables-after-routing-is-complete

prerouting链,在内核处理ip包之前起作用,下一步就是内核根据dst来决定走哪条路由规则,所以一般是改dsr addr。所以是dnat

postrouting链,这时候已经做完了路由选择,即此时已经知道下一跳的地址,dst无所谓了。但是可以修改src,改变来源的ip。所以叫snat

routing 就是选路(路由) 的意思,
于是加上 Pre 或者 Post 就很清楚是在路由的前还是后了

楼主请看图
http://upload.wikimedia.org/wikipedia/commons/thumb/3/37/Netfilter-packet-flow.svg/2000px-Netfilter-packet-flow.svg.png

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服