iptables中 -F 和 -X的区别

iptables中 -F 和 -X的区别

在系统的启动有关iptables的script中,看到这样两句:
action $"Flushing all current rules and user defined chains:" iptables -F
action $"Clearing all current rules and user defined chains:' iptables -X

用 -X不就行了,为什么还要 flush一下?
      
又自问自答了,:-)

-X only delete user-defined rule, and you  can't delete it if there's reference to this chain. -F can release this constrain, and the build-in chain will be flushed too.      
晕!      
我的理解是: -x delete用户定义的chain,如果有别的rule指向了他,就不能delete, -f 是清空所有的chain的rule,这样就可以保证-x可以成功。      
看来atuzi对iptables很在行了,呵呵,
请教一个问题?
如何测试-j REDIRECT?
我测试了 SNAT DNAT MASQUERADE standard ,可还没有测试过REDIRECT