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

如何停止USB设备插拔时的UPnP广播?

如何停止USB设备插拔时的UPnP广播?

看起来你在Xubuntu 24.04的环境里遇到了USB插拔触发UPnP广播被UFW拦截的问题,这些刷屏的日志确实挺闹心的。咱们来梳理下解决办法:

先搞清楚原因

那些被拦截的流量是链路本地地址(169.254.x.x)发往UPnP多播地址(239.255.255.250)的广播,通常是USB设备挂载时,系统里的自动发现服务(比如gvfs相关组件)在识别设备过程中顺带发起的网络探测。

解决方案选项

1. 禁用触发广播的后台服务

这类广播大多来自gvfs的网络相关组件,你可以直接停止并禁用它们:

  • 先停止正在运行的服务:
    systemctl stop gvfsd-network.service gvfsd-dnssd.service
    
  • 禁止它们开机自动启动:
    systemctl disable gvfsd-network.service gvfsd-dnssd.service
    
    注:如果你的系统依赖这些服务进行网络文件共享,可能需要谨慎操作,先测试下禁用后是否影响日常使用。

2. 让UFW静默拦截(不生成日志)

要是不想停用服务,只是不想看到这些拦截日志,可以给UFW加一条规则,直接拦截这类流量但不记录:

sudo ufw deny in from 169.254.0.0/16 to 239.255.255.250 proto udp port 1900 comment "Silently block USB-triggered UPnP broadcasts"

这条规则针对UPnP常用的UDP 1900端口,覆盖整个链路本地地址段,拦截后不会在dmesg里生成BLOCK日志。

3. 检查udev规则(进阶操作)

少数情况下,自定义或系统默认的udev规则可能在USB挂载时触发了网络操作,你可以检查以下目录下的规则文件:

  • /etc/udev/rules.d/
  • /lib/udev/rules.d/
    看看有没有涉及启动网络服务或发送广播的规则,如有需要可以修改或注释掉相关内容。

验证效果

完成上述操作后,插拔一次USB设备,再运行dmesg | grep UFW,如果不再出现那些BLOCK记录,就说明问题解决啦。

备注:内容来源于stack exchange,提问作者MangoCat

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.17 09:13:23