一.firewalld 概述

firewalld防火墙是Centos7系统默认的防火墙管理工具,取代了之前的iptables防火墙,也是工作在网络层,属于包过滤防火墙

firewalld和iptables都是用来管理防火墙的工具(属于用户态)来定义防火墙的各种规则功能,内部结构都指向netfilter网络过滤子系统(属于内核态)来实现包过滤防火墙功能

firewalld提供了支持网络区域所定义的网络连接以及接口安|全等级的动态防火墙管理工具

二.firewalld与iptables 的区别

1

iptables主要是基于接口,来设置规则,从而判断网络的安全性

firewalld是基于区域,根据不同的区域来设置不同的规则,从而保证网络的安全。与硬件防火墙的设置相类似

2

iptables在/etc/sysconfig/iptables 中储存配置

firewalld将配置储存在/etc/firewalld/ ( 优先加载)和/usr/lib/ firewalld/ ( 默认的配置文件)中的各种XML文件里

3

使用iptables每一-个单独更改意味着清除所有旧有的规则和从/etc/sysconfig/iptables里读取所有新的规则

使用firewalld却不会再创建任何新的规则,仅仅运行规则中的不同之处。因此firewalld可以在运行时间内,改变设置而不丢失现行连接

4

iptables防火墙类型为静态防火墙

firewalld防火墙类型为动态防火墙

三.firewalld 区域概念

firewalld防火墙为了简化管理,将所有网络流量分为多个区域(zone)。然后根据数据包的源IP地址或传入的网络接口等条件将流量传入相应区域。每个区域都定义了自己打开或者关闭的端口和服务列表

firewalld防火墙预定义了9个区域:

  1. trusted (信任区域) : 允许所有的传入流量
  2. public(公共区域): 允许与ssh或dhcpv6-client预定义服务匹配的传入流量,其余均拒绝。是新添加网络接口的默认区域
  3. external (外部区域) : 允许与ssh预定义服务匹配的传入流量,其余均拒绝。默认将通过此区域转发的IPv4传出流量将进行地址伪装,可用于为路由器启用了伪装功能的外部网络
  4. home (家庭区域) : 允许与ssh、ipp-client、 mdns、samba-client 或dhcpv6-client预定义服务匹配的传入流量,其余均拒绝
  5. internal (内部区域) :默认值时与home区域相同
  6. work (工作区域) :允许与ssh、 ipp-client、dhcpv6-client 预定义服务匹配的传入流量,其余均拒绝
  7. dmz(隔离区域也称为非军事区域):允许与ssh预定义服务匹配的传入流量,其余均拒绝
  8. block (限制区域) :拒绝所有传入流量
  9. drop (丢弃区域) :丢弃所有传入流量,并且不产生包含ICMP的错误响应

    区域介绍:

    区域如同进入主机的安全门,每个区域都具有不同限制程度的规则

    可以使用一个或多个区域,但是任何一个活跃区域至少需要而关联源地址或接口

    默认情况下,public区域是默认区域,包含所有接口(网卡)

四.Firewalld数据处理流程

firewalld对于进入系统的数据包,会根据数据包的源IP地址或传入的网络接口等条件,将数据流量转入相应区域的防火墙规则。对于进入系统的数据包,首先检查的就是其源地址

五.Firewalld检查数据包的源地址的规则

1.若源地址关联到特定的区域(即源地址或接口绑定的区域有冲突),则执行该区域所制定的规则

2.若源地址未关联到特定的区域(即源地址或接口绑定的区域没有冲突),则使用传入网络接口的区域并执行该区域所制定的规则

3.若网络接口也未关联到特定的区域(即源地址或接口都没有绑定特定的某个区域),则使用默认区域并执行该区域所制定的规则

六.Firewalld 防火墙的配置方法

1.使用firewalld-cmd 命令行工具

2.使用firewalld-config 图形工具

3.编写/etc/firewalld/中的配置文件

systemctl start firewalld.service

运行时配置

实时生效,并持续至Firewalld重 新启动或重新加载配置

不中断现有连接

不能修改服务配置

永久配置

不立即生效,除非Firewalld重 新启动或重新加载配置

中断现有连接

可以修改服务配置

1.常用的firewalld-cmd 命令选项

