一、语法:
iptables [-t 表名] 选项 [链名] [匹配条件] [-j 控制类型]
未指定表名时,默认用filter表;链名,控制类型要大写;除非设置默认策略,否则必须指定匹配条件;不指定链名时,默认表内所有链。
二、常用的控制类型
ACCEPT:允许数据包通过
DROP:直接丢弃数据包,不给出回应
REJECT:拒绝包通过,必要时会给数据包发送端一个响应信息
LOG:在/var/log/messages文件中记录日志信息,然后将包传给下一条规则,防火墙规则的"匹配即停止"对于log操作来说是一个特例,因为log只是一种辅助动作,并没有真正处理包。
三、常用的选项
-A 在链末尾添加一条新规则
-I 插入一条新规则,未指定序号时默认为第一条规则
-D 删除链中的某条规则,可指定规则序号或具体内容
-L 列出链中的规则
-F 清空链中规则
-n 使用数字形式显示结果,如显示IP地址,而不是主机名
-P 为指定链设置默认规则
-v 显示详细信息
--line-numbers 查看规则表时,同时显示规则在链中的序列号
四、规则增删查的示例
1、增加规则
~] #iptables -t filter -A INPUT -p tcp -j ACCEPT(在filter表的INPUT链中最后一个规则后面添加一个新的规则)
~] #iptables -I INPUT 2 -p tcp --dport 80 -j ACCEPT (在filter表INPUT链第二行插入规则,允许tcp的80端口通过)
2、删除规则
~] #iptables -D INPUT 3(删除filter表中INPUT链的第三条规则)
~] #iptables -t raw -F(清空raw表中所有链内的规则)
~] #iptables -F OUTPUT(清空filter表output链内所有规则)
3、查询规则
~] #iptables -nL INPUT --line-number(以数字形式查看filter表INPUT链中的所有规则,并显示规则序号)
五、设置默认策略
默认策略是规则匹配最后一个环节,当找不到任何一条能够匹配数据包的规则时,则执行默认策略。无论是主机型防火墙还是网关型防火墙,设置filter表INPUT链和FORWARD链的默认策略为DROP,这样黑客就不能攻击此台主机,或把此台主机作为跳板攻击其他主机。
-P选项:为指定链设置默认规则
例如:~] #iptables -t filter -P FORWARD ACCEPT