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、如何清空计数器
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