#iptables (2) 规则管理
##规则
- 匹配条件+动作 构成了规则
iptables -L [chain] 表示清空filter表中指定链的规则
##iptables的增删查改
###查
iptables -t [table] -L [chain]
ep: iptables - t raw --line -nvxL OUTPUT
- n表示不反解域名,直接显示ip,L列出规则,x选项表示显示计数器的精确值
- 不接-t默认filter表
- v表示显示详细信息,详细信息中的policy所接的是默认策略,packets表示当前链默认策略匹配到的包的数量 ,bytes则表示当前默认策略匹配到的包的总大小。
- v的详细信息中pkts对应规则匹配到的报文的个数 ,in和out表示数据包从哪个网卡流入/流出,我们设置通过哪块网卡流入/流出的报文需要匹配当前的规则
###增
iptables -t filter -I INPUT 2 -s 192.168.179.131 -j DROP
iptables -t mangle -A INPUT 2 -s 192.168.179.131 -j ACCEPT
- -t指定表
- -I/-A 在前面插入/在后面插入
- 添加规则的顺序很重要,在链后面加数字是表示增加的规则编号为2
###删
iptables -t filter -D INPUT 3
iptables -t filter -D INPUT -s 192.168.1.146 -j ACCEPT
-
根据规则的编号去删除规则
-
根据具体的匹配条件与动作删除规则
-
删除对应规则
-
iptables -t[table] -F [chain] 删除指定链上的规则
###改
iptables -t filter -R INPUT 1 -s 192.168.179.131 -j REJECT
iptables -
- -R表示修改指定链,1表示指定链的第一条规则
- 使用-j REJECT表示将其动作改为REJECT
- -R修改时必须指定规则对应的原本的匹配条件(如果有多个匹配条件,都需要指定)
###保存规则
- 默认情况下,对防火墙所做的修改都是临时的。
- centos6 可以使用 service iptables save 命令保存规则,规则默认保存在/etc/sysconfig/iptables文件
- centos7使用默认firewalld,如果想要使用service iptables save 需要安装iptables-services
yum install -y iptables-services#配置好yum源以后安装iptables-service
systemctl stop firewalld #停止firewalld
systemctl disable firewalld #禁止firewalld自动启动
systemctl start iptables #启动iptables
systemctl enable iptables #将iptables设置为开机自动启动,以后即可通过iptables-service控制iptables服务
- 或者iptables-save > /etc/sysconfig/iptables
- 重载规则可以使用iptables-restore < /etc/sysconfig/iptables 要注意重载规则时,文件中的规则将会覆盖现有规则