官方文档介绍地址:https
//access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Security_Guide/sec-Using_Firewalls.html#sec-Introduction_to_firewalld1

一,防火墙介绍

CentOS 7中防火墙是一个非常的强大的功能,在CentOS 6.5中在iptables防火墙中进行了升级了。

1,官方介绍

动态防火墙守护程序firewalld提供动态管理的防火墙,支持网络“区域”,以便为网络及其关联的连接和接口分配信任级别。它支持IPv4和IPv6防火墙设置。它支持以太网桥,并具有运行时和永久配置选项的分离。它还有一个服务或应用程序接口,可以直接添加防火墙规则。

2,什么是区域区:

网络区域定义了网络连接的可信等级。这是一个一对多的关系,这意味着一次连接可以仅仅是一个区域的一部分,而一个区域可以用于很多连接。

3,哪个区域可用?

由firewalld提供的区域按照从不信任到信任的顺序排序。

4,区域的分类?

防火墙可用于根据用户决定放置在设备上的信任级别和该网络内的流量将网络分成不同的区域。NetworkManager通知firewalld接口所属的区域。可以通过NetworkManager或firewall-config工具更改接口的分配区域,该工具可以为您打开相关的NetworkManager窗口。

/ etc / firewalld /中的区域设置是一系列预设设置,可以快速应用于网络接口。这里列出了它们的简要说明:

drop
任何传入的网络数据包都被丢弃,没有回复。只能进行传出网络连接。

阻止
任何传入的网络连接被拒绝,其中包含用于IPv4的icmp-host-prohibited消息和用于IPv6的icmp6-adm-prohibited。只能从系统内启动网络连接。

公共
用于公共场所。您不相信网络上的其他计算机不会损害您的计算机。仅接受选定的传入连接。

external
用于特别为路由器启用伪装的外部网络。您不相信网络上的其他计算机不会损害您的计算机。仅接受选定的传入连接。

dmz
适用于非军事区中的计算机,这些计算机可公开访问,并且对内部网络的访问权限有限。仅接受选定的传入连接。

工作
用于工作区域。您最常信任网络上的其他计算机,以免损害您的计算机。仅接受选定的传入连接。

home
适用于家庭领域。您最常信任网络上的其他计算机,以免损害您的计算机。仅接受选定的传入连接。

内部
用于内部网络。您最常信任网络上的其他计算机,以免损害您的计算机。仅接受选定的传入连接。

trusted
接受所有网络连接。
可以将这些区域中的一个指定为默认区域。将接口连接添加到NetworkManager时,会将它们分配给默认区域。安装时,firewalld中的默认区域将设置为公共区域。

注:具体内容,请参见官方文档介绍!

二,防火墙配置

firewalld的配置存储在/ usr / lib / firewalld /和/ etc / firewalld /中的各种XML文件中。

这样可以提供很大的灵活性,因为文件可以编辑,编写,备份,用作其他安装的模板等。

修改防火墙配置文件之前,需要对之前防火墙做好备份

1.
firewall-cmd --state        
#查看firewall的状态
firewall-cmd --list-all 
#查看防火墙规则(只显示/etc/firewalld/zones/public.xml中防火墙策略)
firewall-cmd --list-all-zones 
#查看所有的防火墙策略(即显示/etc/firewalld/zones/下的所有策略)
firewall-cmd --reload
#重新加载配置文件
 
2、关闭firewall:
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)
 
3、firewalld的基本使用
启动: systemctl start firewalld
查看状态: systemctl status firewalld 
停止: systemctl disable firewalld
禁用: systemctl stop firewalld
 
4、systemctl是CentOS7的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于一体。

启动一个服务:systemctl start firewalld.service
关闭一个服务:systemctl stop firewalld.service
重启一个服务:systemctl restart firewalld.service
显示一个服务的状态:systemctl status firewalld.service
在开机时启用一个服务:systemctl enable firewalld.service
在开机时禁用一个服务:systemctl disable firewalld.service
查看服务是否开机启动:systemctl is-enabled firewalld.service
查看已启动的服务列表:systemctl list-unit-files|grep enabled
查看启动失败的服务列表:systemctl --failed

5、配置firewalld-cmd

查看版本: firewall-cmd --version
查看帮助: firewall-cmd --help
显示状态: firewall-cmd --state
查看所有打开的端口: firewall-cmd --zone=public --list-ports
更新防火墙规则: firewall-cmd --reload
查看区域信息:  firewall-cmd --get-active-zones
查看指定接口所属区域: firewall-cmd --get-zone-of-interface=eth0
拒绝所有包:firewall-cmd --panic-on
取消拒绝状态: firewall-cmd --panic-off
查看是否拒绝: firewall-cmd --query-panic
 
