Linux防火墙firewalld安全设置

背景描述

防火墙是具备很好的保护做用。***者必须首先穿越防火墙的安全防线,才能接触目标计算机。在公司里数据安全是最重要的,要求安所有门进行全公司进行服务器防火墙安全搭建,在原有的基础上进行安全的防火墙设置,有效避免安全隐患等问题,建议你们仍是花个十多分钟好好看一下防火墙的理论,这样便于后期问题排查,最后一小节有经常使用命令操做。docker

主要内容

  • 1 详细了解防火墙相关配置;
  • 2 详细解读相关安全配置方法;
  • 3 详细解读firewalld防火墙的基础知识;
  • 4 了解firewalld防火墙的配置;
  • 5 了解firewalld防火墙相关命令的使用。

1.Linux防火墙概述

防火墙是指设置在不一样网络或网络安全域之间的一系列部件的组合,它能加强机构内部网络的安全性。它经过访问控制机制,肯定哪些内部服务容许外部访问,以及容许哪些外部请求能够访问内部服务。它能够根据网络传输的类型决定IP包是否能够传进或传出内部网。
防火墙经过审查通过的每个数据包,判断它是否有相匹配的过滤规则,根据规则的前后顺序进行一一比较,直到知足其中的一条规则为止,而后依据控制机制作出相应的动做。若是都不知足,则将数据包丢弃,从而保护网络的安全。
Linux系统的防火墙功能是由内核实现的。在2.4 版及之后的内核中,包过滤机制是netfilter.CentOS 6管理工具是iptables,CentOS 7管理工具是firewalld ,firewalld 是Linux新一代的防火墙工具,它提供了支持网络/防火墙区域 (zone) 定义网络连接以及接口安全等级的动态防火墙管理。
Netfilter,位于Linux内核中的包过滤防火墙功能体系,称为Linux防火墙“内核态”。firewall-cmd,位于/bin/firewall-cmd,是用来管理防火墙的命令工具,为防火墙体系提供过滤规则/策略,决定如何过滤或处理到达防火墙主机的数据包,称为Linux防火墙的“用户态”。习惯上,上述2种称呼均可以表明Linux防火墙。小程序

2.Linux防火墙框架

(1) netfilter框架
Linux内核包含了一个强大的网络子系统,名为netfilter,它能够为iptables内核防火墙模块提供有状态或无状态的包过滤服务,如NAT、IP假装等,也能够因高级路由或链接状态管理的须要而修改IP头信息。而firewalld能够动态管理防火墙,将netfilter的过滤功能集于一身,它也支持容许服务或者应用程序直接添加防火墙规则的接口,netfilter所处的位置如图1所示:安全

Linux防火墙firewalld安全设置
虽然防火墙模块构建在Linux内核,而且要对流经IP层的数据包进行处理,但它并无改变IP协议栈的代码,而是经过netfilter模块将防火墙的功能引入IP层,从而实现防火墙代码和IP协议栈代码的彻底分离。netfilter模块的结构。如图2所示:
Linux防火墙firewalld安全设置
数据包从左边进入IP协议栈,进行IP校验之后,数据包被PREROUTING处理,而后就进入路由模块,由其决定该数据包是转发出去仍是送给本机。若该数据包是送给本机的,则经过INPUT处理后传递给本机的上层协议;若该数据包应该被转发,则它将FORWARD处理,而后还要经POSTROUTING处理后才能传输到网络。本机进程产生的数据包要先通过OUTPUT处理后,再进行路由选择处理,而后通过POSTROUTING处理后再发送到网络。
iptables服务在/etc/sysconfig/iptables中储存配置,而firewalld将配置储存在 /usr/lib/firewalld/和/etc/firewalld/中的各类XML文件里,使用iptables的时候每个单独更改意味着清除全部旧有的规则和从/etc/sysconfig/iptables里读取全部新的规则,使用firewalld 却不会再建立任何新的规则,仅仅运行规则中的不一样。所以firewalld能够在运行时改变设置而不丢失现行配置。
Firewalld动态管理防火墙,不须要重启整个防火墙即可应用更改。于是也就没有必要重载全部内核防火墙模块。不过,要使用firewalld就要求防火墙的全部变动都要经过firewalld守护进程来实现,以确保守护进程中的状态和内核里的防火墙是一致的。另外,firewalld没法解析由iptables和iptables命令行工具添加的防火墙规则。 Firewalld防火墙堆栈示意图,如图3所示。
Linux防火墙firewalld安全设置服务器

