如何配置Linux云服务器的防火墙(iptables/firewalld)?
常见问题
如何配置Linux云服务器的防火墙(iptables/firewalld)?
2025-04-08 07:11
Linux云服务器
Linux云服务器防火墙配置全攻略:iptables与firewalld双解
在云计算时代,服务器安全配置成为每个运维人员的必修课。本文将深入解析Linux环境下两种主流防火墙工具——传统iptables与现代firewalld的配置方法,助您打造铜墙铁壁般的云服务器防护体系。
一、防火墙技术选型:新旧之争
对比项
iptables
firewalld
出现时间
Linux 2.4内核(2001年)
RHEL/CentOS 7(2014年)
配置方式
命令行直接规则
基于zone的抽象管理
动态更新
需要重启服务
支持运行时动态加载
适用场景
需要精细控制的老手
追求便捷管理的场景
二、iptables实战配置
1. 基础规则设置
# 清空现有规则
iptables -F
iptables -X
# 设置默认策略(推荐配置)
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
2. 开放必要端口
# 允许SSH连接(示例端口2222)
iptables -A INPUT -p tcp --dport 2222 -j ACCEPT
# 允许HTTP/HTTPS
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
# 允许ping检测
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
3. 防御常见攻击
# 防止SYN洪水攻击
iptables -N SYN_FLOOD
iptables -A SYN_FLOOD -p tcp --syn -m limit --limit 1/s -j RETURN
iptables -A SYN_FLOOD -j DROP
iptables -A INPUT -p tcp --syn -j SYN_FLOOD
三、firewalld现代管理
1. 区域(zone)管理
# 查看可用区域
firewall-cmd --get-zones
# 设置默认区域为dmz
firewall-cmd --set-default-zone=dmz
2. 服务与端口管理
# 永久开放https服务
firewall-cmd --permanent --add-service=https
# 临时开放自定义端口
firewall-cmd --add-port=8080/tcp
# 端口转发示例(将80转到8080)
firewall-cmd --add-forward-port=port=80:proto=tcp:toport=8080
3. 富规则(Rich Rules)应用
# 允许特定IP访问SSH
firewall-cmd --permanent --zone=public \
--add-rich-rule='rule family="ipv4" source address="192.168.1.100" service name="ssh" accept'
# 拒绝某个网段的ICMP请求
firewall-cmd --permanent --zone=public \
--add-rich-rule='rule family="ipv4" source address="10.0.0.0/24" protocol value="icmp" reject'
四、配置保存与故障排查
iptables配置持久化
# Ubuntu/Debian
apt install iptables-persistent
netfilter-persistent save
# CentOS/RHEL
service iptables save
firewalld重载与状态检查
# 重载配置不中断连接
firewall-cmd --reload
# 查看活动区域配置
firewall-cmd --list-all-zones
常见问题解决方案
- 规则不生效:检查是否冲突规则,规则顺序是否正确
- 连接被拒绝:确认协议(tcp/udp)和端口号是否匹配
- 服务异常:通过
systemctl status firewalld
查看服务状态
无论是选择经典的iptables还是现代的firewalld,理解其工作原理和掌握核心配置技巧都至关重要。建议新用户从firewalld入门,而需要精细控制的高级用户可深入研究iptables。记住,好的防火墙策略应该遵循最小权限原则,在安全与便利之间找到平衡点。
最佳实践提示:定期审计防火墙规则,使用iptables-save
或firewall-cmd --list-all
备份当前配置,建立变更日志制度。
Linux云服务器防火墙配置全攻略:iptables与firewalld双解
在云计算时代,服务器安全配置成为每个运维人员的必修课。本文将深入解析Linux环境下两种主流防火墙工具——传统iptables与现代firewalld的配置方法,助您打造铜墙铁壁般的云服务器防护体系。
一、防火墙技术选型:新旧之争
对比项 iptables firewalld 出现时间 Linux 2.4内核(2001年) RHEL/CentOS 7(2014年) 配置方式 命令行直接规则 基于zone的抽象管理 动态更新 需要重启服务 支持运行时动态加载 适用场景 需要精细控制的老手 追求便捷管理的场景 二、iptables实战配置
1. 基础规则设置
# 清空现有规则 iptables -F iptables -X # 设置默认策略(推荐配置) iptables -P INPUT DROP iptables -P OUTPUT ACCEPT iptables -P FORWARD DROP
2. 开放必要端口
# 允许SSH连接(示例端口2222) iptables -A INPUT -p tcp --dport 2222 -j ACCEPT # 允许HTTP/HTTPS iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp --dport 443 -j ACCEPT # 允许ping检测 iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
3. 防御常见攻击
# 防止SYN洪水攻击 iptables -N SYN_FLOOD iptables -A SYN_FLOOD -p tcp --syn -m limit --limit 1/s -j RETURN iptables -A SYN_FLOOD -j DROP iptables -A INPUT -p tcp --syn -j SYN_FLOOD
三、firewalld现代管理
1. 区域(zone)管理
# 查看可用区域 firewall-cmd --get-zones # 设置默认区域为dmz firewall-cmd --set-default-zone=dmz
2. 服务与端口管理
# 永久开放https服务 firewall-cmd --permanent --add-service=https # 临时开放自定义端口 firewall-cmd --add-port=8080/tcp # 端口转发示例(将80转到8080) firewall-cmd --add-forward-port=port=80:proto=tcp:toport=8080
3. 富规则(Rich Rules)应用
# 允许特定IP访问SSH firewall-cmd --permanent --zone=public \ --add-rich-rule='rule family="ipv4" source address="192.168.1.100" service name="ssh" accept' # 拒绝某个网段的ICMP请求 firewall-cmd --permanent --zone=public \ --add-rich-rule='rule family="ipv4" source address="10.0.0.0/24" protocol value="icmp" reject'
四、配置保存与故障排查
iptables配置持久化
# Ubuntu/Debian apt install iptables-persistent netfilter-persistent save # CentOS/RHEL service iptables save
firewalld重载与状态检查
# 重载配置不中断连接 firewall-cmd --reload # 查看活动区域配置 firewall-cmd --list-all-zones
常见问题解决方案
- 规则不生效:检查是否冲突规则,规则顺序是否正确
- 连接被拒绝:确认协议(tcp/udp)和端口号是否匹配
- 服务异常:通过
systemctl status firewalld
查看服务状态无论是选择经典的iptables还是现代的firewalld,理解其工作原理和掌握核心配置技巧都至关重要。建议新用户从firewalld入门,而需要精细控制的高级用户可深入研究iptables。记住,好的防火墙策略应该遵循最小权限原则,在安全与便利之间找到平衡点。
最佳实践提示:定期审计防火墙规则,使用
iptables-save
或firewall-cmd --list-all
备份当前配置,建立变更日志制度。
标签:
- Linux防火墙
- iptables配置
- firewalld管理
- 莱卡云