HCRM博客

如何在CentOS系统中正确设置iptables防火墙?

在Linux服务器运维工作中,防火墙配置是保障系统安全的重要环节,CentOS系统内置的iptables作为传统防火墙工具,至今仍是许多管理员维护网络安全的首选方案,本文将从实际应用角度出发,详细解析iptables的核心配置方法。

一、理解iptables运行机制

如何在CentOS系统中正确设置iptables防火墙?-图1

iptables通过规则链(Chain)对网络流量进行控制,包含三个默认链:

- INPUT链:处理进入本机的数据包

- OUTPUT链:处理本机发出的数据包

- FORWARD链:处理经过本机路由的数据包

每个链由若干规则(Rule)组成,规则按从上到下的顺序执行,当数据包匹配到某条规则时,将执行对应动作(ACCEPT/DROP/REJECT),未匹配规则的数据包将执行链的默认策略。

二、基础命令操作

如何在CentOS系统中正确设置iptables防火墙?-图2

1、查看当前规则:

  • iptables -L -n --line-numbers

-v参数可显示流量统计,--line-numbers显示规则编号

2、清除现有规则(新配置前建议先清理):

  • iptables -F
  • iptables -X
  • iptables -Z

3、设置默认策略(慎用DROP):

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

三、实战配置案例

以搭建Web服务器为例,建议按以下顺序配置:

如何在CentOS系统中正确设置iptables防火墙?-图3

1、放行本地回环接口:

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

2、允许已建立连接的数据包:

  • iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

3、开放SSH端口(建议修改默认22端口):

  • iptables -A INPUT -p tcp --dport 22022 -j ACCEPT

4、配置Web服务端口:

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

5、防护常见攻击:

  • 防SYN洪水攻击
  • iptables -A INPUT -p tcp --syn -m limit --limit 1/s -j ACCEPT
  • 限制ICMP请求
  • iptables -A INPUT -p icmp --icmp-type 8 -m limit --limit 1/s -j ACCEPT
  • 阻止非法MAC地址
  • iptables -A INPUT -m mac --mac-source 00:0C:29:XX:XX:XX -j DROP

四、规则持久化配置

CentOS 7+版本需额外操作保存配置:

1、安装必要工具:

  • yum install iptables-services -y

2、保存当前规则:

  • service iptables save

3、设置开机自启:

  • systemctl enable iptables
  • systemctl start iptables

五、调试与优化技巧

1、规则排序原则:

- 匹配频率高的规则靠前

- 特殊例外规则优先于通用规则

- 相同协议规则集中放置

2、查看规则命中计数:

  • iptables -L -v -n

3、临时插入规则(插入到第5条规则前):

  • iptables -I INPUT 5 -p tcp --dport 3306 -j ACCEPT

4、删除指定编号规则:

  • iptables -D INPUT 3

六、常见配置误区

1、未设置会话保持规则导致FTP等协议异常

2、OUTPUT链默认DROP策略影响系统更新

3、忽略IPv6协议栈的防火墙配置

4、未及时清理无效规则导致性能下降

5、错误配置端口转发影响服务可用性

对于新接触iptables的管理员,建议先在测试环境验证规则有效性,定期使用iptables-save > firewall.rules备份配置,可通过iptables-restore < firewall.rules快速恢复,在云服务器环境中,需注意安全组规则与本地防火墙的协同工作,避免规则冲突造成服务不可用。

随着Linux内核的发展,nftables已逐步成为iptables的替代方案,但对于仍需维护传统系统的工程师,掌握iptables的精准配置仍是必备技能,建议每次规则变更后,通过telnetnc命令进行端口可用性测试,并通过dmesg查看内核日志,确保防火墙按预期工作。(作者从业十年服务器运维经验,曾为金融行业构建过百万级并发防火墙体系)

本站部分图片及内容来源网络,版权归原作者所有,转载目的为传递知识,不代表本站立场。若侵权或违规联系Email:zjx77377423@163.com 核实后第一时间删除。 转载请注明出处:https://blog.huochengrm.cn/pc/31778.html

分享:
扫描分享到社交APP
上一篇
下一篇