CentOS7+、Ubuntu等Linux使用firewalld打开关闭防火墙与端口

校睿宝培训机构ERP,学员课时管理软件
实验预约管理软件,实验室管理软件,大学、高校实验预约平台
网站日志分析软件,网站访问日志在线分析
UpHub订单管理软件,进销存管理系统,SCRM管理系统

Firewalld 提供了一个动态管理的防火墙,支持定义网络连接或接口的信任级别的网络/防火墙区域。它支持 IPv4、IPv6 防火墙设置、以太网网桥和 IP 集。运行时和永久配置选项是分开的。它还为服务或应用程序提供了一个接口,用于直接添加防火墙规则。

使用 firewalld 的好处
可以在运行时环境中立即进行更改。无需重新启动服务或守护程序。

借助 firewalld D-Bus 接口,服务、应用程序和用户可以轻松调整防火墙设置。该接口完整,用于防火墙配置工具 firewall-cmd、firewall-config 和 firewall-applet。

运行时和永久配置的分离使得在运行时进行疏散和测试成为可能。运行时配置仅在下次服务重新加载和重新启动或系统重新启动之前有效。然后将再次加载永久配置。在运行时环境中,可以将运行时用于仅在有限时间内处于活动状态的设置。如果运行时配置已用于评估,并且它是完整的并且可以工作,则可以将此配置保存到永久环境中。

firewalld的特点:
完整的 D-Bus API
IPv4、IPv6、网桥和 ipset 支持
IPv4 和 IPv6 NAT 支持
防火墙区域
预定义的区域、服务和 icmptype 列表
简单服务、端口、协议、源端口、伪装、端口转发、icmp 过滤器、丰富的规则、接口和源地址处理区域
包含端口、协议、源端口的简单服务定义、伪装、端口转发、ICMP过滤器、丰富的规则、区域中的接口和源地址处理
使用端口、协议、源端口、模块(netfilter 帮助程序)和目标地址处理的简单服务定义
丰富的语言,可在区域中实现更灵活、更复杂的规则
区域中的定时防火墙规则
拒绝数据包的简单日志
直接接口
锁定:将可能修改防火墙的应用程序列入白名单
自动加载 Linux 内核模块
与 Puppet 集成
用于联机和脱机配置的命令行客户端
使用 gtk3 的图形化配置工具
使用 Qt5 的小程序

 

主要适用操作系统:

CentOS7、CentOS7.5、CentOS8、CentOS9、CentOS Stream、Ubuntu等Linux系统中的firewalld防火墙。

 

一、如何启用、停用防火墙

启用firewalld:systemctl start firewalld   或 service firewalld start

停用firewalld:systemctl stop firewalld  或 service firewalld stop

开机启动或禁用:systemctl enable/disable firewalld 

 

二、firewalld配置命令firewall-cmd

帮助:firewall-cmd --help

状态:firewall-cmd --state

版本:firewall-cmd --version

重新载入:firewall-cmd --reload (注意内存中的配置将丢失)

查看当前的ZONE:

$ firewall-cmd --get-active-zones

查看网卡所在的ZONE:

$ firewall-cmd --get-zone-of-interface=em1

详细请参考:

https://firewalld.org/documentation/utilities/firewall-cmd.html

 

 

三、添加、删除、查询端口开放

开放端口:firewall-cmd --zone=public --add-port=443/tcp --permanent

注意--permanent表示保存到配置文件,不仅仅是内存中,否则只存在内存中,--reload后会丢失。

删除端口:firewall-cmd --zone=public --remove-port=443/tcp --permanent

查询端口:firewall-cmd --zone=public --query-port=443/tcp

 

常用:

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

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

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

 

四、富规则(richrule)

richrule可以用来定义一条复杂的规则,其在zone配置文件中的节点定义如下:

fireall-cmd --zone=public --add-rich-rule="[RULE]",其中rule规则定义如下:

rule
  [source]
  [destination]
  service|port|protocol|icmp-block|icmp-type|masquerade|forward-port|source-port
  [log|nflog]
  [audit]
  [accept|reject|drop|mark]

RichRule官方网址:

https://firewalld.org/documentation/man-pages/firewalld.richlanguage.html

 

举例:

firewall-cmd --permanent --add-rich-rule="rule family="ipv4"  source address="254.0.0.0/8" port port="22" protocol="tcp" drop"

该规则表示,禁止254.0.0.0/8网段的全部IP地址,连接到22端口。

firewall-cmd --list-rich-rules 列出全部已经添加的RichRule

firewall-cmd --remove-rich-rule="RULE" 删除richrule,注意RULE要和添加时一致,通过--list-rich-rules查看。

 

五、把内存配置永久保存

firewall-cmd --runtime-to-permanent

 

 

校睿宝培训机构ERP,学员课时管理软件
实验预约管理软件,实验室管理软件,大学、高校实验预约平台
网站日志分析软件,网站访问日志在线分析
UpHub订单管理软件,进销存管理系统,SCRM管理系统

上海哲涛网络科技有限公司版权所有 © 2005-2023       沪ICP备06058430号-1

沪公网安备 31011302000898号

点我咨询