温馨提示×

debian iptables怎样禁止ip

小樊
42
2026-09-04 19:20:43
栏目: 智能运维

在 Debian 下使用 iptables 禁止某个 IP(或 IP 段)访问,可以按下面步骤操作。


一、禁止单个 IP 访问(最常用)

例如禁止 192.168.1.100

iptables -A INPUT -s 192.168.1.100 -j DROP

说明:

  • INPUT:入站流量
  • -s:来源 IP
  • DROP:直接丢弃(不回应)
  • 如果想“明确拒绝”,可用 REJECT
iptables -A INPUT -s 192.168.1.100 -j REJECT

二、禁止一个 IP 段

例如禁止 192.168.1.0/24

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

三、禁止某个 IP 访问特定端口(如 22)

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

四、禁止本机访问某个外部 IP(出站)

iptables -A OUTPUT -d 8.8.8.8 -j DROP

五、查看当前规则

iptables -L -n -v

六、删除规则(如果需要)

先查看规则编号:

iptables -L INPUT -n --line-numbers

删除第 1 条:

iptables -D INPUT 1

七、Debian 下规则持久化(很重要)

iptables 规则重启会丢失,Debian 推荐方式:

方法 1:使用 iptables-persistent(推荐)

安装:

apt update
apt install iptables-persistent

保存规则:

netfilter-persistent save

或:

iptables-save > /etc/iptables/rules.v4

开机自动加载由 netfilter-persistent 完成。


八、nftables 提示(新系统)

Debian 10+ 默认可能是 nftables,如果你看到:

nft list ruleset

说明系统用的是 nftables,iptables 只是兼容层。

如需要,我也可以给你 nftables 禁止 IP 的写法


如果你能告诉我:

  • 禁止入站还是出站
  • 是否只限 某个端口
  • Debian 版本(如 11 / 12)

我可以给你更精确的规则。

0