温馨提示×

Centos如何替换默认防火墙

小樊
63
2026-08-19 14:40:02
栏目: 智能运维

在 CentOS 中替换默认防火墙(通常是 firewalld)为 iptables,可以按以下步骤操作。请根据你的 CentOS 版本选择对应方案。


一、CentOS 7 / 8(默认使用 firewalld)

1️⃣ 停止并禁用 firewalld

systemctl stop firewalld
systemctl disable firewalld

2️⃣ 安装 iptables 服务

yum install -y iptables-services

3️⃣ 启动并启用 iptables

systemctl start iptables
systemctl enable iptables

4️⃣ 配置 iptables 规则(示例)

iptables -F
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -j DROP

保存规则:

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

二、CentOS Stream 9 / RHEL 9(推荐 nftables)

⚠️ 注意:CentOS 9 已不再推荐使用 iptables,而是使用 nftables

查看当前防火墙后端

firewall-cmd --state
nft list ruleset

如果你想完全替换 firewalld

systemctl stop firewalld
systemctl disable firewalld

然后直接使用 nftables

systemctl enable nftables
systemctl start nftables

配置示例(nftables):

nft add table inet filter
nft add chain inet filter input { type filter hook input priority 0 \; }
nft add rule inet filter input tcp dport 22 accept

保存规则:

nft list ruleset > /etc/nftables.conf

三、是否推荐使用 iptables?

系统版本 推荐防火墙
CentOS 6 iptables
CentOS 7 firewalld / iptables
CentOS 8 firewalld
CentOS 9+ ✅ nftables

官方建议:新系统优先使用 firewalld 或 nftables,而非直接退回到 iptables。


四、常见注意事项

  1. 不要同时启用 firewalld 和 iptables
  2. 云服务器注意安全组规则
  3. 22 端口务必放行,否则可能失联
  4. 修改前建议:
    cp /etc/sysconfig/iptables /etc/sysconfig/iptables.bak
    

如果你愿意,我可以:

  • ✅ 帮你写一套 常用安全 iptables 规则
  • ✅ 对比 firewalld / iptables / nftables
  • ✅ 根据你是 物理机 / 云服务器 / Docker 环境 给出最佳方案

你用的是 CentOS 几?

0