4、Iptables规则管理

4.1、什么是规则

数据包的过滤基于规则,而规则是由匹配条件和动作组成的,那我们对规则的操作无非就是增删改查
操作规则的语法:iptables [-t表名] 选项 [链名] [规则] [动作]
操作规则之前我们需要考量如下两个问题
1、要实现什么功能:判断添加到哪个表上
2、报文流经的路线:判断添加到哪个链上

iptables选项        含义                                  示例
-t,--table          指定要操作的表(默认filter)            iptables -t filter
-A,--append         追加一条规则至链的末尾                iptables -t filter -A INPUT
-I,--insert         插入一条规则至链的顶部                iptables -t filter -I INPUT
-D,--delete         指定删除一条规则                      iptables -t filter -D INPUT 1
-R,--replace        替换选定链中的规则                    iptables -t filter -R INPUT
-S,--list-rules     打印选定链中的所有规则                 iptables -t -S
-F,--flush          清空链中的所有规则                    iptables -t -F
-Z,--zero           将所有链中的数据包和字节计数器归零      iptables -t -Z
-N,--new-chain      创建自定义名称规则链                  iptables -N New_Rules
-E,--rename-chain   给自定义链修改名称                    iptables -E Old_Rules New_Rules
-X,--delete-chain   删除自定义链                          iptables -X Rules_Name
-P,--policy         给链设定默认策略                      iptables -t filter -P DROP

4.2、如何查看规则

-t:指定要操作的表名称
-L:查看该表的详细信息
-n:不解析 
-v:详细  
--line-numbers:编号
iptables -L  -n -v --line-numbers

4.3、如何添加规则

禁止10.0.0.10 ping 10.0.0.200
-I:插入Insert
iptables -t filter -I INPUT -p icmp -j REJECT
iptables -L -n

4.4、如何修改规则

-R:修改 需要指定规则的编号
iptables -t filter -R  INPUT 1 -p icmp -j DROP

4.5、如何清空计数器

如何清空计数器:
iptables  -Z

4.6、如何删除规则

清空规则:
iptables -F					# 只操作filter
iptables -t nat -F			# 清空nat表

4.7、如何备份规则

备份规则;
iptables-save > /etc/iptables.rule

4.8、如何恢复规则

恢复规则:
iptables-restore < /etc/iptables.rule

4.9、如何永久生效

命令: iptables-restore < /etc/iptables.rule  
加入开机自启动 /etc/rc.local