1、CentOS7.x 中默认使用的防火墙是firewalld ,在centos6中防火墙叫做iptables
firewalld增加了区域的概念,所谓区域是指,firewalld预先准备了几 套防火墙策略的集合,类似于策略的模板,用户可以根据需求选择区域。
2、常见区域及相应策略规则 如下:
区域 | 默认策略 |
trusted | 允许所有数据包 |
home | 拒绝流入的流量,除非与流出的流量相关,允许ssh,mdns,ippclient,amba-client,dhcpv6-client服务通过 |
internal | 等同于home |
work | 拒绝流入的流量,除非与流出的流量相关,允许ssh,ippclient,dhcpv6-client服务通过 |
public | 拒绝流入的流量,除非与流出的流量相关,允许ssh,dhcpv6-client服务通过 |
external | 拒绝流入的流量,除非与流出的流量相关,允许ssh服务通 过 |
dmz | 拒绝流入的流量,除非与流出的流量相关,允许ssh服务通 过 |
block | 拒绝流入的流量,除非与流出的流量相关,非法流量采取拒 绝操作 |
drop | 拒绝流入的流量,除非与流出的流量相关,非法流量采取丢 弃操作 |
3、firewalld防火墙的配置
查看,开启和停止firewalld服务
语法:#systemctl [选项] firewalld
选项: status:检查指定服务的运行状况
start:启动指定服务
stop:停止指定服务
restart:重启指定服务
reload:重新加载指定服务的配置文件(并非所有服务都支持reload,通常使用restart)
(1)查看防火墙状态
systemctl status firewalld
(2)启动防火墙
systemctl start firewalld
(3)停止防火墙
systemctl stop firewalld
4、firewalld管理配置
语法:firewall-cmd [参数选项1] ....[参数选项n]
(1)查看默认使用的区域
语法:firewall-cmd 选项
firewall-cmd --get-default-zone
(2)查看所有可用区域
语法:firewall-cmd 选项
firewall-cmd --get-zones
(3)列出当前使用区域
语法:firewall-cmd 选项
firewall-cmd --list-all
(4)列出所有区域的配置
语法:firewall-cmd 选项
firewall-cmd --list-all-zones
(5)添加允许通过的服务或端口
在public区域,添加规则:tcp协议,允许通过80端口
firewall-cmd --zone=public --add-port=80/tcp
在public区域,添加允许ftp服务通过的规则
firewall-cmd --zone=public --add-service=ftp
(6)去掉允许通过的服务或端口
在public区域,去掉允许tcp协议的80端口
firewall-cmd --zone=public --remove-port=80/tcp
在public区域,去掉允许ftp服务的规则
firewall-cmd --zone=public --remove-service=ftp
5、运行模式和永久模式
运行模式:此模式下,配置的防火墙策略立即生效,但是不写入配置文件 永久模式:此模式下,配置的防火墙策略写入配置文件,但是需要reload
重新加载才能生效。
firewall默认采用运行模式
(1)永久模式参数permanent
在public区域,使用permanent参数,永久添加允许80端口通过的规则
firewall-cmd --zone=public --add-port=80/tcp --permanent
添加以后需要重新加载配置reload
firewall-cmd --reload