关于 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