温馨提示×

Ubuntu防火墙如何拒绝特定IP

小樊
42
2025-10-21 00:57:02
栏目: 智能运维

使用UFW(Ubuntu默认防火墙工具)拒绝特定IP的步骤

1. 检查UFW状态

首先确认UFW是否已安装并启用。若未启用,需先启用才能应用规则:

sudo ufw status # 查看状态(若显示"inactive",需执行下一步) sudo ufw enable # 启用UFW(启用后会提示确认,输入y即可) 

2. 阻止特定IP的所有访问

若需拒绝特定IP地址的所有入站连接(如恶意IP),使用以下命令(将192.168.1.100替换为目标IP):

sudo ufw deny from 192.168.1.100 

此命令会生成一条DENY IN规则,阻止该IP向服务器发送的任何流量。

3. 阻止特定IP访问特定端口

若只需拒绝特定IP访问某端口(如禁止访问SSH的22端口),需指定端口和协议(tcp/udp):

sudo ufw deny from 192.168.1.100 to any port 22 proto tcp 

上述命令仅阻止该IP通过TCP协议访问22端口,不影响其他端口的访问。

4. 验证规则是否生效

添加规则后,通过以下命令查看当前UFW规则(带编号):

sudo ufw status numbered 

输出中应包含类似条目(DENY IN表示拒绝入站):

Status: active To Action From -- ------ ---- Anywhere DENY IN 192.168.1.100 

确认规则存在即表示生效。

5. 删除拒绝规则(若需撤销)

若需取消对某IP的阻止,可通过规则编号直接指定规则删除:

  • 按编号删除(推荐):
    1. 运行sudo ufw status numbered获取规则编号(如目标规则编号为3);
    2. 执行sudo ufw delete 3(系统会提示确认,输入y即可)。
  • 直接删除规则
    sudo ufw delete deny from 192.168.1.100 
    此命令会删除所有匹配的DENY FROM规则。

补充说明

  • 默认策略保障:UFW默认拒绝所有入站连接(Default: deny (incoming)),因此添加deny from规则是强化安全的关键步骤,无需担心“漏放”流量。
  • 规则顺序影响:UFW按规则从上到下匹配,若先有allow规则再有deny规则,allow会优先生效。若需调整顺序,可通过sudo ufw insert 1 deny from 192.168.1.100(将规则插入到第1位)解决。

0