售前咨询400-838-0503

Linux云服务器如何配置防火墙(iptables/firewalld)?

发布:2025-04-02 00:31

Linux云服务器防火墙配置全攻略:iptables与firewalld双方案详解

一、为什么需要配置云服务器防火墙?

在云环境中,安全组虽然提供了一层网络防护,但系统级防火墙仍然是不可或缺的第二道防线。根据2023年云安全报告显示,未配置防火墙的云服务器遭受攻击的概率比配置完善的服务器高出47%。

云服务器安全统计数据

二、iptables:经典防火墙配置方案

2.1 基础命令速查表

功能命令示例
查看规则iptables -L -n -v
允许SSHiptables -A INPUT -p tcp --dport 22 -j ACCEPT
拒绝特定IPiptables -A INPUT -s 192.168.1.100 -j DROP

2.2 实战配置脚本

#!/bin/bash
# 清空现有规则
iptables -F
iptables -X

# 设置默认策略
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

# 允许本地回环
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

# 允许已建立的连接
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# 开放必要端口
iptables -A INPUT -p tcp --dport 22 -j ACCEPT  # SSH
iptables -A INPUT -p tcp --dport 80 -j ACCEPT  # HTTP
iptables -A INPUT -p tcp --dport 443 -j ACCEPT # HTTPS

# 保存规则(根据系统选择)
service iptables save  # CentOS 6
iptables-save > /etc/iptables.rules  # 其他系统

三、firewalld:现代化防火墙管理工具

为什么选择firewalld?

  • 动态更新规则,无需重启服务
  • 区域(zone)概念更贴近实际网络环境
  • 与NetworkManager深度整合
  • 支持D-Bus接口,便于程序控制

3.1 常用操作命令

  1. 启动服务:systemctl start firewalld
  2. 查看活跃区域:firewall-cmd --get-active-zones
  3. 永久开放HTTP服务:firewall-cmd --permanent --add-service=http
  4. 临时允许端口:firewall-cmd --add-port=8080/tcp
  5. 重载配置:firewall-cmd --reload

3.2 典型应用场景配置

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

# 创建新的zone
firewall-cmd --permanent --new-zone=webserver

# 设置默认规则
firewall-cmd --permanent --zone=webserver --set-target=DROP

# 添加服务
firewall-cmd --permanent --zone=webserver --add-service=http
firewall-cmd --permanent --zone=webserver --add-service=https

# 限制SSH访问源IP
firewall-cmd --permanent --zone=webserver --add-rich-rule='rule family="ipv4" source address="203.0.113.15/32" service name="ssh" accept'

# 应用配置
firewall-cmd --reload
firewall-cmd --set-default-zone=webserver

四、高级配置技巧与故障排查

专家建议

  • 定期备份防火墙规则:iptables-save > /backup/iptables-$(date +%F).rules
  • 使用conntrack工具监控网络连接状态
  • 通过journalctl -u firewalld查看firewalld日志
  • 测试规则前先用--dry-run参数模拟

常见问题解决方案

问题1:规则不生效?
检查:1) 是否有更具体的规则覆盖 2) 规则顺序是否正确 3) 是否忘记了--permanent参数

问题2:误锁自己?
云平台控制台通常提供"救援模式",也可以通过VNC连接修复。

五、总结与最佳实践

无论选择iptables还是firewalld,都要遵循最小权限原则。建议:

  1. 生产环境每次修改前先在测试环境验证
  2. 使用版本控制管理防火墙规则变更
  3. 结合fail2ban等工具增强防护
  4. 定期审计防火墙规则有效性

根据Linux基金会的最新调查,正确配置的防火墙可以阻止85%的自动化攻击尝试。花时间完善防火墙配置,是保障服务器安全最经济有效的方式。

按文档操作后还是不行,把机器编号、出问题的时间点和现象截图一起提工单,能少来回一轮。

提交工单