Firewalld服务是红帽RHEL7系统中默认的防火墙管理工具,特点是拥有运行时配置永久配置选项且能够支持动态更新以及"zone"的区域功能概念,使用图形化工具firewall-config或文本管理工具firewall-cmd

 配置文件的位置:

  firewalld 的配置储存在 /usr/lib/firewalld/ 和 /etc/firewalld/ 里的各种 XML 文件里,firewalld 优先使用 /etc/firewalld/services/ 里的文件。

通过编辑 /etc/firewalld/services/ 中的 XML 文件,服务可以被增加和删除,/usr/lib/firewalld/services/ 文件可以作为模板使用。

区域概念与作用:

  防火墙的网络区域定义了网络连接的可信等级,我们可以根据不同场景来调用不同的firewalld区域,区域规则有:

  特别需要注意的是firewalld服务有两份规则策略配置记录,必需要能够区分:

    RunTime:当前正在生效的。

    Permanent:永久生效的。

当下面实验修改的是永久生效的策略记录时,必须执行"--reload"参数后才能立即生效,否则要重启后再生效。

开启firewalld

systemctl start firewalld
systemctl enable firewalld

查看当前的区域:

[root@Centos7 ~]# firewall-cmd --get-default-zone
public

查询网卡的区域:

[root@Centos7 ~]# firewall-cmd --get-zone-of-interface=eno16777736
public

在public中分别查询ssh与http服务是否被允许:

[root@Centos7 ~]# firewall-cmd --zone=public --query-service=ssh
yes
[root@Centos7 ~]# firewall-cmd --zone=public --query-service=http
no

设置默认规则为dmz:

[root@Centos7 ~]# firewall-cmd --set-default-zone=dmz
success

让“永久生效”的配置文件立即生效:

[root@Centos7 ~]# firewall-cmd --reload
success

启动/关闭应急状况模式,阻断所有网络连接:

应急状况模式启动后会禁止所有的网络连接,一切服务的请求也都会被拒绝,当心,请慎用。

[root@Centos7 ~]# firewall-cmd --panic-on
success
[root@Centos7~]# firewall-cmd --panic-off
success

实例:

模拟训练A:允许https服务流量通过public区域,要求立即生效且永久有效:

  方法一:分别设置当前生效与永久有效的规则记录:

[root@Centos7 ~]#  firewall-cmd --zone=public --add-service=https
success
[root@Centos7 ~]# firewall-cmd --permanent --zone=public --add-service=https
success

  方法二:设置永久生效的规则记录后读取记录:

[root@Centos7 ~]# firewall-cmd --permanent --zone=public --add-service=https
success
[root@Centos7 ~]# firewall-cmd --reload
success

模拟训练B:不再允许http服务流量通过public区域,要求立即生效且永久生效:

[root@Centos7 ~]# firewall-cmd --permanent --zone=public --remove-service=http
success [root@Centos7 ~]# firewall-cmd --reload
success

模拟训练C:允许8080与8081端口流量通过public区域,立即生效且永久生效:

[root@Centos7 ~]# firewall-cmd --permanent --zone=public --add-port=-/tcp
success
[root@Centos7 ~]# firewall-cmd --reload
success

模拟训练D:查看模拟实验中的规则:

[root@Centos7 ~]# firewall-cmd --zone=public --list-services
dhcpv6-client http https ssh
[root@Centos7 ~]# firewall-cmd --zone=public --list-ports
-/tcp

模拟实验F:设置富规则,拒绝192.168.10.0/24网段的用户访问ssh服务:

[root@Centos7 ~]# firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="192.168.10.0/" service name="ssh" reject"
success

模拟实验G:将访问主机888端口的请求转发至22端口:

[root@Centos7 ~]# firewall-cmd --permanent --zone=public --add-forward-port=port=:proto=tcp:toport=:toaddr=192.168.0.85
success
[root@Centos7 ~]# firewall-cmd --reload
success

在别的机器访问192.168.0.85(Centos7)

[root@wls12c ~]$ ssh -p  192.168.0.85
root@192.168.0.85's password:
Last login: Mon Jan :: from 192.168.0.85
[root@Centos7 ~]#
 图形管理工具