--get-default-zone :显示当前默认区域

--set-default-zone= :设置默认区域

--get-active-zones: 显示当前正在使用的区域及其对应的网卡接口

--get-zones :显示所有可用的区域

--get-zone-of-interface= :显示指定接口绑定的区域

--zone= --add-interface= :为指定接口绑定区域

--zone= --change-interface= :为指定的区域更改绑定的网络接口

--zone= --remove-interface= :为指定的区域删除绑定的网络接口

--zone= --add-source= [/] :为指定源地址绑定区域

--zone= --change-source= [/] :为指定的区域更改绑定的源地址

--zone= --remove-source=[/ ] :为指定的区域删除绑定的源地址

--list-all-zones :显示所有区域及其规则

[--zone=] --list-all :显示所有 指定区域的所有规则,省略--zone=时 表示仅对默认区域操作

[--zone=] --list-services :显示指定 区域内允许访问的所有服务

[--zone=] --add-service= :为指定区域设置允许访问的某项服务

[--zone=] --remcve-service= :删除指定区域已设置的允许访问的某项服务

[--zone=] --list-ports :显示指定区域内允许访问的所有端口号

[--zone=] --add-port= [-]/ :为指定区域设置允许访问的某个/某段端口号(包括协议名)

[--zone=] --remove-port= [-]/ :删除指定区域已设置的允许访问的端口号( 包括协议名)

[--zone=] --list-icmp-blocks :显示指定区域内拒绝访问的所有ICMP 类型

[--zone=] --add- icmp-block= :为指定区域设置拒绝访问的某项ICMP 类型

[--zone=] --remove-icmp-block= :删除 指定区域已设置的拒绝访问的某项ICMP类型

firewall-cmd --get-icmptypes :显示所有ICMP 类型













2.区域管理

(1)显示当前系统中的默认区域

firewall-cmd --get-default-zone

(2)显示默认区域的所有规则

firewall-cmd --list-all

(3)显示当前正在使用的区域及其对应的网卡接口

firewall-cmd --get-active -zones

(4)设置默认区域

firewall-cmd --set-default-zone=home

firewall-cmd --get-default-zone

3.服务管理

(1)查看默认区域内允许访问的所有服务

firewall-cmd --list-service

(2)添加httpd服务到public区域

firewall-cmd --add-service=http --zone=public

(3)查看public区域已配置规则

firewall-cmd --list-all --zone=public

(4)删除public区域的httpd服务

firewall-cmd --remove-service=http --zone=public

(5)同时添加httpd、https 服务到默认区域,设置成永久生效

firewall-cmd --add-service=http --add-service=https --permanent

firewall-cmd --add-service={http, https, ftp} --zone=internal

firewall-cmd --reload

firewall-cmd --list-all

• 添加使用 --permanent选项表示设置成永久生效,需要重新启动firewalld服务或执行firewall-cmd --reload命令

• 重新加载防火墙规则时才会生效。若不带有此选项,表示用于设置运行时规则,但是这些规则在系统或firewalld服务重启、停止时配置将失效

4.端口管理

(1)允许TCP的443端口到internal 区域

firewall-cmd --zone=internal --add-port=443/tcp

firewall-cmd --list-all --zone=internal

(2)从internal区域将TCP的443端口移除

firewall-cmd --zone=internal --remove-port=443/tcp

(3) 允许UDP的2048~2050端口到默认区域

firewall-cmd -- add-port=2048-2050/udp

firewall-cmd --list-all

