CentOS 7 配置 iptables 防火墙

CentOS 7 配置 iptables 防火墙

1. 服务介绍

iptables 是 Linux 内核 Netfilter 的规则管理工具,用于控制入站、出站和转发流量,也可实现源地址转换、端口映射等 NAT 功能。常见场景包括限制服务器开放端口、允许指定管理网段访问 SSH、为内网主机提供互联网出口。

2. 准备运行环境

• 操作系统:CentOS 7.x。

• 操作账号:root 或具备 sudo 权限的管理员账号。

• 软件源可用,服务器网络配置正常。

• 操作前确认当前 SSH 来源地址和管理端口。

• 远程修改时保留控制台或回滚窗口,避免错误规则导致失联。

3. 相关知识

• filter 表负责过滤;常用链为 INPUT、OUTPUT、FORWARD。

• nat 表负责地址转换;常用链为 PREROUTING、POSTROUTING。

• 规则按顺序匹配,命中后通常停止继续匹配。

• 应先允许回环、已建立连接和管理流量,再设置默认拒绝策略。

• CentOS 7 默认使用 firewalld;切换到 iptables-services 前应避免两个防火墙服务同时管理规则。

• 临时命令重启后会丢失;需要使用 iptables-services 保存并恢复规则。

4. 实验步骤

4.1 安装并启用 iptables-services

bash 复制代码
yum -y install iptables-services
systemctl disable --now firewalld
systemctl enable --now iptables

备份当前规则:

bash 复制代码
iptables-save > /root/iptables.backup

4.2 配置基础入站策略

清理实验环境旧规则,并先允许必要流量:

bash 复制代码
iptables -F
iptables -X
iptables -t nat -F
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p icmp -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -s 10.1.100.0/24 -j ACCEPT
iptables -A INPUT -p tcp -m multiport --dports 80,443 -j ACCEPT

设置默认策略:

bash 复制代码
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

如果 SSH 管理来源不属于 10.1.100.0/24,必须先把示例网段改成实际管理网段。

4.3 配置内网 SNAT

假设内网为 10.1.100.0/24,公网出口接口为 ens33:

bash 复制代码
sysctl -w net.ipv4.ip_forward=1
echo 'net.ipv4.ip_forward = 1' > /etc/sysctl.d/99-ip-forward.conf
iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -s 10.1.100.0/24 -o ens33 -j ACCEPT
iptables -t nat -A POSTROUTING -s 10.1.100.0/24 -o ens33 -j MASQUERADE

4.4 保存规则

bash 复制代码
service iptables save
iptables-save > /etc/sysconfig/iptables
systemctl restart iptables

5. 验证结果

服务端检查服务和规则:

bash 复制代码
systemctl status iptables --no-pager
iptables -S
iptables -L -n -v --line-numbers
iptables -t nat -L -n -v --line-numbers
sysctl net.ipv4.ip_forward
ss -lntp
journalctl -u iptables -n 50 --no-pager

客户端验证:

bash 复制代码
ping -c 4 <服务器IP>
ssh root@<服务器IP>
curl -I http://<服务器IP>
curl -I https://<服务器IP>

内网客户端访问外网后,在网关查看计数器:

bash 复制代码
iptables -t nat -L POSTROUTING -n -v --line-numbers
iptables -L FORWARD -n -v --line-numbers

允许的 SSH、HTTP、HTTPS 流量可访问,未放行端口被拒绝,NAT 和 FORWARD 规则计数增加,说明 iptables 配置生效。

6. 回滚方法

远程操作出现异常时,通过控制台恢复备份:

bash 复制代码
iptables-restore < /root/iptables.backup
service iptables save
相关推荐
盟接之桥10 小时前
当大模型遇见线束制造:不是通用AI,而是行业AI
大数据·网络·人工智能·安全·制造
李子红了时11 小时前
EncFS MP中文版汉化下载(免费文件加密工具)
windows·安全
xiaohaiAIgeo12 小时前
【2026年】通风柜合规检查清单:安全评估打分项解析
人工智能·安全·科普知识
沫璃染墨14 小时前
《Linux工程实践篇(一):认识设计模式——从日志系统看策略模式》
linux·c++·安全·设计模式·策略模式
小蒋观天下14 小时前
端侧大模型在安防摄像头部署实操(上)|行业痛点、架构选型、落地思路解析
大数据·人工智能·安全·计算机视觉·ai大模型
林伽一14 小时前
能力趋同、账单分化,技术选型正在从榜单转向负载|2026年10月06日
人工智能·科技·安全·ai
HackTwoHub16 小时前
Clown SRC skill第二代2.x最新版企业安全研究 Skill|证据优先的 SRC 与白盒审计工作流正式更新
网络·安全·web安全·网络安全·系统安全·密码学·安全架构
白帽攻防录17 小时前
SRC 挖洞:Certighost AD CS 域控制器伪造深度复盘,CVE-2026-54121 一个普通域用户怎么拿走整个企业域
网络·安全·web安全·网络安全·域安全
张彦峰ZYF19 小时前
从智能体到生产系统:企业 Agent 规模化的治理、记忆、知识与安全
人工智能·安全·架构·operatingsystem·agent platform·agentcontrol·agent mesh
xianghongtao011619 小时前
麦肯锡2026技术趋势06_网络安全与可信系统_研究解读
人工智能·安全·web安全