firewalld防火墙说明

firewalld新增了“zone区域”概念,把预设好的区域防火墙规则集合,点击一下就能切换上百条策略,提高防火墙策略应用效率,如一台笔记本电脑每天都要在办公室、咖啡厅、家里使用,按常理最安全的应该是家里的内网,其次是办公室,最后是咖啡厅,如果需要在办公室内允许文件共享服务的请求流量,回到家要允许所有服务,而在咖啡厅则是除了上网外不允许任何其他流量,以前只能频繁进行手动设置,现在把预设好的区域防火墙规则集合,点击一下就能切换上百条策略。常见zone区域名称及应用如下(默认为public):

区域 默认规则策略
trusted 允许所有的数据包
home 拒绝流入的数据包,除非与输出流量数据包相关或者是ssh、mdns、ipp-client、samba-client与dhcpv6-client服务则允许
internal 等同于home区域
work 拒绝流入的数据包,除非与输出流量数据包相关或是ssh、ipp-client、dhcpv6-client服务则允许
punlic 拒绝流入的数据包,除非与输出流量数据包相关或是ssh、dhcpv6-client服务则允许
external 拒绝流入的数据包,除非与输出流量数据包相关或ssh服务则允许
dmz 拒绝流入的数据包,除非与输出流量数据包相关或ssh服务则允许
block 拒绝流入的数据包,除非与输出流量数据包相关
drop 拒绝流入的数据包,除非与输出流量数据包相关

注意!!!

跟iptables防火墙不一样,firewalld防火墙需要先开启systemctl start firewalld.service策略才能生效,才能写入规则,而且也是重启后会失效,想要永久生效在防火墙策略中加入--permanent参数,但是这个要重启后才能永久生效,不重启使永久生效可以执行firewalld-cmd --reload让永久生效策略当前立即生效。而iptables防火墙不用开启,写入的iptables防火墙策略会立即生效,但是重启后策略会失效,如果想要永久生效,执行service iptables save

firewalld的默认规则都是拒绝,而iptables默认规则是允许,即firewalld需要在每个服务器上设置了才能放行

查看防火墙状态

firewall-cmd --state   #查看防火墙状态
或
systemctl status firewalld #查看防火墙状态

停止firewall

systemctl stop firewalld.servcie   #停止firewall

开启firewall

systemctl start firewalld.service   #开启firewall

开机启动防火墙

systemctl enable firewalld   #开机启动防火墙

禁止firewall开机启动

systemctl disable firewalld.service  #禁止firewall开机启动

终端管理工具

firewall-cmd命令是firewalld动态防火墙管理器服务的命令行终端

firewalld常用参数记不住也没关系,可以使用firewalld帮助命令查看即firewall-cmd --help

防火墙就是firewall-cmd 参数(即下图所示的参数)=值

防火墙就是firewall-cmd --permanent  参数(即下图所示的参数)=值

参数 作用
--get-default-zone 查看默认区域名称
--set-default-zone=<区域名称> 设置默认的区域、永久生效
--get-zones 显示可用的区域
--get-services 显示预先定义的服务
--get-active-zones 显示当前正在使用的区域与网卡名称
--add-source= 将来源于此IP或子网流量导向指定区域
--add-service=ssh 将来源此服务的流量导向指定的区域如ssh
--remove-source= 不再将此IP或子网流量导向某个指定区域
--add-interface=<网卡名称> 将来自于该网卡的所有流量都导向某个指定区域
--change-interface=<网卡名称> 将某个网卡与区域做关联
--list-all 显示当前区域的网卡配置参数、资源、端口及服务信息等
--list-all-zones 显示所有区域的网卡配置参数、资源、端口及服务信息等
--add-service=<服务名> 设置默认区域允许该服务的流量
--add-port=<端口号/协议> 允许默认区域允许该端口的流量
--remove-service=<服务名> 设置默认区域不再允许该服务的流量
--remove-port=<端口号/协议> 设置默认区域不再允许该端口的流量
--reload 让"永久生效"的配置规则立即生效,覆盖当前的

firewalld服务对防火墙策略的配置默认是当前生效模式(RunTime),配置信息会随着计算机重启而失效,如想让配置策略一直存在就要使用永久生效模式(Permanent),在防火墙策略中加入--permanent参数就可以代表针对于永久生效模式的命令了。但即使添加了这个参数,也需要重启后才能生效,如果想不重启又立即生效需要在防火墙策略中添加--reload参数,覆盖当前的,不过要注意,是在写完防火墙规则后,在后面追加firewalld-cmd --reload才能让刚写的防火墙策略立即生效。