2.Firewall防火墙管理

FirewallD 提供了支持网络/防火墙区域(zone)定义网络连接以及接口安全等级的动态防火墙管理工具。firewalld经过将网络划分红不一样的区域(一般状况下称为 zones),制定出不一样区域之间的访问控制策略来控制不一样区域间传送的数据流。它支持 IPv4, IPv6 防火墙设置以及以太网桥接,而且拥有运行时配置和永久配置选项。它也支持容许服务或者应用程序直接添加防火墙规则的接口。 之前的 system-config-firewall/lokkit 防火墙模型是静态的,每次修改都要求防火墙彻底重启。这个过程包括内核 netfilter 防火墙模块的卸载和新配置所需模块的装载等。而模块的卸载将会破坏状态防火墙和确立的链接。
相反,firewall daemon 动态管理防火墙,不须要重启防火墙即可应用更改。于是也就没有必要重载全部内核防火墙模块了。不过,要使用 firewall daemon 就要求防火墙的全部变动都要经过该守护进程来实现,以确保守护进程中的状态和内核里的防火墙是一致的。另外,firewall daemon 没法解析由 ip*tables 和 ebtables 命令行工具添加的防火墙规则。守护进程经过 D-BUS 提供当前激活的防火墙设置信息,也经过 D-BUS 接受使用 PolicyKit 认证方式作的更改。应用程序、守护进程和用户能够经过D-BUS请求启用一个防火墙特性。特性能够是预约义的防火墙功能,如:服务、端口和协议的组合、端口/数据报转发、假装、ICMP 拦截或自定义规则等。该功能能够启用肯定的一段时间也能够再次停用。网络

3.firewalld区域管理

网络区域定义了网络链接的可信等级。这是一个一对多的关系,这意味着一次链接能够仅仅是一个区域的一部分,而一个区域能够用于不少链接。一个IP能够看做是一个区域、一个网段能够看做是一个区域,局域网、互联网均可以看做是一个区域。例如:app

  • 预约义的服务:服务是端口和/或协议入口的组合。备选内容包括 netfilter 助手模块以及 IPv四、Pv6地址。
  • 端口和协议:定义了 tcp 或 udp 端口,端口能够是一个端口或者端口范围。
  • ICMP阻塞:能够选择 Internet 控制报文协议的报文。这些报文能够是信息请求亦但是对信息请求或错误条件建立的响应。
  • 假装:私有网络地址能够被映射到公开的IP地址。这是一次正规的地址转换。
  • 端口转发:端口能够映射到另外一个端口以及/或者其它主机。
    现网应用中,假设互联网是不可信任的区域,而内部网络是高度信任的区域。为避免安全策略中禁止的一些通讯,它在信任度不一样的区域有各自基本的控制任务。
    典型的区域包括互联网(一个没有信任的区域)和一个内部网络(一个高信任的区域)。最终目标是在不一样信任力度的区域,经过安全政策的运行和连通性模型之间,根据最少特权原则提供连通性。例如:公共 WIFI 网络链接应该不信任,而家庭有线网络链接就应该彻底信任。网络安全模型能够在安装、初次启动和首次创建网络链接时选择初始化。该模型描述了主机所联的整个网络环境的可信级别,并定义了新链接的处理方式。在 /etc/firewalld/ 的区域设定中,定义了一系列能够被快速执行到网络接口的预设定。firewalld 提供的区域按照从不信任到信任的顺序排序。有如下几种不一样的初始化区域:
  • drop(丢弃):任何接收的网络数据包都被丢弃,没有任何回复。仅能有发送出去的网络链接。
  • block(限制):任何接收的网络链接,都被 IPv4 的 icmp-host-prohibited 信息和 IPv6 的 icmp6-adm-prohibited 信息所拒绝。
  • public(公共):该区域是系统默认区域,在公共区域内使用,不能相信网络内的其它计算机不会对您的计算机形成危害,只能接收通过选取的链接。
  • external(外部):特别是为路由器启用了假装功能的外部网。您不能信任来自网络的其它计算,不能相信它们不会对您的计算机形成危害,只能接收通过选择的链接。
  • dmz(非军事区):用于您的非军事区内的电脑,此区域内可公开访问,能够有限地进入您的内部网络,仅仅接收通过选择的链接。
  • work(工做):用于工做区。您能够基本相信网络内的其它电脑不会危害您的电脑。仅仅接收通过选择的链接。
  • home(家庭):用于家庭网络。您能够基本信任网络内的其它计算机不会危害您的计算机。仅仅接收通过选择的链接。
  • internal(内部):用于内部网络。您能够基本上信任网络内的其它计算机不会威协您的计算机。仅仅接受通过选择的链接。
  • trusted(信任):可接受全部的网络链接。

