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

常见问题

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

2025-04-07 22:55


Linux云服务器

                                            

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

在云服务器环境中,配置正确的防火墙规则是保障系统安全的第一道防线。本文将详细介绍如何在Linux云服务器上使用IPtables设置防火墙规则,包含基础概念、常用命令和实战配置示例。

一、IPtables基础概念

IPtables是Linux内核集成的包过滤系统,通过设置不同的规则表(table)和链(chain)来控制网络流量:

  • filter表:默认表,用于包过滤
  • nat表:网络地址转换
  • mangle表:修改包内容

注意:新版本Linux推荐使用nftables替代IPtables,但大多数云服务器仍沿用IPtables

二、基础命令语法

# 查看现有规则
iptables -L -n -v

# 清空现有规则
iptables -F

# 保存规则(CentOS)
service iptables save

# 保存规则(Ubuntu)
iptables-save > /etc/iptables.rules

三、实战配置步骤

1. 基础防护配置

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

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

# 默认策略设置为DROP
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

2. 开放必要端口

# SSH端口(示例端口为2222)
iptables -A INPUT -p tcp --dport 2222 -j ACCEPT

# Web服务
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT

# ICMP(ping)
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT

3. 防止常见攻击

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

# 防止端口扫描
iptables -N ANTISCAN
iptables -A ANTISCAN -m limit --limit 1/h -j RETURN
iptables -A ANTISCAN -j DROP
iptables -A INPUT -j ANTISCAN

四、云服务器特殊配置

在云环境中需要考虑额外因素:

  1. 云平台安全组与IPtables规则协同工作
  2. 可能需要单独配置VPC内的流量规则
  3. 注意云厂商的metadata服务访问

五、规则持久化

配置完成后,必须确保规则重启后仍然有效:

CentOS/RHEL

service iptables save
chkconfig iptables on

Ubuntu/Debian

apt-get install iptables-persistent
netfilter-persistent save

六、常见问题排查

问题现象 解决方案
规则不生效 检查规则顺序,后添加的规则优先
无法连接服务器 确认OUTPUT链是否允许响应
规则丢失 检查持久化配置是否正确

正确配置IPtables规则可以有效提升云服务器安全性。建议初次配置时保持SSH连接,避免被锁在服务器外。复杂环境可考虑结合fail2ban等工具增强防护。


label :
  • Linux防火墙
  • IPtables配置
  • 云服务器安全
  • 莱卡云