文档首页> 常见问题> 云服务器Linux系统如何配置防火墙?

云服务器Linux系统如何配置防火墙?

发布时间:2025-05-14 04:36       

云服务器Linux系统防火墙配置全攻略

在云计算时代,Linux服务器的安全性至关重要。本文将详细介绍如何在主流云服务器上配置Linux防火墙,包括iptables和firewalld两种主流方案,帮助您建立强大的安全防线。

一、防火墙基础概念

Linux防火墙本质上是一个网络流量过滤器,通过定义规则来决定哪些数据包允许通过,哪些需要阻止。现代Linux系统主要采用以下两种防火墙解决方案:

  • iptables:传统的Linux防火墙工具
  • firewalld:RHEL/CentOS 7+等系统默认的动态防火墙管理器

在开始配置前,请确保您已通过SSH连接到云服务器,并拥有root或sudo权限。

二、iptables防火墙配置

1. 检查iptables状态

sudo iptables -L -n

2. 基本规则设置

以下是一些常用规则示例:

# 允许所有本地回环(lo)接口的流量
sudo iptables -A INPUT -i lo -j ACCEPT

# 允许已建立的连接和相关的流量
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# 允许SSH连接(默认端口22)
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT

# 允许HTTP和HTTPS流量
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT

# 默认拒绝所有其他入站流量
sudo iptables -P INPUT DROP

3. 保存iptables规则

不同Linux发行版保存方式不同:

  • Debian/Ubuntusudo apt install iptables-persistent
  • RHEL/CentOSsudo service iptables save

三、firewalld防火墙配置

1. 检查firewalld状态

sudo systemctl status firewalld

2. 常用操作命令

# 启动firewalld
sudo systemctl start firewalld

# 设置开机自启
sudo systemctl enable firewalld

# 查看当前区域配置
sudo firewall-cmd --list-all

3. 添加服务规则

# 允许SSH
sudo firewall-cmd --permanent --add-service=ssh

# 允许HTTP/HTTPS
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https

# 重新加载配置
sudo firewall-cmd --reload

4. 端口管理

# 开放特定端口(如MySQL的3306端口)
sudo firewall-cmd --permanent --add-port=3306/tcp

# 移除端口
sudo firewall-cmd --permanent --remove-port=3306/tcp

四、云平台特殊配置

在阿里云、腾讯云等平台上,除了配置系统防火墙外,还需注意:

  • 安全组配置:云平台提供的虚拟防火墙
  • 弹性公网IP绑定:确保安全组规则应用到正确的IP
  • 多网卡配置:不同网卡可能需要不同的安全策略

建议先配置云平台安全组规则,再设置系统防火墙,形成双重防护。

五、防火墙管理最佳实践

  1. 采用最小权限原则,只开放必要的端口和服务
  2. 定期审计防火墙规则,清理不再使用的规则
  3. 使用fail2ban等工具防止暴力破解
  4. 重要变更前备份防火墙规则
  5. 测试环境验证后再应用到生产环境

通过合理配置Linux防火墙,您可以有效抵御大多数网络攻击,确保云服务器的安全稳定运行。