星期一, 十一月 07, 2005

iptables的几个概念

前两天玩emule,因为在内网,需要端口转发,顺便再了解了一下iptables的一些规则。
  1. 以前对filter中的INPUT链和nat中的PREROUTING有些搞不清,例如,如果INPUT的规则是DROP,那么对PREROUTING会有怎样的影响或是冲突。
    通过实验,应当是这样的,nat的PREROUTING链应当在filter之前,INPUT对PREROUTING的影响只是在于,如果PREROUTING修改过得目的地址如果仍然是本机的话,那么INPUT链将起作用,但如果PREROUTING修改的目的地址不是本机的话,那么就该是FORWARD链的规则控制了。
  2. 做端口转发,应当注意链路的完整性,进得来的要出得去。以amule为例,外部对4662端口的访问如下:
    进入:外部->proxy:4662->PREROUTING修改目的地址->FORWARD转发->amule:4662
    回应:amule:4662->proxy->POSTROUTING修改源地址->FORWARD转发->外部

    这儿应当注意的是,不管POSTROUTING和PREROUTING怎么设置,如果没有FORWARD链,内部和外部是不可能连通的。
  3. iptables的LOG命令是一个相当有用的东西,尤其是在调试iptables的规则的时候,可以用LOG来查看包是否依据规则流动。

0 Comments:

发表评论

<< Home