温馨提示×

CentOS怎么屏蔽IP iptables

小樊
54
2026-07-19 07:17:22
栏目: 智能运维

CentOS 中,使用 iptables 屏蔽(封禁)某个 IP 的方法如下(适用于 CentOS 6 及部分 CentOS 7 仍使用 iptables 的情况)。


一、临时屏蔽单个 IP(重启后失效)

1️⃣ 屏蔽某个 IP(拒绝所有访问)

iptables -I INPUT -s 1.2.3.4 -j DROP

✅ 说明:

  • 1.2.3.4:要封禁的 IP
  • DROP:直接丢弃数据包(对方无响应,推荐)
  • -I INPUT:插入到 INPUT 链最前面

2️⃣ 屏蔽 IP 的某个端口(如 80)

iptables -I INPUT -s 1.2.3.4 -p tcp --dport 80 -j DROP

3️⃣ 屏蔽一段 IP(CIDR)

iptables -I INPUT -s 192.168.1.0/24 -j DROP

二、查看当前 iptables 规则

iptables -L -n --line-numbers

三、删除已屏蔽的 IP

1️⃣ 查看规则编号

iptables -L INPUT -n --line-numbers

2️⃣ 按编号删除

iptables -D INPUT 1

或按条件删除:

iptables -D INPUT -s 1.2.3.4 -j DROP

四、永久保存 iptables 规则(重启不丢失)

✅ CentOS 6

service iptables save

或:

iptables-save > /etc/sysconfig/iptables

✅ CentOS 7(仍用 iptables 时)

iptables-save > /etc/sysconfig/iptables
systemctl enable iptables

五、常用替代方案(推荐)

✅ 使用 REJECT(对方会收到拒绝)

iptables -I INPUT -s 1.2.3.4 -j REJECT

✅ 防止误封自己(谨慎操作)

iptables -I INPUT -s 你的IP -j ACCEPT

六、CentOS 7+ 注意(firewalld)

如果系统使用的是 firewalld,iptables 配置可能不生效,建议用:

firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="1.2.3.4" reject'
firewall-cmd --reload

七、总结(最常用)

iptables -I INPUT -s 1.2.3.4 -j DROP
iptables-save > /etc/sysconfig/iptables

如果你需要:

  • ✅ 防 CC 攻击
  • ✅ 自动封 IP(fail2ban)
  • ✅ 临时封禁 vs 永久封禁
  • ✅ Docker / 云服务器场景

可以告诉我你的 CentOS 版本和使用场景,我可以给你更安全的方案。

0