配置或者增长区域:可使用任何一种 firewalld 配置工具来配置或者增长区域,以及修改配置。工具备例如 firewall-config 这样的图形界面工具, firewall-cmd 这样的命令行工具,以及D-BUS接口。或者也能够在配置文件目录中建立或者拷贝区域文件。 @PREFIX@/lib/firewalld/zones 被用于默认和备用配置,/etc/firewalld/zones 被用于用户建立和自定义配置文件。
修改区域:区域设置以 ZONE= 选项 存储在网络链接的ifcfg文件中。若是这个选项缺失或者为空,firewalld 将使用配置的默认区域。若是这个链接受到 NetworkManager 控制,也可使用 nm-connection-editor 来修改区域。
由NetworkManager控制的网络链接:防火墙不可以经过 NetworkManager 显示的名称来配置网络链接,只能配置网络接口。所以在网络链接以前 NetworkManager 将配置文件所述链接对应的网络接口告诉 firewalld 。若是在配置文件中没有配置区域,接口将配置到 firewalld 的默认区域。若是网络链接使用了不止一个接口,全部的接口都会应用到 fiwewalld。接口名称的改变也将由 NetworkManager 控制并应用到firewalld。为了简化,网络链接将被用做与区域的关系。若是一个接口断开了,NetworkManager也将告诉firewalld从区域中删除该接口。当firewalld由systemd或者init脚本启动或者重启后,firewalld将通知NetworkManager把网络链接增长到区域。框架

4.Linux防火墙的基本配置与管理

CentOS 7中使用firewall-config图形界面管理的防火墙策略。也可使用firewall-cmd命令行工具进行管理, firewall-cmd 支持所有防火墙特性,对于状态和查询模式,命令只返回状态,没有其它输出。另外还能够直接编辑/etc/firewalld/中的配置文件用来管理firewalld的策略。ssh

  • 使用firewalld能够经过图形界面工具 firewall-config 或者命令行客户端 firewall-cmd 启用或者关闭防火墙特性。
  • 使用firewall-cmd命令行工具 firewall-cmd 支持所有防火墙特性。对于状态和查询模式,命令只返回状态,没有其它输出。

4.1 firewall-cmd命令行工具

