在 Debian 系统中,使用 iptables 禁止(屏蔽)某个端口,常见做法如下。
sudo iptables -A INPUT -p tcp --dport 80 -j DROP
说明:
-A INPUT:追加到 INPUT 链(进入本机的流量)-p tcp:协议为 TCP--dport 80:目标端口 80-j DROP:直接丢弃(不回应)✅ 效果:外部无法访问本机 80 端口
sudo iptables -A OUTPUT -p tcp --dport 80 -j DROP
✅ 效果:本机无法访问外部的 80 端口
sudo iptables -A INPUT -p udp --dport 53 -j DROP
sudo iptables -A INPUT -p tcp --dport 8000:9000 -j DROP
sudo iptables -A INPUT -s 192.168.1.100 -p tcp --dport 22 -j DROP
sudo iptables -L -n -v
sudo iptables -L INPUT --line-numbers
sudo iptables -D INPUT 3
sudo iptables -D INPUT -p tcp --dport 80 -j DROP
Debian 默认 iptables 规则重启会丢失
sudo apt update
sudo apt install iptables-persistent
sudo netfilter-persistent save
/etc/iptables/rules.v4
/etc/iptables/rules.v6
| 端口 | 用途 | 禁止示例 |
|---|---|---|
| 22 | SSH | iptables -A INPUT -p tcp --dport 22 -j DROP |
| 80 | HTTP | iptables -A INPUT -p tcp --dport 80 -j DROP |
| 443 | HTTPS | iptables -A INPUT -p tcp --dport 443 -j DROP |
-j REJECT(有提示)测试,再改为 -j DROPsudo iptables -A INPUT -p tcp --dport 80 -j REJECT
如果你愿意,可以告诉我:
我可以给你更精确的方案 ✅