在 Ubuntu 下使用 iptables 限制(开放/关闭/限速)端口,常见做法如下:
查看当前规则:
sudo iptables -L -n -v
保存规则(Ubuntu 一般用):
sudo apt install iptables-persistent
sudo netfilter-persistent save
sudo iptables -A INPUT -p tcp --dport 8080 -j DROP
或拒绝并回包:
sudo iptables -A INPUT -p tcp --dport 8080 -j REJECT
sudo iptables -A INPUT -p tcp --dport 22 -s 192.168.1.100 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j DROP
sudo iptables -A INPUT -p tcp --dport 3306 -s 192.168.1.0/24 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 3306 -j DROP
例如限制 SSH(22)每秒最多 3 个新连接:
sudo iptables -A INPUT -p tcp --dport 22 -m limit --limit 3/s -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j DROP
限制 80 端口单 IP 最多 10 个连接:
sudo iptables -A INPUT -p tcp --dport 80 -m connlimit --connlimit-above 10 -j DROP
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
sudo iptables -P INPUT DROP
sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
如果你有具体端口 + 使用场景(如 Docker、Web、数据库),我可以给你更精确的命令。