如何在CentOS上配置iptables防火墙?
CentOS系统中iptables防火墙配置详解
在服务器管理中,防火墙配置是保障系统安全的核心环节,作为CentOS系统内置的经典防火墙工具,iptables凭借其灵活的规则配置和高效的流量控制能力,成为运维人员必须掌握的关键技能,本文将从实战角度出发,系统讲解iptables的配置方法与注意事项。
一、环境准备与基础检查
1、服务状态确认
执行命令查看当前防火墙状态:
systemctl status iptables
若系统已启用firewalld服务,需先停止并禁用:
systemctl stop firewalld systemctl mask firewalld
2、安装iptables组件
CentOS 7+系统默认未安装iptables服务,需手动安装:
yum install iptables-services -y systemctl enable iptables
二、核心概念速览
规则链(Chains)
INPUT
(处理入站流量)、OUTPUT
(处理出站流量)、FORWARD
(转发流量)构成主要控制链条。
规则表(Tables)
filter
表用于包过滤,nat
表处理网络地址转换,mangle
表用于特殊数据包修改。
动作类型
ACCEPT
(允许通过)、DROP
(静默丢弃)、REJECT
(拒绝并返回响应)。
三、实战配置流程
1、基础规则设置
清空现有规则并设置默认策略:
iptables -F iptables -X iptables -Z iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT ACCEPT
2、必要通信放行
允许本地回环通信:
iptables -A INPUT -i lo -j ACCEPT
开放SSH端口(示例为2222端口):
iptables -A INPUT -p tcp --dport 2222 -j ACCEPT
3、Web服务配置
同时放行HTTP/HTTPS流量:
iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp --dport 443 -j ACCEPT
4、ICMP协议控制
允许Ping检测但限制频率:
iptables -A INPUT -p icmp --icmp-type 8 -m limit --limit 1/s -j ACCEPT
四、高阶防护策略
1、防暴力破解机制
对SSH端口实施连接频率限制:
iptables -A INPUT -p tcp --dport 2222 -m state --state NEW -m recent --set iptables -A INPUT -p tcp --dport 2222 -m state --state NEW -m recent --update --seconds 300 --hitcount 5 -j DROP
2、IP黑白名单管理
禁止特定IP段访问:
iptables -A INPUT -s 192.168.2.0/24 -j DROP
放行可信IP访问数据库:
iptables -A INPUT -s 10.10.1.100 -p tcp --dport 3306 -j ACCEPT
3、防DDOS攻击配置
限制新建连接数:
iptables -A INPUT -p tcp --syn -m limit --limit 10/s --limit-burst 30 -j ACCEPT
五、配置持久化与维护
1、规则保存
将内存中的规则写入配置文件:
service iptables save
或手动备份:
iptables-save > /etc/sysconfig/iptables.bak
2、服务管理
重启服务使配置生效:
systemctl restart iptables
六、故障排查技巧
1、规则验证
使用nmap
工具扫描端口:
nmap -sS -p 22,80,443 服务器IP
2、日志追踪
查看防火墙日志定位异常:
tail -f /var/log/messages | grep iptables
3、应急恢复
当误操作导致SSH断开时,可通过控制台执行:
iptables -P INPUT ACCEPT && iptables -F
特别提醒:IPv6防护配置
若服务器启用IPv6协议,需同步配置ip6tables:
ip6tables -A INPUT -p tcp --dport 80 -j ACCEPT service ip6tables save systemctl restart ip6tables
合理的防火墙配置应当遵循最小权限原则,建议每次修改后通过非关键端口进行测试,对于生产环境,可采用配置版本化管理,定期使用iptables-restore
命令进行规则审计,技术更新迭代下,虽然部分场景逐渐转向nftables,但掌握iptables仍是Linux系统管理的重要基石。(个人观点,仅供参考)
推荐阅读
-
如何在Vultr CentOS服务器上配置SSR?
-
如何在CentOS中安装和解决libvorbis依赖问题?
-
How to Change Directory Permissions in CentOS Using chmod Command?
-
Linux中如何配置和使用防火墙
-
Linux中如何配置和使用 Iptables 防火墙
-
windows防火墙自己启动怎么办
-
CentOS 6、7下配置exim发邮件服务器
1.配置epel源(exim包位于EPEL软件源中)CentOS7# cat ˃ /etc/yum.repos.d/epel.r...
-
CentOS7防火墙及端口相关命令是什么
CentOS7防火墙及端口相关命令是什么CentOS7防火墙及端口...
-
防火墙更换时数据该如何处理
防火墙更换时数据该如何处理本篇文章给大家分享的是有关防火墙更换时数...
-
Windows11防火墙怎么关闭?(win11关闭防火墙的技巧)
Windows11防火墙怎么关闭?,win11关闭防火墙的技巧Windows11防火墙怎么关闭?安装win11以后,想要先把防火墙...