CentOS7--Firewalld防火墙
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 ~]#
图形管理工具

CentOS7--Firewalld防火墙的更多相关文章
- CentOS7 firewalld防火墙 启动 关闭 禁用 添加删除规则等 常用命令
CentOS7 firewalld防火墙 常用命令1.firewalld的基本使用启动: systemctl start firewalld关闭: systemctl stop firewalld查看 ...
- CentOS7 firewalld防火墙规则
在CentOS7里有几种防火墙共存:firewalld.iptables.ebtables,默认是使用firewalld来管理netfilter子系统,不过底层调用的命令仍然是iptables等. f ...
- CentOS7,Firewalld防火墙使用方法
查看防火墙状态 systemctl status firewalld.service 启动firewall systemctl stop firewalld.service 停止firewall sy ...
- 关于Centos7 firewalld防火墙开放端口后仍不能访问ftp和nginx的问题解决
我在阿里轻量应用服务器搭建ftp服务器这篇博客中把防火墙换为iptables,因为当时无论我怎么设置firewalld,就是无法访问ftp服务器,今天在翻看其他博客的时候,突然发现firewalld有 ...
- CentOS7 firewalld防火墙配置
[root@ecs ~]# firewall-cmd --version //查看版本0.3.9 [root@ecs ~]# firewall-cmd --state //查 ...
- CentOS7使用firewalld防火墙配置端口
安装启用firewalld防火墙 CentOS7默认的防火墙是firewalld 如果没有firewalld防火墙,可以执行yum install firewalld 命令进行安装 firewalld ...
- CentOS7、REHL7的firewalld防火墙使用简单说明
title: CentOS7.REHL7的firewalld防火墙使用简单说明 categories: Linux tags: - Linux timezone: Asia/Shanghai date ...
- CentOS7.3防火墙firewalld简单配置
今天安装了centos7.3, 想用iptables的save功能保存规则的时候发现跟rhel不一样了, 后来度娘说centos用的是firewalld而不是iptables了, 平时工作都是用re ...
- CentOS7使用firewalld防火墙
firewalld的基本使用 启动: systemctl start firewalld 关闭: systemctl stop firewalld 查看状态: systemctl status fir ...
- centos7 firewall 防火墙 命令
为了架设ss在vultr上买了一个日本的vps 用的是centos7的系统 防火墙是 firewall 捣鼓了两天 在这里总结一下. 如果小伙伴也准备在vultr上买vps 在注册是 可以使用这个优 ...
随机推荐
- Sword redis配置
Redis 配置 Redis 的配置文件位于 Redis 安装目录下,文件名为 redis.conf. --查看配置 你可以通过 CONFIG 命令查看或设置配置项(使用CONFIG必须在redis客 ...
- mysql查询常用小语句
mysql 查询某个库里表的数量 在mysql中有个数据库information_schema下的表tables记录了所有数据库中所有的表相关信息 TABLE_SCHEMA 数据库名称 SELECT ...
- Prolog学习:数独和八皇后问题
上一篇简单介绍了下Prolog的一些基本概念,今天我们来利用这些基本概念解决两个问题:数独和八皇后问题. 数独 数独是一个很经典的游戏: 玩家需要根据n×n盘面上的已知数字,推理出所有剩余空格的数字, ...
- Java如何查看线程的优先级?
Java编程中,如何查看线程的优先级? 以下示例演示如何使用Thread类的getPriority()方法检查线程的优先级. package com.yiibai; public class Thre ...
- mybatis plus 联合查询
在xml中只需要需要写如下的代码即可实现分页: <select id="selectUserList" parameterType="map" resul ...
- SqlServer 数据库引擎优化顾问优化数据库
现在一直在做的项目,数据量相对也不小,开始的时候没有觉得,因为是刚开始,数据量还很小,在程序使用过程中速度还挺快,但是随着数据量的不停的增长,发现程序越来越慢,甚至出现了超时的问题,因此要对程序和数据 ...
- linux下重要的网络配置文件
linux下重要的网络配置文件:一; /etc/sysconfig/network 文件内容: NETWORKING=yes <= ...
- PHP内置函数生成随机数的方法汇总
PHP内部生成随机数的方法相比其他方法简单,不需要额外配置,是生成随机数的首选方案. 1 rand函数 rand() 函数可以不加任何参数,就可以生成随机整数.如果要设置随机数范围,可以在函数中设置 ...
- Java SE 8 并发增强
1.原子值 java5开始,提供了一些原子操作的类,如AtomicInteger.AtomicLong等 这些类提供了诸如incrementAndGet这样的原子操作方法. 单数如果想进行复杂操作,则 ...
- Linux 查看系统硬件信息
linux查看系统的硬件信息,并不像windows那么直观,这里我罗列了查看系统信息的实用命令,并做了分类,实例解说. cpu lscpu命令,查看的是cpu的统计信息. blue@blue-pc:~ ...