firewall-cmd支持防火墙的全部特性,管理员能够用它来改变系统或用户策略,经过 firewall-cmd用户能够配置防火墙容许经过的服务、端口、假装、端口转发、和ICMP过滤器和调整 zone(区域)设置等功能。
firewall-cmd工具支持两种策略管理方式,运行时和永久设置,须要分别设置二者:tcp

  • 处理运行时区域,运行时模式下对区域进行的修改不是永久有效的,可是即时生效,从新加载或者重启系统后修改将失效。
  • 处理永久区域,永久选项不直接影响运行时的状态,这些选项仅在重载或者重启系统时可用。
    防火墙启动与关闭
  • 启动防火墙:systemctl start firewalld
  • 查询防火墙状态:systemctl status firewalld
  • 开机启动防火墙:systemctl enable firewalld
  • 中止防火墙:systemctl stop firewalld
  • 开机关闭防火墙:systemctl disable firewalld

防火墙管理命令格式:
firewall-cmd [Options…]
firewall-cmd支持上百参数,下表为经常使用Options说明,如表所示:ide

firewall-cmd命令 说明
--get-default-zone 查询当前默认区域
--set-default-zone=<ZONE> 设置默认区域,会更改运行时和永久配置
--get-zones 列出全部可用区域
--get-active-zones 列出正在使用的全部区域(具备关联的接口或源)机器接口和源信息
--add-source=<CIDR> [--zone=<ZONE>] 未来自IP地址或网络/子网掩码<CIDR>的全部流量路由到指定区域。
--remove-source=<CIDR> [--zone=<ZONE>] 从指定区域中删除用于路由来自IP地址或网络/子网掩码<CIDR>的全部流量的规则
--add-interface=<INTERFACE>[--zone=<ZONE>] 未来自<INTERFACE>的全部流量路由到指定区域
--change-interface=<INTERFACE>[--zone=<ZONE>] 将接口与<ZONE>而非其当前区域关联
--list-all [--zone=<zone>] 列出<ZONE>的全部已配置接口、源、服务和端口
--list-all-zones 检索全部区域的全部信息(接口、源、端口、服务等)
--add-service=<SERVICE>[--zone=<ZONE>] 容许到<SERVICE>的流量
--add-port=<PORT/PROTOCOL>[--zone=<ZONE>] 容许到<PORT/PROTOCOL>端口的流量
--remove-service=<SERVICE>[--zone=<ZONE>] 从区域容许列表中删除<SERVICE>
--remove-port=<PORT/PROTOCOL>[--zone=<ZONE>] 从区域容许列表中删除<PORT/PROTOCOL>端口
--reload 丢弃运行时配置,并应用持久配置

4.2 firewall-config图形工具

firewall-config支持防火墙的全部特性,管理员能够用它来改变系统或用户策略,经过 firewall-config 用户能够配置防火墙容许经过的服务、端口、假装、端口转发、和ICMP过滤器和调整 zone(区域)设置等功能以使防火墙设置更加的自由、安全和强健。
firewall-config工做界面。如图4所示。

Linux防火墙firewalld安全设置
firewall-config工做界面分红三个部分:上面是主菜单,中间是配置选项卡,包括区域、服务设置选项卡,底部是状态栏,状态栏从左到右以此是链接状态、默认区域、锁定状态、应急模式。
在左下方角落寻找“已链接”字符,这标志着 firewall-config工具已经链接到用户区后台程序 firewalld。

firewall-config 主菜单

firewall-config 主菜单包括四个选项:文件,选项,查看,帮助。其中选项子菜单是最主要的,它包括几个部分:

  • 重载防火墙:重载防火墙规则。例如全部如今运行的配置规则若是没有在永久配置中操做,那么系统重载后会丢失。
  • 更改链接区域:更改网络链接的默认区域。
  • 改变默认区域:更改网络链接的所属区域和接口。
  • 应急模式:应急模式意味着丢弃全部的数据包。
  • 锁定:锁定能够对防火墙配置进行加锁,只容许白名单上的应用程序进行改动。锁定特性为 firewalld 增长了锁定本地应用或者服务配置的简单配置方式。它是一种轻量级的应用程序策略。

firewall-config配置选项卡

