上一篇                     
               
			  Linux如何配置防火墙?
- Linux
- 2025-07-05
- 4413
 Linux系统访问防火墙设置通常需root权限,不同发行版使用不同工具:CentOS/RHEL用
 
 
firewall-cmd命令,Ubuntu常用
 ufw命令,或直接编辑
 iptables/nftables规则。
在Linux系统中,防火墙是保护系统安全的核心组件,不同发行版和版本可能使用不同的防火墙管理工具,以下是主流工具的详细访问和配置方法,操作前请确保拥有sudo权限。
主流防火墙工具及访问方法
iptables(传统工具,通用性强)
 
-  适用场景:所有Linux发行版(需手动安装)。 
-  访问方法: # 查看当前规则 sudo iptables -L -n -v # 临时允许端口(示例:允许80端口) sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT # 保存规则(依赖发行版) sudo apt-get install iptables-persistent # Ubuntu/Debian sudo netfilter-persistent save 
-  配置文件路径: /etc/iptables/rules.v4(IPv4规则)/etc/iptables/rules.v6(IPv6规则) 
firewalld(Red Hat/CentOS/Fedora默认)
 
-  核心概念:通过“区域”(zone)管理网络信任级别。 
-  访问方法: # 启动服务 sudo systemctl start firewalld sudo systemctl enable firewalld # 查看活动区域 sudo firewall-cmd --get-active-zones # 开放端口(示例:永久开放443端口) sudo firewall-cmd --permanent --add-port=443/tcp sudo firewall-cmd --reload # 重载配置 # 允许服务(示例:SSH) sudo firewall-cmd --permanent --add-service=ssh 
-  图形界面(可选): 
 安装firewall-config包,运行sudo firewall-config。 
ufw(Ubuntu/Debian简易工具)
 
-  特点:简化 iptables操作。
-  访问方法: # 启用防火墙 sudo ufw enable # 允许端口或服务 sudo ufw allow 22/tcp # 开放SSH端口 sudo ufw allow http # 或直接使用服务名 # 拒绝IP访问 sudo ufw deny from 192.168.1.100 # 查看状态 sudo ufw status verbose 
-  配置文件路径: /etc/ufw/user.rules(自定义规则)。
通用操作与注意事项
检查防火墙状态
- 所有工具通用: sudo systemctl status firewalld # 检查firewalld sudo ufw status # 检查ufw 
端口管理命令对比
| 操作 | iptables | firewalld | ufw | 
|---|---|---|---|
| 开放端口 | iptables -A INPUT -p tcp --dport 80 -j ACCEPT | firewall-cmd --permanent --add-port=80/tcp | ufw allow 80/tcp | 
| 关闭端口 | iptables -D INPUT -p tcp --dport 80 -j ACCEPT | firewall-cmd --permanent --remove-port=80/tcp | ufw deny 80/tcp | 
| 保存规则 | 需手动保存(见上文) | 自动保存,需 --reload生效 | 自动保存 | 
关键安全建议
- 最小化开放端口:仅允许必要服务(如SSH、HTTP/HTTPS)。
- 测试后再保存:
 使用iptables时,先通过命令临时修改,测试无误后再保存,避免锁死远程连接。
- 备份配置:
 修改前备份配置文件(如cp /etc/ufw/user.rules ~/ufw_backup)。
故障排查
-  端口未生效?  - 检查服务是否监听:ss -tuln | grep <端口号>。
- 确认规则已加载:sudo iptables -L或sudo firewall-cmd --list-all。
 
- 检查服务是否监听:
-  误锁自己解决方案: - 物理机:通过本地终端重启防火墙服务(如sudo systemctl restart firewalld)。
- 云服务器:使用云平台提供的“救援模式”或控制台恢复。
 
- 物理机:通过本地终端重启防火墙服务(如
工具选择指南
- 初学者:用ufw(Ubuntu/Debian)或firewalld图形界面。
- 高级用户/跨平台:学习iptables基础语法。
- 服务器环境:推荐firewalld(动态规则热更新)。
引用说明:
- Red Hat官方文档:Firewalld指南
- Ubuntu社区Wiki:UFW使用教程
- Netfilter(iptables)官网:https://netfilter.org/ 基于Linux内核5.4+及主流发行版(Ubuntu 22.04/CentOS 8)验证,操作前请查阅您的系统版本文档。
 
  
			