售前咨询400-838-0503

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

技术文档 2025-06-16 06:01

Linux服务器防火墙配置终极指南:从iptables到firewalld

在当今互联网环境中,服务器安全是每个系统管理员最关心的问题之一。作为Linux服务器防护的第一道防线,防火墙的正确配置至关重要。本文将详细介绍Linux系统中最常用的两种防火墙解决方案:传统的iptables和现代的firewalld,帮助您构建坚不可摧的服务器安全防线。

一、理解Linux防火墙基础

Linux防火墙工作在系统的网络层,通过检查进出的数据包来执行安全策略。其核心功能包括:

  • 包过滤:基于源/目标IP、端口和协议类型进行过滤
  • 网络地址转换(NAT):隐藏内部网络结构
  • 状态检测:跟踪连接状态以提供更智能的过滤

二、传统iptables防火墙配置

iptables是Linux系统最经典的防火墙工具,虽然现在逐渐被firewalld取代,但仍是许多系统的默认选择。

1. 基本iptables命令

# 查看当前规则
sudo iptables -L -n -v

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

# 允许本地回环接口
sudo iptables -A INPUT -i lo -j ACCEPT

# 默认拒绝所有入站连接
sudo iptables -P INPUT DROP

2. 保存iptables规则

在大多数发行版中,iptables规则需要手动保存:

# Ubuntu/Debian
sudo apt install iptables-persistent
sudo netfilter-persistent save

# CentOS/RHEL
sudo service iptables save

三、现代firewalld防火墙配置

firewalld是RHEL/CentOS 7+和Fedora的默认防火墙管理工具,提供更高级的功能和更简单的管理界面。

1. 基本firewalld操作

# 查看防火墙状态
sudo firewall-cmd --state

# 启用防火墙
sudo systemctl start firewalld
sudo systemctl enable firewalld

# 查看所有可用区域
sudo firewall-cmd --get-zones

2. 常用规则配置

# 开放HTTP和HTTPS端口
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https

# 开放自定义端口(如8080)
sudo firewall-cmd --permanent --add-port=8080/tcp

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

四、高级防火墙策略

1. 限制连接速率防止DoS攻击

# iptables方式
sudo iptables -A INPUT -p tcp --dport 80 -m limit --limit 25/minute --limit-burst 100 -j ACCEPT

# firewalld方式
sudo firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" service name="http" limit value="25/m" accept'

2. 地理IP封锁

# 使用ipset配合iptables
sudo apt install ipset
sudo ipset create blocked_countries hash:net
sudo iptables -I INPUT -m set --match-set blocked_countries src -j DROP

# 添加特定国家IP段
wget -O- http://www.ipdeny.com/ipblocks/data/countries/cn.zone | xargs -n1 sudo ipset add blocked_countries

五、防火墙管理最佳实践

  1. 始终遵循最小权限原则,只开放必要的端口
  2. 定期审查和更新防火墙规则
  3. 使用区域概念(firewalld)或链(iptables)来组织规则
  4. 将关键规则放在防火墙配置文件的顶部
  5. 考虑使用fail2ban等工具增强防护

通过合理配置Linux防火墙,您可以显著提升服务器安全性,有效抵御网络攻击。无论是选择传统的iptables还是现代的firewalld,关键是要理解其工作原理并持续维护安全策略。

如本公告涉及你的产品,或有不清楚之处,可提交工单确认。

提交工单