Linux 防火墙 firewalld 常用命令

news/2024/10/11 13:24:25/

1 防火墙 - firewalld

1.1 开启防火墙

# 临时性开启,服务器重启后会恢复为原来的状态
systemctl start firewalld
# 永久性开启(即开机启动),重启服务器后生效
systemctl enable firewalld

1.2 关闭防火墙

# 临时性关闭,服务器重启后会恢复为原来的状态
systemctl stop firewalld
# 永久性关闭,重启服务器后生效
systemctl disable firewalld

1.3 重启防火墙

systemctl restart firewalld

1.4 查看防火墙状态

# 使用 systemctl 命令检查 firewalld 服务状态
systemctl status firewalld
# 使用 firewall-cmd 命令查看 firewalld 的状态
firewall-cmd --state

1.5 重载防火墙配置

# 重载防火墙配置,在不影响网络连接的情况下更新防火墙规则
firewall-cmd --reload

请添加图片描述

请添加图片描述

2 区域 - zone

2.1 查看所有可用的区域

firewall-cmd --get-zones

2.2 查看当前激活的区域

firewall-cmd --get-active-zones

2.3 查看指定区域的详细信息

firewall-cmd --zone=public --list-all# 注:如果指定区域为默认区域,可以省略 --zone 参数
firewall-cmd --list-all

2.4 查看默认区域

firewall-cmd --get-default-zone

2.5 设置默认区域

firewall-cmd --set-default-zone=public

2.6 添加区域

firewall-cmd --permanent --new-zone=myzone

2.7 删除区域

firewall-cmd --permanent --delete-zone=myzone

2.8 分配网络接口到指定区域

firewall-cmd --zone=public --change-interface=eth0

请添加图片描述

3 端口 - port

3.1 查看已开放的端口

firewall-cmd --list-ports# 注:未显式指定所属区域则使用默认区域 public,即上述命令相当于
firewall-cmd --zone=public --list-ports

3.2 添加指定开放端口

firewall-cmd --permanent --add-port=3306/tcp
# 开放指定端口范围
firewall-cmd --permanent --add-port=9000-9008/tcp# 注:未显式指定所属区域则使用默认区域 public,即上述命令相当于
firewall-cmd --zone=public --permanent --add-port=3306/tcp
firewall-cmd --zone=public --permanent --add-port=9000-9008/tcp

3.3 移除指定开放端口

firewall-cmd --permanent --remove-port=3306/tcp
# 移除指定端口范围
firewall-cmd --permanent --remove-port=9000-9008/tcp# 注:未显式指定所属区域则使用默认区域 public,即上述命令相当于
firewall-cmd --zone=public --permanent --remove-port=3306/tcp
firewall-cmd --zone=public --permanent --remove-port=9000-9008/tcp

3.4 查询指定开放端口

# yes 表示开启,no 表示未开启
firewall-cmd --query-port=3306/tcp# 注:未显式指定所属区域则使用默认区域 public,即上述命令相当于
firewall-cmd --zone=public --query-port=3306/tcp

请添加图片描述

4 服务 - service

4.1 查看已启用的服务

firewall-cmd --list-services# 注:未显式指定所属区域则使用默认区域 public,即上述命令相当于
firewall-cmd --zone=public --list-services

4.2 查看所有可用的服务

firewall-cmd --get-services

4.3 查看指定防火墙规则

firewall-cmd --info-service=ssh

4.4 添加指定服务

firewall-cmd --permanent --add-service=http# 注:未显式指定所属区域则使用默认区域 public,即上述命令相当于
firewall-cmd --zone=public --permanent --add-service=http

4.5 移除指定服务

firewall-cmd --permanent --remove-service=http# 注:未显式指定所属区域则使用默认区域 public,即上述命令相当于
firewall-cmd --zone=public --permanent --remove-service=http

请添加图片描述

5 富规则 - rich-rule

5.1 查看已设置的富规则

firewall-cmd --list-rich-rules# 注:未显式指定所属区域则使用默认区域 public,即上述命令相当于
firewall-cmd --zone=public --list-rich-rules

5.2 添加规则

