stun内网穿透让没有公网ip的qbittorrent拥有公网ip

编辑 / 发布于2024-03-05 / 更新于2024-03-05 / 阅读 1184

前提

有nat1,stun打洞能打通,

原理

在路由器上的设置为例
1. 通过stun打洞获得 路由器ip:端口a 和 公网ip:端口b(b是随机的)一对一映射,
2. 设置端口转发 路由器ip:端口a 到 主机ip:端口b
3. 设置qbitorrent传入端口为b
这样qbitorrent发出去的消息是 自己监听是公网ip:端口b,别人访问公网ip:端口b会也通过转发进入qbittorrent

具体设置

本人是在路由器上进行的,直接在主机上不确定行不行

路由器安装lucky

这个网上都有教程我就不再说了

stun内网穿透

lucky设置 stun内网穿透-添加穿透规则

Desktop Screenshot 2024.03.05 - 12.17.34.09.png

穿透通道监听端口a可以自己修改,但要和后面的转发端口一致,完成后获得公网ip和端口b

Desktop Screenshot 2024.03.05 - 12.30.01.74.png

设置端口转发


监听端口填 穿透通道监听端口a
转发类型选tcp4,其他的无所谓
目标地址填 qbittorrent主机的ip地址
目标端口填 获得的公网端口b

设置qbittorrent


设置qbittorrent的传入端口为 获得的公网端口b
本文中 端口a = 12345 端口 b = 53891
这样就全部完成了,完成后可以去下载个热门种子看看打通了没

完成

打通后端口转发页面统计会有相应值的变化,日志上会传入的连接或者报错,qbittorrent用户页面也会有192.168开头的局域网ip传入,这样就算是成功了,

Desktop Screenshot 2024.03.05 - 12.21.45.71.pngDesktop Screenshot 2024.03.05 - 12.21.51.68.png

最后


主机上如果有防火墙记得打开相应的端口
如果qbittorrent在docker内运行,建议设置 network_mode: host 这样和主机公用一套网络,否则注意映射相应的端