防火墙规则示例:

firewall-cmd --get-default-zone   #查看firewalld服务当前所使用的zone区域
firewall-cmd  --get-zone-of-interface=eno16777728   #查询eno16777728网卡在firewalld服务中的区域
firewall-cmd  --permanent --zone=external --change-interface=eno16777728  #将来自网卡eno16777728的流量导入到区域为external,并永久生效firewall-cmd --get-zone-of-interface=eno16777728 --permanent  #查看网卡eno16777728的永久生效的区域
firewall-cmd --set-default-zone=public  #把firewalld防火墙服务的当前默认区域设置为publicfirewall-cmd  --get-default-zone        #查看fairewalld当前默认的区域是那个区域
启动/关闭firewalld防火墙服务的应急状况模式,阻断一切网络连接(当远程控制服务器时慎用)firewall-cmd  --panic-on     #开启防火墙服务的应急状况模式,阻止一切网络连接firewall-cmd  --panic-off    #关闭防火墙服务的应急状况模式,恢复一切网络连接                            
firewall-cmd --zone=public --query-service=ssh   #查询public的区域是否允许ssh服务的请求流量firewall-cmd --zone=public  --query-service=https  #查询public的区域是否允许https服务的请求流量
firewall-cmd --permanent --zone=public --add-service=ssh  #防火墙public区域永久允许ssh的请求流量,即对外开放ssh服务firewall-cmd  --reload   #让刚写的防火墙策略立即生效
firewall-cmd --permanent --zone=public --remove-service=http   #配置防火墙public区域永久拒绝http的请求流量,即不对外开放https服务firewall-cmd --reload                                          #让当前策略不用重启立即生效
firewall-cmd --zone=public --add-port=8080-8081/tcp  #配置防火墙public区域放行8080-8081的请求流量即端口对外开放,仅限当前(因为没有添加--permanent永久生效参数)firewall-cmd --zone=public --list-port              #产看防火墙public区域放行的端口有那些

流量转发命令格式:

firewall-cmd --permanent --zone=public --add-forward-port=port=<源端口号>:proto=<协议>:toport=<目的端口号>:toaddr=<目标地址、本机地址>
firewall-cmd --permanent --zone=public --add-forward-port=port=888:proto=tcp:toport=22:toaddr=192.168.2.1  #防火墙public区域,访问本机888端口的请求流量转发到22端口号,目标IP地址为1192.168.2.1firewall-cmd --reload   #让永久生效策略不用重启当前立即生效ssh -p 888 192.168.2.1  #在客户机使用ssh命令尝试访问192.168.2.1主机的888端口,查看是否转发到了22端口,是否登录成功

关闭端口访问:

要先确保需要关闭的端口已经关闭。如果已开放则关闭端口。public区域开放的端口,是所有IP都可以进行访问的

firewall-cmd --zone=public --list-ports   #查询开放的端口有那些

关闭端口,如果端口本来就没有开放则不用关闭

firewall-cmd --zone=public --remove-port=<端口号>/tcp或udp --permanent #在public区域关闭该端口号,即不对外开放该端口号firewall-cmd --reload     #使得永久生效的防火墙策略立即生效firewall-cmd --zone=public --list-ports   #查看对外开放的端口,是否还包含该不对外开放端口

开放IP访问端口和拒绝IP访问访问服务:

firewall-cmd permanent --add-rich-rule="rule family="ipv4" source address="源IP" port-protocol="tcp或udp" port="端口" accept"   #配置允许某源IP可以访问本机某端口firewall-cmd --reload  #使得永久生效的防火墙策略立即生效firewall-cmd --zone=public --list-rich-rules   #查看已设置的rich-rule的防火墙规则
firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="192.168.2.0/24" service name="ssh"  reject"   #在防火墙public区域中,拒绝所有来自于192.168.2.0/24网段的用户访问本机的ssh服务(端口22)firewall-cmd --reload   #让永久生效的策略不用重启当前立即生效ssh -p 22 192.168.2.1     #在客户机使用ssh命令尝试访问192.168.2.1主机的22端口,应该是不能访问的

其他防火墙命令:

