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 图形化东西

Firewalld防火墙基础

Firewalld防火墙基础

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从头启动或从头加载装备
  • 中止现有衔接
  • 能够修改服务装备

运行时装备

Firewalld防火墙基础

Firewalld防火墙基础

Firewalld防火墙基础

Firewalld防火墙基础

Firewalld防火墙基础

检查指定区域的一切规矩

firewall-cmd –list-all-zones:显现一切区域及其规矩

firewall-cmd –list-all : 不指定区域时,检查的是默许区域

firewall-cmd –list-all –zone=work:显现work区域的一切规矩

Firewalld防火墙基础

Firewalld防火墙基础

服务办理

显现、增加、删去指定区域的某个服务

Firewalld防火墙基础

Firewalld防火墙基础

Firewalld防火墙基础

端口办理

增加、删去某个协议的端口

Firewalld防火墙基础

永久装备

永久装备不当即生效,需求重启服务或从头加载后才生效。重启服务或从头加载时会中止现有衔接。下次重启后不会丢掉,永久存在。

直接进行永久装备

Firewalld防火墙基础

Firewalld防火墙基础