iptables -t filter -L iptables -t raw -L iptables -t mangle -L iptables -t nat -L # -t 指定要操作的表 # -L 列出规则 # -vL 列出详细的规则
iptables -vL INPUT
pkts:对应规则匹配到的报文的个数。 bytes:对应匹配到的报文包的大小总和。 target:规则对应的target,往往表示规则对应的”动作”,即规则匹配成功后需要采取的措施。 prot:表示规则对应的协议,是否只针对某些协议应用此规则。 opt:表示规则对应的选项。 in:表示数据包由哪个接口(网卡)流入,我们可以设置通过哪块网卡流入的报文需要匹配当前规则。 out:表示数据包由哪个接口(网卡)流出,我们可以设置通过哪块网卡流出的报文需要匹配当前规则。 source:表示规则对应的源头地址,可以是一个IP,也可以是一个网段。 destination:表示规则对应的目标地址。可以是一个IP,也可以是一个网段。
命令总结
iptables -t 表名 -L iptables -t 表名 -L 链名 某个表的某个链的规则信息 iptables -t 表名 -v -L iptables -t 表名 -n -L -n选项表示不解析IP地址 iptables --line-numbers -t 表名 -L 查看所有规则时,显示序号 iptables -t 表名 -v -x -L -x选项表示显示计数器的精确值 iptables --line -t filter -nvxL iptables --line -t filter -nvxL INPUT清空规则
#清除所有iptables规则 iptables -F iptables -Z iptables -X增加规则
iptables -t filter -I INPUT -s 192.168.1.2 -j DROP -t选项指定了要操作的表 -I表示insert,即插入的意思 -s为source之意,表示源地址 -j选项,指明当”匹配条件”被满足时,所对应的动作 ACCEPT 允许数据包通过 DROP 直接丢弃数据包 REJECT 拒绝数据包通过 SNAT 源地址转换,解决内网用户用同一个公网地址上网的问题 MASQUERADE 是SNAT的一种特殊形式,适用于动态的、临时会变的ip上 DNAT 目标地址转换。 REDIRECT 在本机做端口映射 LOG 在/var/log/messages文件中记录日志信息删除规则
方法一:根据规则的编号去删除规则
iptables -t filter --line -vnl INPUT iptables -t filter -D INPIUT 3 --line 显示行号 -D 代表删除
方法二:根据具体的匹配条件与动作删除规则
iptables -D INPIUT -s 192.168.1.2 -j ACCEPT修改规则
iptables -t filter -R INPUT 1 -s 192.168.1.2 -j REJECT iptables -t filter -P FORWARD DROP -R INPUT 1 表示修改INPUT链的第1条规则 -s选项以及对应的源地址不可省略 -P FORWARD DROP表示将表中FORWRD链的默认策略改为DROP保存规则
在默认的情况下,我们对”防火墙”所做出的修改都是”临时的”,换句话说就是,当重启iptables服务或者重启服务器以后,我们平常添加的规则或者对规则所做出的修改都将消失,为了防止这种情况的发生,我们需要将规则”保存”。
service iptables save命令小结
#添加规则 在指定表的指定链的尾部添加一条规则,-A选项表示在对应链的末尾添加规则,省略-t选项时,表示默认操作filter表中的规则 命令语法:iptables -t 表名 -A 链名 匹配条件 -j 动作 示例:iptables -t filter -A INPUT -s 192.168.1.1 -j DROP 在指定表的指定链的首部添加一条规则,-I选型表示在对应链的开头添加规则 命令语法:iptables -t 表名 -I 链名 匹配条件 -j 动作 示例:iptables -t filter -I INPUT -s 192.168.1.1 -j ACCEPT 在指定表的指定链的指定位置添加一条规则 命令语法:iptables -t 表名 -I 链名 规则序号 匹配条件 -j 动作 示例:iptables -t filter -I INPUT 5 -s 192.168.1.1 -j REJECT 设置指定表的指定链的默认策略(默认动作),并非添加规则。表示将filter表中FORWARD链的默认策略设置为ACCEPT 命令语法:iptables -t 表名 -P 链名 动作 示例:iptables -t filter -P FORWARD ACCEPT #删除规则 按照规则序号删除规则,删除指定表的指定链的指定规则,-D选项表示删除对应链中的规则 命令语法:iptables -t 表名 -D 链名 规则序号 示例:iptables -t filter -D INPUT 3 按照具体的匹配条件与动作删除规则,删除指定表的指定链的指定规则。 命令语法:iptables -t 表名 -D 链名 匹配条件 -j 动作 示例:iptables -t filter -D INPUT -s 192.168.1.1 -j DROP 删除指定表的指定链中的所有规则,-F选项表示清空对应链中的规则 命令语法:iptables -t 表名 -F 链名 示例:iptables -t filter -F INPUT 删除指定表中的所有规则 命令语法:iptables -t 表名 -F 示例:iptables -t filter -F #修改规则 修改指定表中指定链的指定规则,-R选项表示修改对应链中的规则,使用-R选项时要同时指定对应的链以及规则对应的序号,并且规则中原本的匹配条件不可省略。 命令语法:iptables -t 表名 -R 链名 规则序号 规则原本的匹配条件 -j 动作 示例:iptables -t filter -R INPUT 3 -s 192.168.1.1 -j ACCEPT 修改指定表的指定链的默认策略(默认动作),并非修改规则,可以使用如下命令。 命令语法:iptables -t 表名 -P 链名 动作 示例:iptables -t filter -P FORWARD ACCEPT #保存规则 保存规则命令如下,表示将iptables规则保存至/etc/sysconfig/iptables文件中,如果对应的操作没有保存,那么当重启iptables服务以后 service iptables save 或者使用如下方法保存规则 iptables-save > /etc/sysconfig/iptables 可以使用如下命令从指定的文件载入规则,注意:重载规则时,文件中的规则将会覆盖现有规则。 iptables-restore < /etc/sysconfig/iptables