firewall-config 配置选项卡包括:运行时和永久。

  • 运行时:运行时配置为当前使用的配置规则。运行时配置并不是永久有效,在从新加载时能够被恢复,而系统或者服务重启、中止时,这些选项将会丢失。
  • 永久:永久配置规则在系统或者服务重启的时候使用。永久配置存储在配置文件种,每次机器重启或者服务重启、从新加载时将自动恢复。

firewall-config区域选项卡

区域选项卡是一个主要设置界面,firewalld 提供了10种预约义的区域,区域配置选项和通用配置信息能够在 firewall.zone(5) 的手册里查到,
区域选项卡有八个子选项卡,分别是服务、端口、假装、端口转发、ICMP过滤器、富规则、接口、来源,如图3-1-5所示。

  • 服务:定义区域中哪些服务是可信的。
  • 端口:定义区域中容许访问的主机或网络访问的附加端口或端口范围。
  • 假装:NAT假装,是否启用IP转发,是地址转发的一种,仅支持IPv4。
  • 端口转发:NAT转发,将指向单个端口的流量将转发到相同计算机上的不一样端口,或者转发到不一样计算机上的端口
  • ICMP过滤器:设置可经过的ICMP数据包类型。
  • 富规则:是一种表达性语言,可表达firewalld基本语法中未涵盖的自定义防火墙规则,可用于表达基本的容许/拒绝规则,可用于配置记录(面向syslog和auditd)及端口转发、假装和速率限制
  • 接口:增长入口到区域。
  • 来源:绑定来源地址或范围。
    Linux防火墙firewalld安全设置

(4)firewall-config 服务选项卡
预约义了几十种重要服务,可经过命令firewall-cmd --get-services查询,服务是端口、协议、模块和目标地址的集合,该选项卡配置只能在永久配置视图中修改服务,不能在运行时配置中修改。
服务选项卡底下包含端口和协议、模块、目标地址三种子选项卡,如图所示。。

  • 端口和协议:定义须要被全部主机或网络访问的额外端口或端口区间。
  • 模块:添加网络过滤辅助模块。
  • 目标地址:若是指定了目的地址,服务项目将仅限于目的地址和类型。
    Linux防火墙firewalld安全设置

5 当前的firewalld特性

  • D-BUS接口:D-BUS 接口提供防火墙状态的信息,使防火墙的启用.停用或查询设置成为可能。
  • 区域:网络或者防火墙区域定义了链接的可信程度。firewalld 提供了几种预约义的区域。区域配置选项和通用配置信息能够在firewall.zone(5)的手册里查到。
  • 服务:服务能够是一系列本读端口.目的以及附加信息,也能够是服务启动时自动增长的防火墙助手模块。预约义服务的使用使启用和禁用对服务的访问变得更加简单。服务配置选项和通用文件信息在 firewalld.service(5) 手册里有描述。
  • ICMP类型:Internet控制报文协议 (ICMP) 被用以交换报文和互联网协议 (IP) 的错误报文。在 firewalld 中可使用 ICMP 类型来限制报文交换。 ICMP 类型配置选项和通用文件信息能够参阅 firewalld.icmptype(5) 手册。
  • 直接接口:直接接口主要用于服务或者应用程序增长特定的防火墙规则。这些规则并不是永久有效,而且在收到 firewalld 经过 D-Bus 传递的启动.重启.重载信号后须要从新应用。
  • 运行时配置:运行时配置并不是永久有效,在从新加载时能够被恢复,而系统或者服务重启.中止时,这些选项将会丢失。
  • 永久配置:永久配置存储在配置文件种,每次机器重启或者服务重启.从新加载时将自动恢复。
  • 托盘小程序:托盘小程序 firewall-applet 为用户显示防火墙状态和存在的问题。它也能够用来配置用户容许修改的设置。
  • 图形化配置工具:firewall daemon 主要的配置工具是 firewall-config 。它支持防火墙的全部特性(除了由服务/应用程序增长规则使用的直接接口)。 管理员也能够用它来改变系统或用户策略。
  • 命令行客户端:firewall-cmd是命令行下提供大部分图形工具配置特性的工具。
  • 对于ebtables的支持:要知足libvirt daemon的所有需求,在内核 netfilter 级上防止 ip*tables 和 ebtables 间访问问题,ebtables 支持是须要的。因为这些命令是访问相同结构的,于是不能同时使用。
  • /usr/lib/firewalld中的默认/备用配置:该目录包含了由 firewalld 提供的默认以及备用的 ICMP 类型.服务.区域配置。由 firewalld 软件包提供的这些文件不能被修改,即便修改也会随着 firewalld 软件包的更新被重置。 其它的 ICMP 类型.服务.区域配置能够经过软件包或者建立文件的方式提供。
  • /etc/firewalld中的系统配置设置:存储在此的系统或者用户配置文件能够是系统管理员经过配置接口定制的,也能够是手动定制的。这些文件将重载默认配置文件。为了手动修改预约义的 icmp 类型,区域或者服务,从默认配置目录将配置拷贝到相应的系统配置目录,而后根据需求进行修改。若是加载了有默认和备用配置的区域,在 /etc/firewalld下的对应文件将被重命名为 <file>.old 而后启用备用配置。

