必须同时配置路由器端口转发与docker双协议端口映射(tcp/udp),并固定qbittorrent监听端口在49152–65535区间,启用upnp后验证端口开放状态,光猫需桥接或启用dmz。

如果您在使用qBittorrent时发现上传速度极低、连接数稀少或状态栏长期显示黄色感叹号,很可能是由于NAT环境未打通,导致外部Peer无法主动连接您的客户端。端口转发(路由器侧)与端口映射(容器或系统侧)共同构成入站连接通路,缺一不可。以下是分步骤、多路径的配置操作指南:
一、确认并设置qBittorrent监听端口
固定监听端口是端口转发生效的前提,随机端口会导致每次启动后映射规则失效。必须禁用随机端口并手动指定一个稳定值,且该端口需避开ISP常见屏蔽范围(6881–6889)。
1、打开qBittorrent WebUI,进入“工具 → 选项 → 连接”。
2、取消勾选“随机选择监听端口”。
3、在“监听端口”输入框中填入45682(推荐使用49152–65535区间内任一未被占用端口)。
4、确保“启用UPnP/NAT-PMP端口映射”处于勾选状态。
5、点击“确定”保存,观察右下角状态栏图标:✅ 全功能模式表示端口已就绪;⚠️ 表示仍不可达。
二、在路由器上配置端口转发(手动方式)
当UPnP/NAT-PMP失败或路由器不支持时,必须通过路由器后台手动添加两条独立转发规则,分别对应TCP与UDP协议,否则BT通信将严重受限。
1、使用浏览器访问路由器管理地址(如192.168.1.1),输入管理员账号密码登录。
2、找到“端口转发”、“虚拟服务器”或“NAT设置”类菜单(不同品牌名称略有差异)。
3、新增第一条规则:外部端口:45682,内部IP:NAS/PC本地IP(如192.168.1.100),协议:TCP,内部端口:45682。
4、新增第二条规则:外部端口:45682,内部IP:同上,协议:UDP,内部端口:45682。
5、保存设置并重启路由器(部分型号需重启才生效)。
三、在Docker容器中正确映射端口
若qBittorrent以Docker容器方式运行,宿主机端口必须显式声明TCP与UDP双协议映射,否则UDP层Peer握手失败,上传通道将大幅萎缩。
1、停止当前qBittorrent容器:docker stop qbittorrent。
2、重新运行容器时,使用以下端口映射参数:-p 8080:8080 -p 45682:45682 -p 45682:45682/udp。
3、若使用docker-compose.yml,确保ports字段包含三行:
- "8080:8080"
- "45682:45682"
- "45682:45682/udp"
4、启动容器后,在宿主机执行:netstat -tuln | grep :45682,确认输出中含0.0.0.0:45682且状态为LISTEN。
四、验证端口可达性与NAT类型
仅完成配置不等于成功,必须通过第三方服务验证端口是否真正对外开放,并识别当前NAT类型是否支持P2P直连。
1、访问 https://www.yougetsignal.com/tools/open-ports/,输入端口号45682,点击“Check Port”。
2、若返回“Success! The port 45682 is open.”,说明端口已穿透公网。
3、访问 https://canyouseeme.org/,同样输入45682,确认显示“Success”。若提示“Error: I could not see your service”,则需检查防火墙或光猫桥接状态。
4、在qBittorrent WebUI右下角状态栏,✅ 图标持续显示即代表NAT类型为Full Cone或Restricted Cone,可正常接受入站连接。
五、处理光猫桥接与DMZ备用方案
当路由器位于光猫之后且光猫为路由模式时,端口转发可能被光猫拦截。此时需优先将光猫改为桥接模式;若不可行,则启用DMZ作为兜底方案。
1、联系运营商客服,申请将光猫设置为桥接模式(需提供宽带账号密码)。
2、光猫桥接后,路由器PPPoE拨号获取公网IP,此时前述端口转发规则即可生效。
3、若无法桥接,登录光猫后台(通常为192.168.1.1或192.168.100.1),在“安全设置→DMZ”中启用,并填入NAS/PC的局域网IP(如192.168.1.100)。
4、启用DMZ后,所有外部入站请求将无条件转发至该IP,等效于全端口开放,务必确保该设备防火墙已开启并仅开放必要端口。











