news 2026/6/18 23:32:23

【Linux】centos 防火墙学习

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【Linux】centos 防火墙学习

一、防火墙基础概念

1. 两种防火墙管理方式

  • iptables: 直接管理netfilter内核模块的传统工具

  • firewalld: 动态管理防火墙的守护进程(CentOS 7/8默认)

2. 常用术语

  • zone: 网络区域(public, internal, trusted等)

  • service: 预定义的服务规则集合

  • port: 端口号

  • rich rule: 复杂规则

二、firewalld 基础操作

1. 服务管理

# 查看防火墙状态 sudo systemctl status firewalld # 启动防火墙 sudo systemctl start firewalld # 停止防火墙 sudo systemctl stop firewalld # 开机自启 sudo systemctl enable firewalld # 禁止开机自启 sudo systemctl disable firewalld

2. 基本命令

# 查看运行状态 sudo firewall-cmd --state # 重新加载配置(不中断现有连接) sudo firewall-cmd --reload # 完全重启(中断连接) sudo systemctl restart firewalld

三、区域(Zone)管理

1. 查看默认区域

# 查看默认区域 sudo firewall-cmd --get-default-zone # 查看所有区域 sudo firewall-cmd --get-zones # 查看活动的区域 sudo firewall-cmd --get-active-zones

2. 更改区域

# 更改默认区域 sudo firewall-cmd --set-default-zone=internal # 更改网卡区域 sudo firewall-cmd --zone=public --change-interface=eth0

四、规则管理

1. 开放/关闭端口

# 开放端口(临时) sudo firewall-cmd --add-port=80/tcp # 开放端口(永久) sudo firewall-cmd --add-port=80/tcp --permanent # 关闭端口 sudo firewall-cmd --remove-port=80/tcp --permanent # 查看开放的端口 sudo firewall-cmd --list-ports

2. 服务管理

# 允许服务(例:http) sudo firewall-cmd --add-service=http --permanent # 移除服务 sudo firewall-cmd --remove-service=http --permanent # 查看允许的服务 sudo firewall-cmd --list-services

3. 高级规则

# 允许IP段 sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" accept' # 端口转发 sudo firewall-cmd --permanent --add-forward-port=port=80:proto=tcp:toport=8080

五、iptables 基础(了解)

1. 基本命令结构

# 查看规则 sudo iptables -L -n -v # 清空规则 sudo iptables -F # 保存规则(CentOS 7) sudo service iptables save # 允许SSH sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT # 拒绝某个IP sudo iptables -A INPUT -s 192.168.1.100 -j DROP

六、实战案例

案例1:配置Web服务器防火墙

# 设置默认区域为public sudo firewall-cmd --set-default-zone=public # 开放服务 sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent --add-service=https # 开放额外端口 sudo firewall-cmd --permanent --add-port=3000/tcp # 重新加载 sudo firewall-cmd --reload # 验证配置 sudo firewall-cmd --list-all

案例2:限制访问

# 仅允许特定IP访问SSH sudo firewall-cmd --permanent --remove-service=ssh sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="22" accept' # 拒绝某个IP访问 sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="10.0.0.50" reject'

七、配置文件位置

firewalld配置

# 配置文件目录 /etc/firewalld/ # 主要配置文件 /etc/firewalld/firewalld.conf # 区域配置文件 /etc/firewalld/zones/ # 服务定义 /usr/lib/firewalld/services/

iptables配置

# 规则保存位置(CentOS 7) /etc/sysconfig/iptables

八、故障排查

常用命令

# 查看拒绝的日志 sudo journalctl -xe | grep -i firewall # 查看完整规则 sudo firewall-cmd --list-all --zone=public # 测试端口连通性 telnet 服务器IP 端口号 nc -zv 服务器IP 端口号


firewalld 与 iptables 详细对比

一、核心区别概述

