售前咨询400-838-0503

Linux云服务器如何配置IPtables规则?

发布:2025-05-25 01:01

Linux云服务器IPtables防火墙配置完全指南

在当今数字化时代,网络安全已成为每个系统管理员必须掌握的核心技能。IPtables作为Linux系统内置的防火墙工具,能够有效保护云服务器免受恶意攻击。本文将详细介绍如何从零开始配置IPtables规则,打造安全的Linux云服务器环境。

一、IPtables基础概念

IPtables是Linux内核集成的防火墙解决方案,通过定义规则链(Chain)来控制网络数据包的流动。主要包含三个默认链:

  • INPUT链:处理进入服务器的数据包
  • OUTPUT链:处理从服务器发出的数据包
  • FORWARD链:处理转发的数据包

每条规则都包含匹配条件和目标动作,匹配条件可以基于协议类型、端口号、IP地址等网络参数。

二、基础环境准备

在开始配置前,请确保:

  1. 以root用户或拥有sudo权限的用户登录服务器
  2. 确认系统已安装IPtables:sudo apt-get install iptables(Debian/Ubuntu)或sudo yum install iptables(CentOS/RHEL)
  3. 备份现有规则:sudo iptables-save > /etc/iptables.rules.backup

三、基础规则配置

1. 清空现有规则

sudo iptables -F
sudo iptables -X
sudo iptables -Z

2. 设置默认策略

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

3. 允许本地回环

sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A OUTPUT -o lo -j ACCEPT

4. 允许已建立的连接

sudo iptables -A INPUT -m conntrack --ctstate 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

数据库服务(以MySQL为例)

sudo iptables -A INPUT -p tcp --dport 3306 -j ACCEPT

注意:实际生产环境中,建议将数据库端口限制为特定IP访问。

五、高级防护配置

1. 防止DDOS攻击

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

2. 防止端口扫描

sudo iptables -N PORTSCAN
sudo iptables -A PORTSCAN -m limit --limit 1/h -j LOG --log-prefix "Portscan detected: "
sudo iptables -A PORTSCAN -j DROP
sudo iptables -A INPUT -p tcp --tcp-flags SYN,ACK,FIN,RST RST -j PORTSCAN

3. 限制ICMP协议

sudo iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT

六、规则持久化

配置完成后,需要保存规则使其在重启后依然有效:

Ubuntu/Debian系统

sudo iptables-save > /etc/iptables.rules
sudo apt-get install iptables-persistent
sudo netfilter-persistent save

CentOS/RHEL系统

sudo service iptables save
sudo chkconfig iptables on

七、常见问题排查

1. 查看当前规则

sudo iptables -L -n -v

2. 测试规则是否生效

可以使用telnetnmap工具从外部测试端口开放情况。

3. 规则误配置恢复

sudo iptables-restore < /etc/iptables.rules.backup

通过本文的详细指导,您应该已经掌握了Linux云服务器上IPtables防火墙的基本配置方法。正确的防火墙配置不仅能提高服务器安全性,还能有效防范各类网络攻击。建议定期检查并更新防火墙规则,以适应不断变化的网络威胁环境。

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

提交工单