首页 > 代码库 > linux防火墙(二)—— iptables语法

linux防火墙(二)—— iptables语法

一、语法:

  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

  技术分享

  

linux防火墙(二)—— iptables语法