特性iptablesfirewalld
诞生时间2001年2011年(CentOS 7引入)
管理方式静态配置动态管理
配置方式直接修改规则区域、服务抽象
配置存储一次性加载运行时+持久化分离
重新加载中断所有连接不中断现有连接
复杂性较低,直接较高,抽象层
默认状态CentOS 6及以前CentOS 7/8/9默认

二、架构和工作原理

iptables 架构

用户空间命令 (iptables) ↓ 内核空间 (netfilter框架) ↓ 规则链 (INPUT/OUTPUT/FORWARD) ↓ 规则表 (filter/nat/mangle/raw)

firewalld 架构

firewall-cmd/cli/GUI ↓ firewalld 守护进程 ↓ DBus 接口 ↓ iptables/nftables 后端 ↓ 内核空间 (netfilter)

三、将 iptables 规则转换为 firewalld

场景1:开放端口
# iptables方式 iptables -A INPUT -p tcp --dport 3306 -j ACCEPT # firewalld等价命令 firewall-cmd --add-port=3306/tcp --permanent
场景2:允许特定IP
# iptables方式 iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT # firewalld等价命令 firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" accept' --permanent
场景3:端口转发
# iptables方式 iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080 # firewalld等价命令 firewall-cmd --add-forward-port=port=80:proto=tcp:toport=8080 --permanent



版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/16 23:12:54

PasteMD部署案例:某高校实验室在无外网环境部署PasteMD用于论文笔记整理

PasteMD部署案例:某高校实验室在无外网环境部署PasteMD用于论文笔记整理 1. 为什么高校实验室需要一个离线的文本格式化工具 某高校人工智能实验室常年从事前沿算法研究,团队每周要处理大量会议记录、实验日志、论文草稿和代码片段。这些内容往往以零散…

作者头像 李华
网站建设 2026/6/12 16:36:34

REX-UniNLU实战教程:如何快速实现中文文本情感分析

REX-UniNLU实战教程:如何快速实现中文文本情感分析 1. 为什么你需要一个真正好用的情感分析工具 你有没有遇到过这样的情况: 运营团队每天要人工翻阅上千条评论,却只能粗略判断“好评”或“差评”,漏掉大量关键细节&#xff1b…

作者头像 李华
网站建设 2026/6/14 1:06:33

MTKClient内核级调试技术:深度剖析与高级应用指南

MTKClient内核级调试技术:深度剖析与高级应用指南 【免费下载链接】mtkclient MTK reverse engineering and flash tool 项目地址: https://gitcode.com/gh_mirrors/mt/mtkclient 价值定位:联发科设备调试的技术基石 MTKClient作为一款专注于联发…

作者头像 李华
网站建设 2026/6/10 9:44:14

5步掌握梦境描述:灵感画廊AI绘画保姆级教程

5步掌握梦境描述:灵感画廊AI绘画保姆级教程 你是否曾醒来时紧握一支无形的笔,想把昨夜浮光掠影的梦境钉在画布上,却只留下模糊的轮廓与叹息? 这不是创作瓶颈,而是工具尚未与你的直觉同频。 灵感画廊不提供参数滑块、不…

作者头像 李华
网站建设 2026/6/11 9:05:09

MusePublic动态光影教程:使用Lighting ControlNet增强明暗层次

MusePublic动态光影教程:使用Lighting ControlNet增强明暗层次 1. 为什么光影是艺术人像的灵魂? 你有没有试过这样:精心写好一段提示词——“优雅的亚洲女性,丝绸长裙,黄昏窗边,电影感布光”——可生成的…

作者头像 李华
网站建设 2026/6/13 21:49:37

SenseVoice Small效果对比:不同VAD阈值对会议语音切分精度影响分析

SenseVoice Small效果对比:不同VAD阈值对会议语音切分精度影响分析 1. SenseVoice Small模型简介:轻量但不妥协的语音识别能力 SenseVoice Small是阿里通义实验室推出的轻量级语音识别模型,专为边缘设备与实时场景优化。它不是简单压缩的大…

作者头像 李华