在 Debian 上禁止 某个 IP 访问服务器,通常使用 iptables 或 nftables(取决于系统版本和防火墙管理方式)。下面按常见情况说明。
sudo nft list ruleset
如果有输出,说明用的是 nftables
sudo iptables -L
Debian 10+ 默认很多时候是 nftables,但可能通过 iptables 命令兼容。
sudo iptables -A INPUT -s 1.2.3.4 -j DROP
sudo iptables -A INPUT -s 1.2.3.4 -p tcp --dport 80 -j DROP
sudo apt install iptables-persistent
sudo netfilter-persistent save
sudo nano /etc/nftables.conf
inet filter input 中加入table inet filter {
chain input {
type filter hook input priority 0;
policy drop;
# 禁止 IP
ip saddr 1.2.3.4 drop
}
}
sudo systemctl restart nftables
sudo ufw deny from 1.2.3.4
sudo ufw deny from 1.2.3.4 to any port 22
# iptables
sudo iptables -L -n
# nftables
sudo nft list ruleset
DROP:直接丢弃(对方无响应,更安全)REJECT:明确拒绝(对方知道被拦)如果你愿意,可以告诉我:
我可以给你精确命令。