linux firewalld 命令详解

简介

firewalld 是一个在 Linux 中的防火墙管理工具,提供动态接口管理网络流量,它使用区域来定义网络连接的信任级别,并支持 IPv4 和 IPv6。

常用示例

启动防火墙

sudo systemctl start firewalld

停止防火墙

sudo systemctl stop firewalld

设置防火墙开机自启动

sudo systemctl enable firewalld

禁止防火墙开机自启动

sudo systemctl disable firewalld

检查防火墙的状态

sudo systemctl status firewalld

重新加载防火墙的配置

sudo firewall-cmd --reload

查看活动防火墙状态

sudo firewall-cmd --state

列出所有活动区域

sudo firewall-cmd --get-active-zones

查看指定区域的规则

sudo firewall-cmd --list-all --zone=public

列出所有区域

sudo firewall-cmd --get-zones

设置默认的区域

sudo firewall-cmd --set-default-zone=trusted

添加一个接口到区域

sudo firewall-cmd --zone=public --add-interface=eth0

从区域中移除一个接口

sudo firewall-cmd --zone=public --remove-interface=eth0

查看指定区域的接口

sudo firewall-cmd --get-zone-of-interface=eth0

列出所有支持的服务

sudo firewall-cmd --get-services

添加一个服务到区域

sudo firewall-cmd --zone=public --add-service=http

从区域中移除一个服务

sudo firewall-cmd --zone=public --remove-service=http

检查服务是否是启动的

sudo firewall-cmd --zone=public --query-service=http

使服务变更永久生效

sudo firewall-cmd --zone=public --add-service=http --permanent

临时打开一个端口

sudo firewall-cmd --zone=public --add-port=8080/tcp

临时关闭一个端口

sudo firewall-cmd --zone=public --remove-port=8080/tcp

使变更端口永久生效

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

列出在区域中打开的端口

sudo firewall-cmd --zone=public --list-ports

允许来自指定 IP 的流量
复制代码
sudo firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" 
source address="192.168.1.100" accept'
阻止来自指定 IP 的流量
复制代码
sudo firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" 
source address="192.168.1.100" drop'
记录并丢弃来自指定 IP 的流量
复制代码
sudo firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" 
source address="192.168.1.100" log prefix="Blocked: " level="info" drop'
使规则永久生效
复制代码
sudo firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" 
source address="192.168.1.100" accept' --permanent
启用伪装

sudo firewall-cmd --zone=public --add-masquerade

禁用伪装

sudo firewall-cmd --zone=public --remove-masquerade

在区域之间转发流量
复制代码
sudo firewall-cmd --zone=trusted --add-forward-port
=port=80:proto=tcp:toport=8080:toaddr=192.168.1.100
在脚本或恢复模式中使用 firewall-offline-cmd

firewall-offline-cmd --add-service=http

永久保存所有变更到磁盘

sudo firewall-cmd --runtime-to-permanent

相关推荐
爱喝水的鱼丶4 分钟前
SAP-ABAP: BAdI 开发规范与避坑指南:10 类典型错误与运维方案
运维·性能优化·sap·abap·增强·经验交流·开发交流
CDN3604 分钟前
CDN 回源负载均衡实战:解决多源站回源流量不均、源站单点故障,出海业务配置指南
运维·负载均衡
吴声子夜歌8 分钟前
编写Shell脚本——启动项目
linux·运维·shell
拦路雨g9 分钟前
docker_data.vhdx大文件瘦身
运维·docker·容器
闲云野鹤在人间18 分钟前
云计算入门|网络与存储云服务知识梳理
linux·运维·服务器·网络·centos·云计算·php
是jin奥18 分钟前
VMware 虚拟机突然断网:NetworkManager 全局网络被状态文件禁用的排查与恢复
网络
heqingchun1626 分钟前
Ubuntu 22.04 交叉编译 RK3568 MPP + FFmpeg 完整指南
linux·ubuntu·ffmpeg
霸道流氓气质28 分钟前
MyBatis 与 SQL 层面关键技术详解
windows·sql·mybatis
好评12432 分钟前
【Linux】五种IO模型与非阻塞IO
linux·服务器·nat
水母量化35 分钟前
自动化开盘卖出如何适应价格笼子规则
运维·自动化·区块链·量化交易