那怎么开启一个端口呢
添加
firewall-cmd --zone=public --add-port=80/tcp --permanent    (--permanent永久生效,没有此参数重启后失效)
重新载入
firewall-cmd --reload
查看
firewall-cmd --zone= public --query-port=80/tcp
删除
firewall-cmd --zone= public --remove-port=80/tcp --permanent
 
因为在/usr/lib/firewalld/services/中事先定义了ssh.xml的相应的规则

firewall详解的更多相关文章

  1. CentOS7下Firewall防火墙配置用法详解

    官方文档地址: https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Security_Guide ...

  2. CentOS 7.5关闭FireWall 和SELinux图文详解

    CentOS 7.5关闭FireWall 和SELinux图文详解 1. 环境 CentOS 7.5 2. 关闭FireWall和SELinux 2.1 FireWall 使用systemctl st ...

  3. CentOS 6.3下Samba服务器的安装与配置方法(图文详解)

    这篇文章主要介绍了CentOS 6.3下Samba服务器的安装与配置方法(图文详解),需要的朋友可以参考下   一.简介  Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件, ...

  4. 详解Linux目录(目录树详细解释)

    给大家一篇关于Linux目录 方面的详细说明,好好读一下! Linux目录详解(RHEL5.4) linux有四种基本文件系统类型:--普通文件:如文本文件.c语言源代码.shell脚本等,可以用ca ...

  5. windows进程详解

    1:系统必要进程system process    进程文件: [system process] or [system process]进程名称: Windows内存处理系统进程描述: Windows ...

  6. syslog及syslog-ng详解 日志服务器

    服务器的日志对系统工程师来说是至关重要的,一旦服务器出现故障或被入侵,我们需要查看日志来定位问题的关键所在,所以说对于线上跑的服务器而言日志应该合理的处理及管理.下面来   服务器的日志对系统工程师来 ...

  7. lvs keepalived 安装配置详解【转】

    lvs keepalived 安装配置详解 张映 发表于 2012-06-20 分类目录: 服务器相关 前段时间看了一篇文章,lvs做负载均衡根F5差不多,说实话不怎么相信,因为F5没玩过,也无法比较 ...

  8. C# Process.Start()方法详解(转)

    C# Process.Start()方法详解 System.Diagnostics.Process.Start(); 能做什么呢?它主要有以下几个功能: 1.打开某个链接网址(弹窗). 2.定位打开某 ...

  9. Centos系统各种日志存详解

    Centos系统各种日志存储路径和详细介绍 Linux常见的日志文件详述如下 1./var/log/boot.log(自检过程) 2./var/log/cron (crontab守护进程crond所派 ...

随机推荐

  1. 安装GO

    1.中文社区 下载地址   https://studygolang.com/dl    选择自己操作系统版本 2.找到适合你系统的版本下载,本人下载的是windows版本.也可以下载Source自己更 ...

  2. iOS 应用逆向工程分析流程图

    http://bbs.iosre.com/t/ios/12432

  3. [RN] React Native ScrollView自动滑动到顶部

    react-native 自动滚到屏幕顶部,模仿微信朋友圈评论自动定位 <ScrollView showsVerticalScrollIndicator={false} style={[styl ...

  4. vscode中配置C#环境

    安装.Net Core SDK 如果已经安装了SDK的话则可以跳过这一步,不然需要安装SDK在进行环境配置:下载链接.NET CORE SDK下载: SDK安装完之后,软件执行界面如下所示 在vsco ...

  5. nginx rewrite实战实例

    本部分内容为nginx生产环境中使用的场景示例. 域名跳转(域名重定向) 示例1(不带条件的): server{ listen ; server_name www.aminglinux.com; re ...

  6. 阿里云ECS服务器相关配置以及操作---上(初学者)

    最近买了一台阿里云的ECS服务器 linux系统 centos镜像,把我相关的一些操作记录下来,供大家参考,不足之处欢迎指正. 首先买的过程就不用介绍了,根据自己的实际需要选择自己想要的配置,点击付钱 ...

  7. 【译文】走出Java ClassLoader迷宫 Find a way out of the ClassLoader maze

    本文是一篇译文.原文:Find a way out of the ClassLoader maze 对于类加载器,普通Java应用开发人员不需要了解太多.但对于系统开发人员,正确理解Java的类加载器 ...

  8. SAS PROC MEANS 输出每个变量的描述性统计量

    ods listing close;ods output summary=class;proc means data=CC.Model_Params stackods n mean std min m ...

  9. mysql中的正则操作 匹配手机号,匹配中文,替换

    mysql中的正则操作 匹配手机号,匹配中文,替换 正则匹配hy_user表内tel字段的电话号码: SELECT * FROM hy_user WHERE tel REGEXP "[1][ ...

  10. 南开大学2020年数学分析高等代数考研试题回忆版TeX排版

    南开大学2020年数学分析高等代数考研试题回忆版TeX排版 220328[南开大学2020年高等代数考研试题回忆版] 220329[南开大学2020年数学分析考研试题回忆版]