# 添加富规则
# family="ipv4":规则的 IP 协议版本为 IPv4
# source address="192.168.198.200":规则适用于源地址为 192.168.198.200 的流量
# port protocol="tcp" port="3306":规则适用于 TCP 协议的 3306 端口
# accept:允许规则匹配的流量通过
# reject:拒绝规则匹配的流量通过# 允许来自 192.168.198.200 地址的 IPv4 TCP 3306 端口的流量通过防火墙,即允许 192.168.198.200 访问 3306 端口
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.198.200" port protocol="tcp" port="3306" accept"
# 拒绝来自 192.168.198.200 地址的 IPv4 TCP 3306 端口的流量通过防火墙,即拒绝 192.168.198.200 访问 3306 端口
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.198.200" port protocol="tcp" port="3306" reject"# 注:未显式指定所属区域则使用默认区域 public,即上述命令相当于
firewall-cmd --zone=public --permanent --add-rich-rule="rule family="ipv4" source address="192.168.198.200" port protocol="tcp" port="3306" accept"
firewall-cmd --zone=public --permanent --add-rich-rule="rule family="ipv4" source address="192.168.198.200" port protocol="tcp" port="3306" reject"

5.3 移除规则

firewall-cmd --permanent --remove-rich-rule="rule family="ipv4" source address="192.168.198.200" port protocol="tcp" port="3306" accept"# 注:未显式指定所属区域则使用默认区域 public,即上述命令相当于
firewall-cmd --zone=public --permanent --remove-rich-rule="rule family="ipv4" source address="192.168.198.200" port protocol="tcp" port="3306" accept"

请添加图片描述

6 注意事项

  • --permanent参数会将修改的防火墙配置永久性保存到防火墙配置文件中;修改防火墙配置时如果没有使用该参数则会在系统重启时丢失修改的配置。

http://www.ppmy.cn/news/1464021.html

相关文章

什么是“SQL注入攻击”?如何预防和应对?

一、SQL注入攻击的概念 SQL注入攻击是一种针对数据库驱动的应用程序的攻击技术,其中攻击者通过在应用程序的输入字段中插入或“注入”恶意的SQL代码,试图非法访问、操作或破坏后端数据库。当应用程序不正确地处理用户输入,并将其直接拼接到SQ…

本地图形客户端查看git提交历史 使用 TortoiseGit

要在本地查看提交记录和修改历史,可以使用 TortoiseGit 和 Git-SCM。这两个工具都提供了强大的功能来管理和查看 Git 仓库中的提交记录和历史修改。 使用 TortoiseGit 查看提交记录和修改历史 查看提交记录(Log): 右键点击项目文…

Adobe Animate AN v24.0.2 安装教程 (动画特效设计及合成工具)

Adobe系列软件安装目录 一、Adobe Photoshop PS 25.6.0 安装教程 (最流行的图像设计软件) 二、Adobe Media Encoder ME v24.3.0 安装教程 (视频和音频编码渲染工具) 三、Adobe Premiere Pro v24.3.0 安装教程 (领先的视频编辑软件) 四、Adobe After Effects AE v24.3.0 安装…

linux大文件切割

在一些小众的场景下出现的大文件无法一次性传输 当然我遇到了 &#xff0c;work中6G镜像文件无法一次性刻盘到4.7G大小的盘 split split -b 3G 源大文件 目标文件 #安静等待会生成目标文件名a、b、c......-b <大小>&#xff1a;指定每个输出文件的大小&#xff0c;单位为…

easyswoole3.5 redis使用

安装redis指定版本 composer require easyswoole/redis:^1.3 redis配置&#xff0c;dev.php <?phpuse EasySwoole\Log\LoggerInterface;return [SERVER_NAME > "EasySwoole",MAIN_SERVER > [LISTEN_ADDRESS > 0.0.0.0,PORT > 9503,SERVER_TYPE &g…

面试-软件工程与设计模式相关,Spring简介

面试-软件工程与设计模式相关&#xff0c;Spring简介 1.编程思想1.1 面向过程编程1.2 面向对象编程1.2.1 面向对象编程三大特征 1.3 面向切面编程1.3.1 原理1.3.2 大白话&#xff1f;1.3.3 名词解释1.3.4 实现 2. 耦合与内聚2.1 耦合性2.2 内聚性 3. 设计模式3.1 设计模型七大原…

c语言指针加法

在C语言中&#xff0c;指针加法涉及到指针运算&#xff0c;其中加法的结果取决于指向的数据类型的大小。下面逐一解释这三个表达式&#xff1a; (void *)p 1; 在C标准中&#xff0c;对void*指针进行算术运算是未定义的&#xff0c;void*是一种特殊的指针类型&#xff0c;代表“…

防御恶意爬虫攻击

数据抓取爬虫 数据抓取爬虫是攻击者使用自动化脚本或工具在移动应用程序中抓取敏感数据的一种方式。这些爬虫可以定向抓取用户信息、产品列表、评论和评级等数据。攻击者可能会将这些数据用于非法目的&#xff0c;例如进行身份盗窃、诈骗活动或者卖给其他恶意方。 对于移动应用…