6.用户策略支持

管理员能够规定哪些用户可使用用户交互模式和限制防火墙可用特性。
端口元数据信息(由 Lennart Poettering 提议),拥有一个端口独立的元数据信息是很好的。应用程序或服务的端口是动态的,于是端口自己并不能描述使用状况,因此对 /etc/services 的端口和协议静态分配模型不是个好的解决方案,也没有反映当前使用状况。。
元数据信息能够用来为防火墙制定简单的规则。下面是一些例子:

  • 容许外部访问文件共享应用程序或服务;
  • 容许外部访问音乐共享应用程序或服务;
  • 容许外部访问所有共享应用程序或服务;
  • 容许外部访问 torrent 文件共享应用程序或服务;
  • 容许外部访问 http 网络服务。

这里的元数据信息不仅有特定应用程序,还能够是一组使用状况。例如:组“所有共享”或者组“文件共享”能够对应于所有共享或文件共享程序(如:torrent 文件共享)。这些只是例子,于是,可能并无实际用处。
这里是在防火墙中获取元数据信息的两种可能途径:

  • 第一种是添加到 netfilter (内核空间)。好处是每一个人均可以使用它,但也有必定使用限制。还要考虑用户或系统空间的具体信息,全部这些都须要在内核层面实现。
  • 第二种是添加到 firewall daemon 中。这些抽象的规则能够和具体信息(如:网络链接可信级。做为具体我的/主机要分享的用户描述.管理员禁止彻底共享的应归则等)一块儿使用。

第二种解决方案的好处是不须要为有新的元数据组和归入改变(可信级.用户偏好或管理员规则等等)从新编译内核。这些抽象规则的添加使得 firewall daemon 更加自由。即便是新的安全级也不须要更新内核便可轻松添加。

7.sysctld的错误设置

实际应用中对sysctl 设置常常出现错误。
一个例子是,在 rc.sysinit 正运行时,而提供设置的模块在启动时没有装载或者从新装载该模块时会发生问题。
另外一个例子是 net.ipv4.ip_forward ,防火墙设置.libvirt 和用户/管理员更改都须要它。若是有两个应用程序或守护进程只在须要时开启 ip_forwarding ,以后可能其中一个在不知道的状况下关掉服务,而另外一个正须要它,此时就不得不重启它。
sysctl daemon 能够经过对设置使用内部计数来解决上面的问题。此时,当请求者再也不须要时,它就会再次回到以前的设置状态或者是直接关闭它。

8.iptables 的与firewalld区别

firewalld 和 iptables service 之间最本质区别是:

  • iptables service 在 /etc/sysconfig/iptables 中储存配置,而 firewalld 将配置储存在 /usr/lib/firewalld/ 和 /etc/firewalld/ 中的各类 XML 文件里,。要注意,当 firewalld 在Linux上安装失败时, /etc/sysconfig/iptables 文件就不存在。
  • 使用 iptables service,每个单独更改意味着清除全部旧有的规则和从 /etc/sysconfig/iptables里读取全部新的规则,然而使用 firewalld 却不会再建立任何新的规则;仅仅运行规则中的不一样之处。所以,firewalld 能够在运行时间内,改变设置而不丢失现行链接。

