售前咨询400-838-0503

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

发布:2025-04-02 05:35

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

为什么需要配置IPtables?

在云服务器环境中,IPtables是Linux系统自带的防火墙工具,它就像服务器的"门卫",决定哪些网络流量可以进出。合理配置IPtables可以:

  • 防止未经授权的访问
  • 阻止DDoS攻击
  • 保护敏感数据
  • 满足合规性要求

基础概念解析

在开始配置前,先了解几个关键术语:

链(Chains)
INPUT(入站流量)、OUTPUT(出站流量)、FORWARD(转发流量)
规则(Rules)
定义如何处理特定流量的条件
目标(Targets)
ACCEPT(接受)、DROP(丢弃)、REJECT(拒绝并通知)

实战配置步骤

步骤1:查看当前规则

iptables -L -n -v

这个命令会显示所有现有规则,-n参数可以避免DNS反向解析,加快显示速度。

步骤2:设置默认策略

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

先设置最严格的默认策略,然后根据需要开放特定端口。

步骤3:允许本地回环

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

步骤4:开放SSH端口

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

建议配合--source参数限制可访问SSH的IP范围。

步骤5:保存规则

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

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

高级配置技巧

防止端口扫描

iptables -N ANTISCAN
iptables -A ANTISCAN -m recent --name ATTACK --set -j DROP
iptables -A INPUT -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
iptables -A INPUT -p tcp --syn -j ANTISCAN

限制连接速率

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

这可以有效防止CC攻击。

常见问题解答

Q: 规则配置错误导致锁死服务器怎么办?

A: 云服务商通常提供控制台访问功能,可以通过控制台重置防火墙规则。

Q: 如何查看被阻止的连接?

A: 使用命令: iptables -L -n -v 查看计数器,或者添加日志规则: iptables -A INPUT -j LOG --log-prefix "IPTABLES-DROPPED: "

总结

IPtables配置是云服务器安全的基础。建议遵循"最小权限原则",即只开放必要的端口和服务。定期审查防火墙规则,并使用iptables-persistent等工具确保重启后规则不丢失。对于生产环境,可以考虑结合fail2ban等工具增强防护。

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

提交工单