firewall-cmd --list-all   #查看防火墙清单firewall-cmd --zone=public --add-port=端口/tcp或udp --permanent  #对外开放某端口firewall-cmd --reload     #使得永久生效的防火墙策略立即生效firewall-cmd --zone=public --query-port=端口/tcp或udp  #查看某端口防火墙策略是否生效firewall-cmd --zone=public --list-ports   #查看public区域开放的端口,即对外开放的端口
firewall-cmd --zone=public --remove-port=端口/tcp或udp --permanent   #在public区域取消某端口对外开放,即取消某端口对外开放firewall-cmd --reload  #使得永久生效的防火墙策略立即生效

批量开放或限制端口:

firewall-cmd --zone=public --add-port=开始端口-结束端口/tcp或udp --permanent  #对外开放某范围的端口firewall-cmd --reload  #使得永久生效的防火墙策略立即生效
firewall-cmd --zone=public --remove-port=开始端口-结束端口/tcp或udp --permanent   #不对外开放某范围的端口firewall-cmd --reload   #使得永久生效的策略立即生效

开放或限制IP:

firewall-cmd --permanent --add-rich-rule="rule-family="ipv4" source address="192.168.0.0"     port protocol="tcp或udp" port="端口" accept"  #开放对来源为192.168.0.0的IP地址访问本机某端口firewall-cmd --reload   #使得永久生效的防火墙策略立即生效firewall-cmd --zone=public --list-rich-rules  #查看已设置的rich-rules防火墙策略
firewall-cmd --permanent  --add-rich-rule="rule family="ipv4" source address="192.168.0.0" port protocol="tcp或udp" port="9001"  reject"   #拒绝来源为192.168.0.0的IP地址访问本机某端口firewall-cmd --reload    #使得永久生效的防火墙策略立即生效firewall-cmd --zone=public --list-rich-rules   #查看rich-rule防火墙策略是否生效
firewall-cmd --permanent --remove-rich-rule="rule family="ipv4" source address="192.168.0.0" port protocol="tcp或udp" port="端口" accept"   #移除(删除这条策略)开放对来源为192.168.0.0的IP地址访问本机某端口firewall-cmd --reload   #使得永久生效的防火墙策略立即生效

附防其他火墙常用命令

命令 说明
systemctl start firewalld.service 启动防火墙
systemctl satus firewalld.service 查看防火墙状态
systemctl  disable firewalld.service 禁止开机启动防火墙
systemctl enable firewalld.service 开机启动防火墙
systemctl stop  firewalld.service 关闭防火墙
systemctl is-enbale firewalld.service 查看防火墙是否开机启动
systemctl list-unit-files|grep enabled 查看已启动的服务列表
systemctl --failed 查看启动失败的服务列表
firewall-cmd --version 查看防火墙版本
firewall-cmd --state 显示防火墙状态
firewall-cmd --get-service 获取防火墙所支持的服务
firewall-cmd --zone=public --list-service 查看防火墙public区域,允许访问的服务有那些
firewall-cmd --zone=public --list-ports 查看防火墙public区域,允许访问的端口有那些
firewall-cmd --reload 更新防火墙规则,使得永久生效策略不用重启当前立即生效,覆盖当前的
firewall-cmd  --get-active-zones 查看防火墙当前活跃的区域
firewall-cmd --get-default-zone 查看防火墙当前工作的默认的区域是那个
firewall-cmd --get-zone-of-interface=eth100 查看防火墙指定接口eth100所属的区域
firewall-cmd --panic -on 拒绝所有包,需要远程连接服务器ssh的慎用
firewall-cmd --panic-off 取消拒绝所有包
firewall-cmd --query-panic 查看是否拒绝所有包

firewall-cmd --zone=public --add-service=https --permanent

firewall-cmd --reload

在防火墙public区域配置永久允许https请求流量,并应用不用重启当前立即生效

firewall-cmd --zone=public --remove-service=https --permanent

firewall-cmd --reload

在防火墙public区域配置永久拒绝https请求流量,并应用不用重启当前立即生效
firewall-cmd --zone=public --query-service=http --permanent 查看防火墙public区域是否永久允许http请求流量

firewall-cmd --zone=public --add-port=80/tcp --permanent

firewall-cmd --reload

在防火墙public区域配置永久允许80端口tcp请求流量,并应用不用重启当前立即生效

firewall-cmd --zone=public --add-port=8080-8085/tcp --permanent

firewall-cmd --reload

在防火墙public区域配置永久允许8080-8085端口tcp请求流量,并应用不用重启当前立即生效
firewall-cmd --zone=public --query-port=80/tcp --permanent 查看80端口是否开启

firewall-cmd --zone=public --remove-port=80/tcp --permanent

