如何配置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-savefirewall-cmd --list-all备份当前配置,建立变更日志制度。


label :
  • Linux防火墙
  • iptables配置
  • firewalld管理
  • 莱卡云