在 Ubuntu 里用 iptables 做“限制”,通常指以下几类常见需求。下面按场景给你示例(假设你是 root 或用了 sudo)。
iptables -A INPUT -s 192.168.1.100 -j DROP
iptables -A INPUT -s 192.168.1.100 -j ACCEPT
iptables -A INPUT -j DROP
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -j DROP
iptables -A INPUT -p tcp --dport 80 -j DROP
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
iptables -A INPUT -p tcp --dport 22 \
-m connlimit --connlimit-above 10 -j DROP
iptables 本身不擅长限速,通常用 tc,但可以用 hashlimit 做简单限制:
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 默认 重启后 iptables 规则会丢,需要保存:
apt install iptables-persistent
netfilter-persistent save
| 需求 | 方法 |
|---|---|
| 封 IP | -s ip -j DROP |
| 限端口 | --dport |
| 防爆破 | limit |
| 防并发 | connlimit |
| 限速 | hashlimit |
如果你能告诉我:
我可以直接给你一套可直接用的完整规则。