售前咨询400-838-0503

Linux服务器如何配置iptables?

发布:2025-04-25 06:00

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

在Linux服务器安全管理中,iptables作为最经典的防火墙工具,至今仍被广泛使用。本文将详细介绍iptables的工作原理、基础语法和实战配置方法,帮助您构建安全的服务器防护体系。

一、iptables基础概念

iptables是Linux内核集成的包过滤系统,通过表(table)、链(chain)和规则(rule)三个层级来管理网络流量:

  • 表(table):包括filter(默认)、nat、mangle等
  • 链(chain):INPUT(入站)、OUTPUT(出站)、FORWARD(转发)
  • 规则(rule):具体的过滤条件

二、iptables基本语法

iptables [-t 表名] 命令选项 [链名] [规则条件] [-j 目标动作]

常用命令选项:

选项说明
-A在链尾追加规则
-I在指定位置插入规则
-D删除规则
-L列出规则
-F清空规则
-P设置链默认策略

三、实战配置步骤

1. 查看当前规则

iptables -L -n -v

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. 允许已建立的连接

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

5. 开放SSH端口(示例为22)

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

6. 开放Web服务端口

iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT

7. 限制ICMP(ping)

iptables -A INPUT -p icmp --icmp-type 8 -m limit --limit 1/s -j ACCEPT

四、规则持久化保存

配置完成后,需要保存规则以防重启失效:

Ubuntu/Debian

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

CentOS/RHEL

service iptables save
或
iptables-save > /etc/sysconfig/iptables

五、高级配置技巧

1. 防止DDoS攻击

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

2. 端口转发

iptables -t nat -A PREROUTING -p tcp --dport 8080 -j REDIRECT --to-port 80

3. IP黑名单

iptables -A INPUT -s 192.168.1.100 -j DROP

4. 限制连接数

iptables -A INPUT -p tcp --dport 80 -m connlimit --connlimit-above 20 -j REJECT

六、常见问题排查

  • 使用iptables -L -n -v查看规则是否生效
  • 检查默认策略是否过于严格
  • 确认保存了iptables规则
  • 查看系统日志/var/log/messages/var/log/syslog

通过以上配置,您已经为Linux服务器建立了一个基本的防火墙防护体系。建议定期审查iptables规则,根据实际业务需求进行调整,在安全性和可用性之间找到最佳平衡点。

温馨提示:生产环境中修改iptables前,建议先通过at命令设置定时恢复,或在本地终端保持一个活动会话,以防配置错误导致服务器无法访问。

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

提交工单