请教大佬们一个端口映射的网络问题

3 天前
 git00ll

光猫开启网络端口映射,将 wan 的 3000 端口转发到内网机器的 5000 端口上,qbittorrent 监听 5000 端口上。 在进行 p2p 下载时,其他人要连接我的 3000 端口才能与 qbittorrent 连接,但是 qbittorrent 本身并不知道这一层映射关系,因此它提交给 track 的是 5000 端口,这样别人通过 5000 端口肯定连接不进来。


同理,docker 也有端口映射功能。如果容器内部监听 5000 端口被 docker 映射成宿主机的 3000 端口,那么容器内部的 qbittorrent 是不是也不能被外界主动连接,毕竟 qbittorrent 并不知道自己被映射成了 3000 端口了。


qbittorrent 以及其他的基于 p2p 的软件是怎么解决这个问题的。
最佳实践是不是端口都整成一样的,即光猫映射到宿主机,宿主机映射到 docker 内部,都使用同一个端口号这样最好呢。

552 次点击
所在节点    问与答
11 条回复
billlee
3 天前
是同一个端口号最好。但是端口号不同,可能也能通过打洞来被外界访问,不过成功率肯定不如端口映射。
javazero
3 天前
端口要一样,不然别人用 qbit 汇报的端口是连不通的。
1423
3 天前
愿意折腾: 使用 natter 获取公网端口后, 修改 qB 监听端口
不折腾: qB 全局 ipv6 only 做种
povsister
3 天前
upnp ,让 qb 自己去打洞
ysc3839
3 天前
软件自己不解决这个问题,让用户去解决。
是最好使用同一个端口,或者说软件本身监听的端口和最终暴露到公网的端口一致即可。
git00ll
3 天前
@1423 可是修改了 qB 的监听端口,端口映射关系就对不上了。又回到了保持端口一直了
git00ll
3 天前
@povsister 请问一下,如果是开了防火墙,upnp 能打洞成功吗,upnp 使用的端口可以指定不
billlee
3 天前
@git00ll upnp 是要在防火墙上运行一个 upnp 服务的,如果运行了,upnp 服务就会在收到请求的时候在防火墙上配置一条放行规则。(所以启用 upnp 服务其实不安全)放行了也就不需要打洞了
d20240326
3 天前
两个端加入 DHT 或 tracker 可以知道 IP 和 port 不需要额外配置
godall
2 天前
你需要的是端口敲门软件,knockd ,自己学习一下吧。
git00ll
2 天前
@godall 与这个没啥关系,我只是想知道 p2p 软件解决端口映射问题是什么原理

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1082312

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX