centos7 使用iptables
关闭selinux,不关闭时,iptables不读取配置文件
重启生效
centos7 中默认的防火墙是firewalld,使用iptables需要先关闭firewalld防火墙,安装iptables服务:yum -y install iptables-services
iptables 是centos6中的默认防火墙,建议使用service iptables start 方式启动
常用命令:
iptables -L #查看filter表的iptables规则,包括所有的链。filter表包含INPUT、OUTPUT、FORWARD三个规则链。说明:-L是--list的简写,作用是列出规则。
iptables -n #说明:以数字形式显示规则。如果没有-n,规则中可能会出现anywhere,有了-n,它会变成0.0.0.0/0
iptables -nvL #说明:这个列表看起来更详细,对技术人员更友好。
iptables -nvL --line-number #–line-number找出该条规则的行号。一般是为了通过行号删除规则。
iptables -F #清除所有规则
语法格式:
INPUT:过滤进入主机的数据包
OUTPUT:处理从本机出去的数据包
FORWARD:负责转发流经本机但不进入本机的数据包,起到转发作用
-A:追加到规则的最后一条
-D:删除记录
-I:添加到规则的第一条
-p:规定通信协议,常用协议:tcp、udp、icmp、all
-j:指定跳转的目标,常见的目标:ACCEPT(接收数据包)、DROP(丢弃数据包)、REJECT(重定向,一般不使用会带来安全隐患)
查看iptables 当前规则
添加192.168.7.102可访问80端口:iptables -I INPUT -p tcp --dport 80 -j ACCEPT -s 192.168.7.102
删除192.168.7.87 访问:iptables -D INPUT 1 或者 iptables -I INPUT -p tcp --dport 80 -s 192.168.7.84 -j DROP
保存规则(修改规则后必须写入配置文件,否则重启失效):service iptables save 会将当前的规则写入配置文件 /etc/sysconfig/iptables 中
注意:允许的要在禁止的前面。如果前面禁止192.168.7.102访问,后面允许192.168.7.102访问,以前面为准。