文档首页> 常见问题> Linux云服务器如何配置防火墙(如iptables或firewalld)?

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

发布时间:2025-04-15 19:56       

Linux云服务器防火墙配置全攻略:iptables与firewalld实战指南

在云计算时代,Linux服务器的安全性显得尤为重要。本文将深入探讨两种主流防火墙工具——iptables和firewalld的配置方法,帮助您构建坚固的服务器防线。

一、为什么需要配置防火墙?

云服务器直接暴露在公网环境中,面临着各种网络威胁。据统计,未配置防火墙的服务器平均每天会遭受数百次恶意扫描。合理配置防火墙可以:

  • 阻止未经授权的访问
  • 防范DDoS攻击
  • 保护敏感数据
  • 监控网络流量

二、iptables防火墙配置详解

1. 基础命令结构

iptables -A 链名 -p 协议 --dport 端口 -j 动作

2. 常用配置示例

允许SSH连接(22端口)

iptables -A INPUT -p tcp --dport 22 -j ACCEPT

允许HTTP/HTTPS流量

iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT

设置默认策略

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

3. 规则持久化保存

# Ubuntu/Debian
iptables-save > /etc/iptables.rules
# CentOS/RHEL
service iptables save

三、firewalld防火墙配置指南

1. 基本概念

  • zone:网络区域定义
  • service:预定义的服务规则
  • port:直接端口控制

2. 常用操作命令

查看当前zone

firewall-cmd --get-default-zone

开放HTTP服务

firewall-cmd --permanent --add-service=http
firewall-cmd --reload

开放自定义端口

firewall-cmd --permanent --add-port=8080/tcp
firewall-cmd --reload

3. 高级配置技巧

# 限制IP访问
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="22" accept'

# 设置默认zone
firewall-cmd --set-default-zone=public

四、iptables与firewalld对比

特性 iptables firewalld
配置方式 直接规则操作 抽象服务概念
动态更新 需要重启服务 支持热更新
学习曲线 较高 相对简单
适用场景 需要精细控制 常规服务器管理

五、安全最佳实践

  1. 遵循最小权限原则,只开放必要的端口
  2. 定期审查防火墙规则
  3. 结合fail2ban等工具增强防护
  4. 测试规则变更前先设置临时规则
  5. 记录重要操作日志

无论是选择传统的iptables还是现代的firewalld,合理的防火墙配置都是保护Linux云服务器的关键防线。建议根据实际需求和个人熟悉程度选择合适的工具,并定期更新安全策略以应对不断变化的网络威胁环境。