温馨提示×

debian iptables如何禁止ip

小樊
33
2026-09-16 20:57:15
栏目: 智能运维

在 Debian 上使用 iptables 禁止(封禁)某个 IP,通常有以下几种常见做法。


一、禁止某个 IP 访问本机(最常用)

1. 禁止入站(拒绝来自该 IP 的所有连接)

iptables -A INPUT -s 1.2.3.4 -j DROP

或(返回拒绝信息,更“礼貌”):

iptables -A INPUT -s 1.2.3.4 -j REJECT

说明:

  • DROP:直接丢弃,对方无响应(更隐蔽)
  • REJECT:明确拒绝(对方会收到错误)

2. 禁止某个 IP 访问特定端口(如 22)

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

二、禁止本机访问某个 IP(出站)

iptables -A OUTPUT -d 1.2.3.4 -j DROP

三、禁止一段 IP(CIDR)

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

四、查看当前规则

iptables -L -n -v

五、删除已添加的规则

方法 1:按编号删除(推荐)

iptables -L INPUT --line-numbers
iptables -D INPUT 3

方法 2:按原命令删除

iptables -D INPUT -s 1.2.3.4 -j DROP

六、Debian 上保存规则(非常重要)

Debian 11 及以下

apt install iptables-persistent
netfilter-persistent save

Debian 12(nftables 默认)

apt install iptables
iptables-legacy-save > /etc/iptables/rules.v4

或改用:

nft list ruleset

七、示例:封禁恶意 IP(完整)

iptables -A INPUT -s 1.2.3.4 -j DROP
netfilter-persistent save

如果你有 Docker / K8s / 特定端口 / 只封 TCP 等场景,可以告诉我,我可以给更精确的命令。

0