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

激活ufw后miniupnpc Python模块报错:无法发现UPnP设备

问题解决:UFW防火墙阻挡UPnP设备发现

你的代码报错是因为UFW默认拦截了UPnP设备发现所需的SSDP(简单服务发现协议)流量,这是UPnP设备交互的基础。

解决步骤:

  1. 允许SSDP组播流量(UPnP发现依赖的核心)
    执行以下UFW命令开放相关端口:

    sudo ufw allow in proto udp to 239.255.255.250 port 1900
    sudo ufw allow out proto udp from any to 239.255.255.250 port 1900
    

    这两条命令分别允许设备接收和发送SSDP组播请求(目标地址239.255.255.250是UPnP标准组播地址,端口1900是SSDP默认端口)。

  2. (可选)允许与路由器UPnP服务的TCP通信
    部分路由器的UPnP服务会使用TCP端口(通常是5000或随机高位端口),如果执行第一步后仍有问题,可以允许本地到路由器IP的TCP流量:

    sudo ufw allow out to <你的路由器IP> proto tcp
    

    替换<你的路由器IP>为实际地址(比如192.168.1.1)。

  3. 重启UFW生效

    sudo ufw reload
    

验证

重新运行你的Python代码,应该能正常发现UPnP设备并获取公网IP了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 15:33:18