售前咨询400-838-0503

如何在Linux云服务器上配置iptables?

技术文档 2025-05-20 07:54

Linux云服务器安全防护指南:iptables配置全解析

一、iptables防火墙基础认知

作为Linux系统最经典的防火墙工具,iptables通过表(Tables)、链(Chains)、规则(Rules)三级结构实现网络流量控制。云服务器环境下,合理配置iptables可有效防范SSH暴力破解、DDoS攻击等常见安全威胁。

核心组件:
  • filter表:默认表,负责数据包过滤
  • nat表:网络地址转换
  • mangle表:特殊数据包修改
  • INPUT链:处理入站流量
  • OUTPUT链:处理出站流量

二、云服务器配置实操

1. 基础安全配置

# 清空现有规则
iptables -F
iptables -X

# 设置默认策略(拒绝所有)
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

# 允许本地回环
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

2. 开放必要端口(以SSH为例)

# 允许已建立的连接
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# 开放SSH端口(建议修改默认22端口)
iptables -A INPUT -p tcp --dport 22022 -j ACCEPT

# Web服务端口示例
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
云平台特殊注意: 阿里云/腾讯云等平台需同时配置安全组规则,二者为叠加关系

三、高级防护策略

1. 防CC攻击配置

# 限制单个IP连接数
iptables -I INPUT -p tcp --dport 80 -m connlimit --connlimit-above 50 -j DROP

# 防SYN洪水攻击
iptables -A INPUT -p tcp --syn -m limit --limit 1/s --limit-burst 3 -j ACCEPT

2. 日志监控规则

# 记录异常访问
iptables -A INPUT -p tcp --dport 22 -m recent --name ssh_attack --set
iptables -A INPUT -p tcp --dport 22 -m recent --name ssh_attack --update --seconds 60 --hitcount 3 -j LOG --log-prefix "SSH Attack: "

四、规则持久化方案

云服务器重启后iptables规则会丢失,推荐以下保存方式:

Ubuntu/Debian系统:

apt install iptables-persistent
netfilter-persistent save

CentOS/RHEL系统:

service iptables save
chkconfig iptables on

建议将最终规则保存为/etc/iptables.rules备份文件

常见问题解答

Q:配置后无法远程连接怎么办?

A:通过云平台控制台使用VNC连接,检查规则是否误拦截了SSH流量,建议先设置默认策略为ACCEPT调试

Q:如何查看生效的规则?

A:使用iptables -L -n -v命令,-v参数可显示流量统计

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

提交工单