温馨提示×

ubuntu iptables如何限制

小樊
36
2026-10-09 20:51:40
栏目: 智能运维

在 Ubuntu 里用 iptables 做“限制”,通常指以下几类常见需求。下面按场景给你示例(假设你是 root 或用了 sudo)。


一、限制某个 IP 的访问

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

iptables -A INPUT -s 192.168.1.100 -j DROP

2️⃣ 只允许某个 IP 访问(白名单)

iptables -A INPUT -s 192.168.1.100 -j ACCEPT
iptables -A INPUT -j DROP

二、限制端口访问

只允许访问 22 端口(SSH)

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

禁止访问 80 端口

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

三、限制连接速率(防暴力破解 / 防洪泛)

限制 SSH 每秒最多 3 个新连接

iptables -A INPUT -p tcp --dport 22 -m state --state NEW \
  -m limit --limit 3/sec --limit-burst 5 -j ACCEPT

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

四、限制并发连接数(防止单 IP 占满)

单 IP 最多 10 个 SSH 连接

iptables -A INPUT -p tcp --dport 22 \
  -m connlimit --connlimit-above 10 -j DROP

五、限制带宽(粗略)

iptables 本身不擅长限速,通常用 tc,但可以用 hashlimit 做简单限制:

限制某 IP 每秒 1MB

iptables -A INPUT -s 192.168.1.100 \
  -m hashlimit --hashlimit-above 1mb/s --hashlimit-mode srcip \
  -j DROP

六、查看 / 清除规则

查看规则

iptables -L -n -v

清空所有规则(慎用)

iptables -F

七、Ubuntu 特别提示(很重要)

Ubuntu 默认 重启后 iptables 规则会丢,需要保存:

安装保存工具

apt install iptables-persistent

保存规则

netfilter-persistent save

常见限制场景汇总

需求 方法
封 IP -s ip -j DROP
限端口 --dport
防爆破 limit
防并发 connlimit
限速 hashlimit

如果你能告诉我:

  • 想限制 IP / 端口 / 速度 / 连接数
  • 是 入站还是出站
  • Ubuntu 版本(18.04 / 20.04 / 22.04)

我可以直接给你一套可直接用的完整规则。

0 踩