使用UFW(Ubuntu默认防火墙工具)拒绝特定IP的步骤
首先确认UFW是否已安装并启用。若未启用,需先启用才能应用规则:
sudo ufw status # 查看状态(若显示"inactive",需执行下一步) sudo ufw enable # 启用UFW(启用后会提示确认,输入y即可)
若需拒绝特定IP地址的所有入站连接(如恶意IP),使用以下命令(将192.168.1.100
替换为目标IP):
sudo ufw deny from 192.168.1.100
此命令会生成一条DENY IN
规则,阻止该IP向服务器发送的任何流量。
若只需拒绝特定IP访问某端口(如禁止访问SSH的22端口),需指定端口和协议(tcp
/udp
):
sudo ufw deny from 192.168.1.100 to any port 22 proto tcp
上述命令仅阻止该IP通过TCP协议访问22端口,不影响其他端口的访问。
添加规则后,通过以下命令查看当前UFW规则(带编号):
sudo ufw status numbered
输出中应包含类似条目(DENY IN
表示拒绝入站):
Status: active To Action From -- ------ ---- Anywhere DENY IN 192.168.1.100
确认规则存在即表示生效。
若需取消对某IP的阻止,可通过规则编号或直接指定规则删除:
sudo ufw status numbered
获取规则编号(如目标规则编号为3);sudo ufw delete 3
(系统会提示确认,输入y即可)。sudo ufw delete deny from 192.168.1.100
此命令会删除所有匹配的DENY FROM
规则。Default: deny (incoming)
),因此添加deny from
规则是强化安全的关键步骤,无需担心“漏放”流量。allow
规则再有deny
规则,allow
会优先生效。若需调整顺序,可通过sudo ufw insert 1 deny from 192.168.1.100
(将规则插入到第1位)解决。