firewalld防火墙
firewalld防火墙是centos7系统默许的防火墙办理东西,替代了之前的iptables防火墙,也是作业在网络层,属于包过滤防火墙。
- 支持IPv4、IPv6防火墙设置以及以太网桥
- 支持服务或应用程序直接增加防火墙规矩接口
- 拥有两种装备形式:临时形式、永久形式
Firewalld和iptables的关系
netfilter
- 坐落Linux内核中的包过滤功用系统
- 称为Linux防火墙的“内核态”
Firewalld/iptables
- CentOS7默许的办理防火墙规矩的东西(Firewalld)
- 称为Linux防火墙的“用户态”
Firewalld和iptables的差异
1、对规矩的设置不同:
- ptables主要是依据接口(网卡),来设置规矩,然后判别网络的安全性。
- firewalld是依据区域,依据不同的区域来设置不同的规矩,然后确保网络的安全。与硬件防火墙的设置相类似。
2、装备文件不同:
-
iptables在
/etc/sysconfig/iptables
中储存装备; -
firewalld 将装备储存在
/etc/firewalld/
(优先加载)和/usr/lib/firewalld/
(默许的装备文件)中的各种XML文件里。- 当
/etc/firewalld/
中没有相关区域的装备文件时,才会加载/usr/lib/firewalld/
中的装备文件。
- 当
3、对规矩的修改:
- 运用iptables每一个单独更改,意味着清除一切旧的规矩和从/etc/sysconfig/iptables里读取一切新的规矩。
- 运用firewalld却不会再创建任何新的规矩,仅仅运行规矩中的不同之处。因此firewalld能够在运行时间内,改变设置而不丢掉现行衔接。
4、防火墙类型不同:
- iptables防火墙类型为静态防火墙
- firewalld防火墙类型为动态防火墙
firewalld区域的概念
firewalld防火墙为了简化办理,将一切网络流量分为多个区域(zone)。然后依据数据包的源IP地址或传入的网络接口等条件将流量传入相应区域。每个区域都界说了自己翻开或者封闭的端口和服务列表。
这些区域装备文件存在于/usr/lib/firewalld/zones目录中,还有一个目录/etc/firewalld/zones。firewalld运用规矩时,会首先到/etc/firewalld/目录中查找,假如能够找到就直接运用,找不到会持续到/usr/lib/firewalld/目录中查找。
firewalld防火墙界说了9个区域
区域 | 作用 |
---|---|
trusted(信赖区域) | 答应一切的传入流量。 |
public(公共区域) | 答应与ssh或dhcpv6-client预界说服务匹配的传入流量,其他均回绝。是新增加网络接口的默许区域。 |
external(外部区域) | 答应与ssh预界说服务匹配的传入流量其他均回绝。 |
home(家庭区域) | 答应与ssh、mdns、samba-client或dhcpv6-client预界说服务匹配的传入流量,其他均回绝。 |
internal(内部区域) | 默许值与home区域相同。 |
work(作业区域) | 答应与ssh、dhcpv6-client预界说服务匹配的传入流量,其他均回绝 |
dmz(隔离区域也称非军事区域) | 答应与ssh预界说服务匹配的传入流量,其他均回绝。 |
block(约束区域) | 回绝一切传入流量。 |
drop(丢掉区域) | 丢掉一切传入流量,并且不产生包含icmp的过错响应。 |
firewalld防火墙的装备办法
1、firewall-config 图形化东西(出产环境一般只要字符界面,不运用这种办法)
2、firewall-cmd 命令行东西(出产环境中没有图形化界面,所以只能在命令行进行装备)
3、编写 /etc/firewalld 中的装备文件。
- Firewalld 会优先运用/etc/firewalld/中的装备,假如不存在装备文件,则运用/usr/lib/firewalld/中的装备。
- /etc/firewalld/:用户自界说装备文件,需求时可通过从/usr/lib/firewalld/ 中拷贝
- /usr/lib/firewalld/ :默许装备文件,不主张修改,若恢复至默许装备,可直接删去/etc/firewalld/ 中的装备
firewall-config 图形化东西
firewall-cmd 命令行东西
常用的 firewall-cmd 命令选项:
#默许区域
--get-default-zone :显现当前默许区域
--set-default-zone=<zone> :设置默许区域
--get-active-zones :显现当前正在运用的区域及其网卡接口
--get-zones:显现一切可用的区域
#网络接口
--get-zone-of-interface=ens33 :检查指定接口ens33绑定的区域
--zone=<zone> --add-interface=<interface> :为指定接口绑定区域
--zone=<zone> --change-interface=<interface> :为指定区域更改绑定的网络接口
--zone=<zone> --remove-interface=<interface> :为指定区域删去绑定的网络接口
#源地址
--zone=<zone> --add-source=<source>[/<mask>] :为指定源地址绑定区域
--zone=<zone> --change-source=<source>[/<mask>] :为指定的区域更改绑定的源地址
--zone=<zone> --remove-source=<source>[/<mask>] :为指定的区域删去绑定的源地址
#显现指定区域的一切规矩
--list-all-zones :显现一切区域及其规矩
--zone=<zone> --list-all :显现一切指定区域的一切规矩,若不指定区域表明仅对默许的区域操作
#服务办理
--zone=<zone> --list-service :显现指定区域内答应拜访的一切服务
--zone=<zone> --add-service=<service> :为指定的区域设置答应拜访的某项服务
--zone=<zone> --remove-service=<service> :删去指定区域已设置的答应拜访的某项服务
#端口办理
--zone=<zone> --list-ports:x显现指定区域内答应拜访的一切端口号
--zone=<zone> --add-port=<poreid>[-portid]/<portocol>:为指定的区域设置答应拜访的某个端口号/某段端口号(包含协议)
--zone=<zone> --remove-port=<poreid>[-portid]/<portocol>:删去指定区域已设置答应拜访的端口号(包含协议)
#icmp协议
--zone=<zone> --list-icmp-blocks :显现指定区域内拒接拜访的一切icmp类型
--zone=<zone> --add-icmp-block=<icmptype>:为指定区域设置答应拜访的某项icmp类型
--zone=<zone> --remove-icmp-block=<icmptype>删去指定区域已设置答应拜访的某项icmp类型
firealld-cmd --get-icmptypes :显现一切icmp类型
Firewalld两种装备形式
运行时装备:
- 实时生效,并持续至Firewalld从头启动或从头加载装备文件
- 不中止现有衔接
- 不能修改服务器装备
永久装备:
- 不当即生效,除非Firewaddl从头启动或从头加载装备
- 中止现有衔接
- 能够修改服务装备
运行时装备
检查指定区域的一切规矩
firewall-cmd –list-all-zones:显现一切区域及其规矩
firewall-cmd –list-all : 不指定区域时,检查的是默许区域
firewall-cmd –list-all –zone=work:显现work区域的一切规矩
服务办理
显现、增加、删去指定区域的某个服务
端口办理
增加、删去某个协议的端口
永久装备
永久装备不当即生效,需求重启服务或从头加载后才生效。重启服务或从头加载时会中止现有衔接。下次重启后不会丢掉,永久存在。
直接进行永久装备