9.经常使用命令

firewalld的基本使用

启动: systemctl start firewalld
关闭: systemctl stop firewalld
查看状态: systemctl status firewalld
开机禁用 : systemctl disable firewalld
开机启用 : systemctl enable firewalld

(2) 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

(3) 配置firewalld-cmd

#《实例一》防火墙查询
firewall-cmd --version    //查看版本
firewall-cmd --help  // 查看帮助
firewall-cmd --state // 显示状态
firewall-cmd --get-services //获取支持服务列表(firewalld内置服务支持)
firewall-cmd --zone=public --list-ports  //查看全部打开的端口 
firewall-cmd --list-forward-ports  //查看转发的端口
fierewall-cmd –reload       //从新加载防火墙策略
firewall-cmd --get-active-zones  //查看区域信息
firewall-cmd --list-all-zones  //列出所有启用的区域的特性
firewall-cmd --list-services  //显示防火墙当前服务
firewall-cmd --get-zone-of-interface=eth0  //查看指定接口所属区域
firewall-cmd --panic-on   //拒绝全部包
firewall-cmd --panic-offfir  //取消拒绝状态
firewall-cmd --query-panic  //查看是否拒绝
*# 《实例二》 运行时区域策略设置示例(注:如下示例不加zone的为默认区域public)
firewall-cmd --add-service=ssh      //容许 ssh 服务经过
firewall-cmd --remove-service=ssh       //禁止 ssh 服务经过
firewall-cmd --add-service=samba --timeout=600      //临时容许 samba 服务经过 600 秒
firewall-cmd --add-service=http --zone=work     //容许http服务经过work区域
firewall-cmd --zone=work --add-service=http     //从work区域打开http服务
firewall-cmd --zone=internal --add-port=443/tcp     //打开 443/tcp 端口在内部区域(internal)
firewall-cmd --zone=internal --remove-port=443/tcp      //关闭443/tcp 端口在内部区域(internal)
firewall-cmd --add-interface=eth0       //打开网卡eth0
firewall-cmd --remove-interface=eth0        //关闭网卡eth0
 #《 实例三》 永久区域策略设置示例(注:如下示例不加zone的为默认区域public;永久设置均需从新加载防火墙策略或重启系统)
firewall-cmd --permanent --add-service=ftp      //永久容许 ftp 服务经过
firewall-cmd --permanent --remove-service=ftp       //永久禁止 ftp 服务经过
firewall-cmd --permanent --add-service=http --zone=external     //永久容许http服务经过external区域
firewall-cmd --permanent --add-service=http --zone=external     //永久容许http服务经过external区域
firewall-cmd --permanent --zone=internal --add-port=111/tcp     //打开 111/tcp 端口在内部区域(internal)
firewall-cmd --permanent --zone=internal --remove-port=111/tcp      //关闭 111/tcp 端口在内部区域(internal)
firewall-cmd --permanent --add-interface=eth0      //永久打开网卡eth0
firewall-cmd --permanent --remove-interface=eth0        //永久关闭网卡eth0
firewall-cmd --permanent --zone=public --add-port=8080-8083/tcp  //添加多个端口
firewall-cmd --permanent --zone=public --remove-port=81/tcp //删除某个端口
firewall-cmd --permanent --remove-rich-rule="rule family="ipv4" source address="192.168.1.51" accept" //删除某个IP
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.0.0/16" accept" //
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="9200" accept"  //针对某个ip段访问
firewall-cmd --reload   //添加操做后别忘了执行重载才会生效

欢迎各位关注我的公号“没有故事的陈师傅”
Linux防火墙firewalld安全设置

相关文章
相关标签/搜索