Iptables 之我见 (鼓励跟贴,完成此文)
时间:2009-03-23 来源:sjhf
IPTABLES 是linux系统中集成的一个防火墙系统,是我个人感觉它是linux中设置比较灵活而又难度较大的一个系统。下面是我在使用IPTABLES过程中积累的一些认识和知识的积累。如果您有更好的或者说更多的应用,请跟贴。好东西大家分享。 我始终相信 “技术无极限,沟通是关键”。 好东西大家支持。共同学习,共同进步。 向所有提供资料和跟贴的同仁表示感谢。 1、 先说说表 (1)Filter tables (过滤表) - 包含 INPUT、OUTPUT、FORWARD 用于处理输入、输出和转发包。Filter表是缺省的表。 (2)Nat 表 - 包含PREROUTING(路由前)、POSTROUTING(路由后)、OUTPUT(输出) 用于处理网络地址翻译。 (3)mangle表(矫正表) 2、 简单的IPTABLES 命令 Iptables -F (清除所以规则) Iptables -X (清除所有自定义规则) Iptables –L (列出当前所以规则) Iptables –P (改变内建规则表的默认策略) Iptables –Z(将规则表计数器清零) 3、 IPTABLES 命令规则 Iptables –t filter –A INPUT –p tcp –dport 23 –j REJECT 红色部分定义使用的表 兰色部分定义匹配的规则 绿色部分定义采取的措施 采取的措施-『ACCEPT(接受,等于不进行过滤) / DROP(丢弃) / REJECT(弹回)』 -s -根据源地址进行匹配的参数 -d -根据目的地址进行匹配的参数 在使用 “!”的时候,需要在两端加空格 根据协议进行匹配的-p 参数 Icmp 、tcp、udp 4、 一些常用举例和说明 在调试iptables规则时,你也许需要反复修改你的脚本来实现某些特定的功能,这时建议在你的脚本里添加这样几行,以防止重复设置规则: # 清除所有规则 iptables -F -t filter iptables -X -t filter iptables -Z -t filter iptables -F -t nat iptables -X -t nat iptables -Z -t nat # 设置内建规则表的默认策略 iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT iptables -t nat -P PREROUTING ACCEPT iptables -t nat -P POSTROUTING ACCEPT iptables -t nat -P OUTPUT ACCEPT “-t”选项是“--table”的简写,它指明了你要对哪类规则表进行操作,默认的是指filter。 以下为举例说明: 1.禁止/ 接受icmp协议-多用与ping- [ iptables -A INPUT -p icmp -j DROP/ ACCEPT ] 2. 指定端口 指定数据包进入的接口 --in-interface-o 或 -i接口,-o接口, |