iptables就和数据库一样都是有“增删改查”;
在iptables中,最常用的匹配条件是“源地址”、“目标地址”、“源端口”、“目标端口”等,其中常用的动作有accept(接受)、drop(丢弃)、reject(拒绝);
规则是由两个逻辑单元构成,匹配条件和动作;
之前主要说的是filter表的查,接下来总结一下删改查;
iptables -F INPUT
讲默认filter表中所有规则清空
之前从查看INPUT链的时候就知道默认策略是accept,其他主机ping当前主机是可以ping通的。
iptables -t filter -I INPUT -s ip -j DROP
在filter表中对INPUT链插入规则,-I是insert,-s是source指明“源地址”,-j指明匹配条件被满足时所作的动作是drop。
iptables -A INPUT -s ip -j ACCEPT
-A表示追加规则,其中-I是在链的首部插入规则,而-A是在链的尾部追加规则。
iptables -t filter -I INPUT 2 -s ip -j DROP
在添加规则的时候,可以直接指定规则的编号,比如-I INPUT 2就是新增规则编号为2;
删除规则:
1.根据规则的编号删除规则
2.根据具体的匹配条件与动作删除规则
iptables -t filter -D INPUT 3
删除filter表INPUT链第三条规则,-D就是指定删除链的某个规则,后面加数字就是删除第几条规则。
iptables -D INPUT -s ip -j ACCEPT
指定匹配条件和动作去删除规则,如果删除所有规则就是:
iptables -t 表名 -F
修改规则
iptables -t filter -R INPUT 1 -s ip -j REJECT
删除指定链规则的对应编号,-R是修改指定链,使用-R INPUT 1就是修改INPUT第一条规则;
保存规则
一般我们进行的”增删改查“都是临时的,当重启iptables服务后就会失效,为了让它永久生效,需要对规则进行保存。
service iptables save
centos6中保存规则,规则默认保存在/etc/sysconfig/iptables文件夹中
在centos7中使用的是firewall替代了iptables,不过我们可以yum下载iptables就可以使用上面的保存命令进行共保存。(centos7中一般不会默认安装iptables)
#配置yum源后安装iptables-service
# yum -y install iptables-service
# 停止firewalld
# systemctl stop firewalld
# 启动iptables
# systemctl start iptables
# 将iptables设置开机自动启动,以后就可通过iptables-service控制iptables服务了
# systemctl enable iptables
其他保存方式:
iptables-save
这个命令不能保存当前iptables的规则,但是可以将当前的规则以保持后的格式输出到屏幕上。
于是,可以将其重定向到/etc/sysconfig/iptables文件中。
将目录文件中的规则可以重载到iptables中,不过容易丢失或者被覆盖
iptables-restore < /etc/sysconfig/iptables
重载时,现有规则会被覆盖!!!
网友评论