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

相关推荐
qianshang2332 小时前
SQL注入学习总结
网络·数据库·渗透
刘婉晴3 小时前
【kali渗透测试】暴力破解
网络安全·渗透测试
可可嘻嘻大老虎3 小时前
nginx无法访问后端服务问题
运维·nginx
感谢地心引力3 小时前
安卓、苹果手机无线投屏到Windows
android·windows·ios·智能手机·安卓·苹果·投屏
JiMoKuangXiangQu3 小时前
ARM64 进程虚拟地址空间布局
linux·arm64 虚拟地址布局
云小逸3 小时前
【网络通信】同一网段与不同网段的通信原理
网络·网络安全
阳光九叶草LXGZXJ4 小时前
达梦数据库-学习-47-DmDrs控制台命令(LSN、启停、装载)
linux·运维·数据库·sql·学习
无忧智库4 小时前
某市“十五五“地下综合管廊智能化运维管理平台建设全案解析:从数字孪生到信创适配的深度实践(WORD)
运维·智慧城市
春日见4 小时前
如何避免代码冲突,拉取分支
linux·人工智能·算法·机器学习·自动驾驶
珠海西格4 小时前
“主动预防” vs “事后补救”:分布式光伏防逆流技术的代际革命,西格电力给出标准答案
大数据·运维·服务器·分布式·云计算·能源