You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用ufw阻止特定主机Telnet请求遇阻,寻求解决方法

解决ufw阻止特定主机Telnet但允许同网段访问的问题

嘿,我来帮你排查一下问题——你遇到的情况其实是ufw规则里很容易踩的坑:要么是规则顺序搞反了,要么是旧的全局封禁规则没清理,还有可能是规则的方向/源目标搞混了。

先理清你的核心需求对应的正确逻辑

你要的是:拒绝来自特定IP的入站Telnet请求,同时允许同网段其他所有IP的入站Telnet请求。ufw的规则是从上到下匹配的,所以必须把「拒绝特定IP」的规则放在「允许网段」的前面,否则先匹配到允许规则,拒绝就失效了。

具体操作步骤

  1. 清理冲突的旧规则
    先看看你之前的错误规则还在不在:

    ufw status numbered
    

    找到那些全局封禁23端口的规则(比如类似[N] 23/tcp DENY IN Anywhere),用编号删掉它们:

    ufw delete [规则编号]
    
  2. 添加正确的规则(顺序很重要!)
    假设你要阻止的特定主机IP是192.168.1.100,同网段是192.168.1.0/24,执行以下两条命令(顺序不能乱):

    • 先拒绝特定IP的入站Telnet:
      ufw deny in from 192.168.1.100 to any port 23
      
    • 再允许同网段所有IP的入站Telnet:
      ufw allow in from 192.168.1.0/24 to any port 23
      
  3. 验证规则和生效状态
    查看最终的规则列表,确认顺序和内容正确:

    ufw status verbose
    

    你应该能看到两条规则,第一条是拒绝特定IP的23端口入站,第二条是允许网段的23端口入站。同时确保ufw是启用状态(输出开头会显示Status: active),如果没启用,执行ufw enable激活。

你之前可能踩的坑

  • 规则顺序搞反:如果先加了允许网段的规则,再加拒绝特定IP的,那么特定IP会先匹配到允许规则,拒绝就不起作用了。
  • 全局封禁了23端口:比如你之前用了ufw deny 23/tcp,这会拒绝所有IP的23端口请求,必须先删掉这条。
  • 规则方向错误:比如写成了deny out(出站),但你要阻止的是别人发过来的入站请求,必须用deny in。
  • 源/目标搞混:比如写成deny in from any to 192.168.1.100 port 23,这是拒绝发给目标IP的请求,完全搞反了,应该是from 特定IP。

内容的提问来源于stack exchange,提问作者Everyone

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 07:52:23