温馨提示×

centos iptables如何禁止访问

小樊
40
2026-08-18 05:43:40
栏目: 智能运维

在 CentOS 系统中,使用 iptables 禁止访问(如禁止某个 IP、端口、协议等)是非常常见的操作。下面按常见场景给你详细说明,并附上永久生效方法


一、查看当前 iptables 规则

iptables -L -n -v

二、禁止指定 IP 访问(最常用)

1️⃣ 禁止某个 IP 访问本机

iptables -A INPUT -s 192.168.1.100 -j DROP

✅ 效果:

  • 192.168.1.100 无法访问本机任何端口
  • 本机也无法访问该 IP(仅 INPUT)

2️⃣ 禁止本机访问某个 IP

iptables -A OUTPUT -d 192.168.1.100 -j DROP

三、禁止访问指定端口

1️⃣ 禁止外部访问本机 80 端口

iptables -A INPUT -p tcp --dport 80 -j DROP

2️⃣ 禁止外部访问 22 端口(SSH)

iptables -A INPUT -p tcp --dport 22 -j DROP

⚠️ 注意:禁止 22 端口可能导致你无法远程登录服务器!


四、禁止某个 IP 访问指定端口

iptables -A INPUT -s 192.168.1.100 -p tcp --dport 80 -j DROP

✅ 仅禁止 192.168.1.100 访问本机 80 端口


五、禁止所有外部访问(慎用)

iptables -P INPUT DROP

⚠️ 非常危险,会导致服务器无法远程访问
✅ 建议先放行 SSH:

iptables -A INPUT -p tcp --dport 22 -j ACCEPT

六、拒绝(REJECT) vs 丢弃(DROP)

动作 说明
DROP 直接丢弃,对方无响应
REJECT 明确拒绝,返回错误
iptables -A INPUT -s 192.168.1.100 -j REJECT

七、删除 iptables 规则

1️⃣ 查看规则编号

iptables -L INPUT --line-numbers

2️⃣ 删除指定规则

iptables -D INPUT 3

八、CentOS 6 永久保存 iptables 规则

service iptables save

或:

iptables-save > /etc/sysconfig/iptables

九、CentOS 7+(重要说明)

CentOS 7 默认使用 firewalld,iptables 可能不生效。

✅ 检查是否使用 firewalld

systemctl status firewalld

✅ 若想使用 iptables(推荐)

systemctl stop firewalld
systemctl disable firewalld
yum install -y iptables-services
systemctl enable iptables
systemctl start iptables

十、常见示例汇总

# 禁止某 IP
iptables -A INPUT -s 1.2.3.4 -j DROP

# 禁止访问 3306
iptables -A INPUT -p tcp --dport 3306 -j DROP

# 禁止某 IP 访问 8080
iptables -A INPUT -s 1.2.3.4 -p tcp --dport 8080 -j DROP

如果你能告诉我:

  • ✅ CentOS 版本(6 / 7 / 8)
  • ✅ 禁止 IP / 端口 / 协议
  • ✅ 是否允许 SSH

我可以给你最安全、最精准的命令 ✅

0