firewalld防火墙基础的更多相关文章

  1. Firewalld防火墙——基础认知

    Firewalld防火墙 1.Firewalld概述 2.firewalld与iptables 的区别 3.firewalld区域的概念 4.firewalld数据处理流程 5.firewalld检查 ...

  2. 9.Iptables与Firewalld防火墙

    第9章 Iptables与Firewalld防火墙 章节简述: 保障数据的安全性是继保障数据的可用性之后最为重要的一项工作.防火墙作为公网与内网之间的保护屏障,在保障数据的安全性方面起着至关重要的作用 ...

  3. firewalld防火墙详解

    众所周知,在RHEL7系统中,firewalld防火墙取代了iptables防火墙.我们都知道iptables的防火墙策略是交由内核层面的netfilter网络过滤器来处理的,而firewalld则是 ...

  4. 第8章 Iptables与Firewalld防火墙

    章节简述: 红帽RHEL7系统已经用firewalld服务替代了iptables服务,新的防火墙管理命令firewall-cmd与图形化工具firewall-config. 本章节基于数十个防火墙需求 ...

  5. CentOS7使用firewalld防火墙配置端口

    安装启用firewalld防火墙 CentOS7默认的防火墙是firewalld 如果没有firewalld防火墙,可以执行yum install firewalld 命令进行安装 firewalld ...

  6. CentOS7、REHL7的firewalld防火墙使用简单说明

    title: CentOS7.REHL7的firewalld防火墙使用简单说明 categories: Linux tags: - Linux timezone: Asia/Shanghai date ...

  7. Linux firewalld 防火墙

    Linux firewalld 防火墙  简介 RHEL 7 系统中集成了多款防火墙管理工具,其中 firewalld(Dynamic Firewall Manager of Linux system ...

  8. Linux防火墙基础与编写防火墙规则

    Iptables采用了表和链的分层结构,每个规则表相当于内核空间的一个容器,根据规则集的不同用途划分为默认的四个表,raw表,mangle表,nat表,filter表,每个表容器内包括不同的规则链,根 ...

  9. CentOS 7 打开关闭FirewallD防火墙端口命令

    CentOS 7 使用firewalld代替了原来的iptables,使用方法如下: >>>关闭防火墙 systemctl stop firewalld.service        ...

随机推荐

  1. 动态路由及RIP协议

    动态路由及 RIP协议 目录 一.动态路由协议 1.1.定义 1.2.特点 1.3.动态路由协议概述 1.4.度量值 1.5.收敛 1.6.静态路由和动态路由的比较 二.动态路由协议的分类 2.1.距 ...

  2. OSPF路由协议

    一.OSPF的工作过程 二.OSPF的基本概念 三.DR与BDR 四.OSPF数据包类型 五.OSPF邻接关系的建立 六.OSPF的路由器类型 一.OSPF的工作过程 OSPF路由协议针对每一个区域分 ...

  3. 关于tinymce的一些记事

    之前能看的懂一部分英文,但是总是没有全局观,以至于我之前使用tinymce一直都有一些疑问:那就是为什么我在tinymce初始化中添加了比如字体,字体大小等设置按钮,但是为什么在前 台没有办法现实出来 ...

  4. 关于asp.net中Repeater控件的一些应用

    在Asp.net中,我是比较喜欢用Repeater这个控件,刚刚遇到的一个问题,怎么实现单击 <asp:LinkButton>,通过后台的单击事件获取同一行数据中的其他数据(对象). 1, ...

  5. Redis主从,集群部署及迁移

    工作中有时会遇到需要把原Redis集群下线,迁移到另一个新的Redis集群的需求(如机房迁移,Redis上云等原因).此时原Redis中的数据需要如何操作才可顺利迁移到一个新的Redis集群呢? 本节 ...

  6. AcWing 829. 模拟队列

    实现一个队列,队列初始为空,支持四种操作: (1) "push x" – 向队尾插入一个数x: (2) "pop" – 从队头弹出一个数: (3) " ...

  7. [心得体会]mysql复习

    1. 进入企业需要注意的事情 (1) 查看测试服和本地的mysql版本是否一致(2) 确认sql_mode是否和线上版本一致 show VARIABLES LIKE 'sql_mode'; (3) m ...

  8. weblogic项目转为tomcat之后出现的问题

    解决java - JAX-WS和版本冲突 itPublisher分享于2017-03-19 推荐:JWS,JAX-WS,JAX-RS,REST,Restlet,SOAP(JAVA Web Servic ...

  9. Adaptive AUTOSAR 学习笔记 1 - Overview

    缩写 AP: AUTOSAR Adaptive Platform CP: AUTOSAR Classic Platform AA: Adaptive Application ARA: AUTOSAR ...

  10. 理解Python中的闭包

    1.定义 闭包是函数式编程的一个重要的语法结构,函数式编程是一种编程范式 (而面向过程编程和面向对象编程也都是编程范式).在面向过程编程中,我们见到过函数(function):在面向对象编程中,我们见 ...