firewall-cmd --reload

防火墙public区域永久关闭80端口,并应用不用重启当前立即生效

firewalld防火墙总结相关推荐

  1. 第8章 Iptables与Firewalld防火墙

    本章分别使用iptables.firewall-cmd.firewall-config和TCP Wrappers等防火墙策略配置服务 iptables服务把用于处理或过滤流量的策略条目称之为规则,多条 ...

  2. 理论+实操: linux中firewalld防火墙基础讲解(转载)

    前言 firewalld概述.firewalld 中的d代表服务 firewalld 和 iptables 的关系 firewalld 网络区域 firewalld 防火墙的配置方法 firewall ...

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

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

  4. centos7 防火墙_Linux系统安全Centos 7的Firewalld防火墙基础

    一.Linux防火墙的基础 Linux的防火墙体系主要工作在网络层,针对TCP/IP数据包实时过滤和限制,属于典型的包过滤防火墙(或称为网络层防火墙).Linux系统的防火墙体系基于内核共存:fire ...

  5. Firewalld,iptables概述(netfilter和Firewalld,iptables三者之间的关系,四表五链,Firewalld防火墙的配置方发,SNAT,DNAT了解)

    文章目录 Firewalld,iptables概述 Firewalld了解 iptables了解 Firewalld和iptables的关系 netfilter Firewalld.iptables ...

  6. 防火墙简介(二)——firewalld防火墙

    防火墙简介(二)--firewalld防火墙 一.firewalld防火墙简介 二.firewalld 与 iptables 的区别 三.firewalld 区域的概念 1.firewalld防火墙9 ...

  7. Linux基础(iptables与firewalld防火墙)

    iptables 在早期的Linux系统中,默认使用的是iptables防火墙管理服务来配置防火墙.尽管新型的fierwalld防火墙管理服务已经被投入使用多年,但是大量的企业在生产环境中依然出于各种 ...

  8. firewalld防火墙配置

    firewalld是自CentOS 7以来带有一个动态的.可定制而无需重新启动防火墙守护程序或服务.firewall-cmd就是iptables/nftable的前端.在CentOS 8中,nftab ...

  9. 配置聚合连接 和 配置firewalld防火墙

    1 案例1:启用SELinux保护 1.1 问题 本例要求为虚拟机 server0.desktop0 配置SELinux: 确保 SELinux 处于强制启用模式 在每次重新开机后,此设置必须仍然有效 ...

  10. firewalld防火墙配置、测试服务、高级配置与IP伪装、端口转发

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 Firewalld防火墙 防火墙基础 一.防火墙配置 二.使用防火墙安装http服务测试分别测试内网.外网.dmz 三.firewal ...

最新文章

  1. 11旋转编码器原理_科普小知识:八分钟了解电机编码器!
  2. Oracle中的常用的数据类型
  3. WSDM Cup 2020 引用意图识别赛道冠军解决方案(附答辩视频、PPT和代码)
  4. python的线程组怎么写_Python学习——Python线程
  5. es6 --- Thunkify源码分析
  6. centos7安装oracle12c 二
  7. Java InputStream转换为String
  8. 关于PPPOE拨号分配给用户32位掩码,且IP与网关相同的问题
  9. Kinect 数据录制与回放
  10. modelsim se 10.5安装教程
  11. Web应用程序设计(一)——基础开发环境搭建
  12. vs code 关闭右下角弹窗方法
  13. LintCode168.吹气球
  14. Linux 网络协议栈收消息过程-Ring Buffer
  15. Python学习实验报告(1)
  16. ERP来龙与去脉和应用案例。
  17. 10bit色深灰度图彩色图加载显示
  18. (适合小白)利用百度AI开放平台实现人脸检测,对比和搜索。
  19. 一分钟学会看k线图_一分钟学会看k线图(12种阳线阴线图解)
  20. Android系统(手机平板)根目录详解

热门文章

  1. 线性代数几何意义大杂烩
  2. PS打开RAW图并查看像素点灰度值大小
  3. 图像测量技术读书笔记
  4. Java大佬是怎样炼成的3-4
  5. 旗点商学院第八期区块链改革(链改)总裁班即将扬帆起航!
  6. springboot神奇桔乡旅游信息系统毕业设计-附源码191750
  7. JS 即时刷新验证码图片代码
  8. 逻辑函数的代数化简法
  9. CAD杀毒V2.6 正式版
  10. 好马遇到“回头草” 面子与饭碗哪个更重要?