执行firewall-config命令即可看到firewalld的防火墙图形化管理工具,真的很强大,可以完成很多复杂的工作。
 

Firewalld防火墙的更多相关文章

  1. 第8章 Iptables与Firewalld防火墙

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

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

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

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

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

  4. Linux firewalld 防火墙

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

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

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

  6. 第7章 Iptables与Firewalld防火墙。

    第7章 Iptables与Firewalld防火墙.     Chapter7_听较强节奏的音乐能够让您更长时间的投入在学习中. <Linux就该这么学> 00:00/00:00     ...

  7. CentOS 7.0 关闭firewalld防火墙指令 及更换Iptables防火墙

    CentOS 7.0 关闭firewalld防火墙指令 及更换Iptables防火墙 时间:2014-10-13 19:03:48  作者:哎丫丫  来源:哎丫丫数码网  查看:11761  评论:2 ...

  8. CentOS firewalld 防火墙操作

    Centos 7 开启端口CentOS 7 默认没有使用iptables,所以通过编辑iptables的配置文件来开启80端口是不可以的 CentOS 7 采用了 firewalld 防火墙 如要查询 ...

  9. 9.Iptables与Firewalld防火墙

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

  10. CentOS 7出现Failed to start firewalld.service: Unit is masked的解决办法和firewalld 防火墙开关

    说明:刚刚使用systemctl start firewalld命令开启防火墙的时候,却开不成功,出现Failed to start firewalld.service: Unit is masked ...

随机推荐

  1. FineUI开源版之TreeGrid实现

    FineUI开源版是没有树表格的,但是又需要,怎么办呢?在博客园看到一位大大的文章 http://www.cnblogs.com/shiworkyue/p/4211002.html 然后参考,不知道为 ...

  2. 使用celery之怎么让celery跑起来

    celery 官网帮助文档  http://docs.celeryproject.org/en/latest/index.html 前言 自从发了上次的文章使用celery之深入celery配置, 有 ...

  3. MVC 4 插件化架构简单实现实例篇

    ASP.NET MVC 4 插件化架构简单实现-实例篇   先回顾一下上篇决定的做法: 1.定义程序集搜索目录(临时目录). 2.将要使用的各种程序集(插件)复制到该目录. 3.加载临时目录中的程序集 ...

  4. [google面试CTCI] 1-8.判断子字符串

    [字符串与数组] Q:Assume you have a method isSubstring which checks if one word is a substring of another G ...

  5. selenium webdriver (python)

    selenium webdriver (python) 第一版PDF Posted on 2013-08-30 22:59 虫师 阅读(221) 评论(0) 编辑 收藏 前言 如果你是一位有pytho ...

  6. 有一个array的数组,长度为10000,大小不一,用算法找出该数组中的最大值。

    不用算法的答案是:   var a=[1,2,3,5……];alert(Math.max.apply(null, a));//最大值alert(Math.min.apply(null, a));//最 ...

  7. 转:运行yum报错Error: Cannot retrieve metalink for reposit

    http://www.netpc.com.cn/593.html 运行yum报错Error: Cannot retrieve metalink for repository: epel. Please ...

  8. 联想E430Cwindow8系统换成win7

    垃圾win8系统各种不习惯,尤其无线网络老是自己断掉,忍无可忍只能换成win7,之前换过一次,没有成功,记得是提示硬盘模式要由GPT换成MBR. 这次换系统采用了PE里直接分区,格式化所有数据,然后g ...

  9. 给Amazon ec2 增加卷(Volume)并挂载到系统

    给Amazon ec2 增加卷(Volume)并挂载到系统 前言 导师让师弟把实验的网站挂到亚马逊的EC2云服务器上.师弟对linux不太熟悉.就跑过来问我.于是花了一个小时搞定.问题主要是将EC2的 ...

  10. 使用C#实现DHT磁力搜索的BT种子后端管理程序+数据库设计(开源)

    使用C#实现DHT磁力搜索的BT种子后端管理程序+数据库设计(开源) 先直接上程序界面,了解整体工作流程是什么样子的,求服务器进行挂机测试,需要固定IP,空间大概需要10G左右(主要是BT种子占用空间 ...