小樱 发表于 2024/5/27 01:01

qbittorrent不支持ipv6的tracker服务器,提示skipping tracker announce (unreachable)

qbittorrent不支持ipv6的tracker服务器,提示skipping tracker announce (unreachable)

qb 4.6.4 lt2 qt6


qbittorrent不支持ipv6的tracker服务器,大量的ipv6 tracker在qb上无法正常工作,提示skipping tracker announce (unreachable)
已经确保高级设置相关的两个勾选已经打开
https://att.itzmx.com/data/attachment/forum/202011/03/185455onas00oni00xvxoo.png

udp://tracker2.itzmx.com:6961/announce
udp://:8080/announce



在比特彗星等其它bt的软件上,ipv6 tracker工作正常


wireshark信息,tracker服务器都可以正常返回udp数据包

相关:https://github.com/CorralPeltzer/newTrackon/issues/278

请qbittorrent开发者参考bep15 BT协议规范,对ipv6 udp tracker进行修复:http://www.bittorrent.org/beps/bep_0015.html


帖子补充
我想我知道原因了,这就和DNS、CDN一样
用户电脑上请求8.8.8.8,但是实际上在谷歌DNS服务器远端节点后面使用其他不同的ip地址用于数据包传输
ipv6 tracker由于和请求相同的ip地址没有回复,回复时服务器使用了其它ip地址,就被qbittorrent与newTrackon判定“超时未响应”
qbittorrent应当使用bep15检测收到的数据包transaction_id是否一致,所以在比特彗星等其它BT客户端上,使用ipv6 udp tracker工作正常,在qbittorrent上不正常
这种现象存在tracker服务器拥有多个ipv6地址上发生,通过了与访问域名目标ip不同的其它ipv6地址回复引起的“超时未响应”
bep15里面明确说明了需要检查transaction_id,但是qbittorrent没有遵守协议规范未作检查,所以qbittorrent上会显示skipping
由于23号这是同一台服务器,只是一台服务器上有多个ip,所以请求2号(2a01:4f8:c012:8025::),使用的是3号(2a01:4f8:c012:8025::6961)服务器ip地址返回的udp tracker查询结果,要想解决这个问题,qbittorrent应当根据规范检查transaction_id,或者通知服务器拥有者,让tracker服务器不使用多个不同的ip地址返回数据包

就和你Windows电脑上网多拨了4次,虽然你有多个公网ip,但是上网百度查询ip地址发现F5刷新烂了都始终是一个默认固定ip出去的,如果用了一个其它的ip地址来提供作为tracker服务器,随后udp数据包从默认ip出去,由于和请求的这两个ip不相同,这种情况就会发生ip改变引起这个问题,所以应当遵守下bep15协议规范解决一下

吐槽
比如软路由均衡负载就可以让出去的ip发生改变,防火墙也是可以的,但是会导致服务器CPU翻倍使用,要么放弃服务器多个ip
问就是对方bt软件设计问题,协议规范里面明明考虑到了这个情况

Keres 发表于 2024/6/12 09:57

那就是问题没办法解决了吧{:107:}

小樱 发表于 2024/6/12 18:50

Keres 发表于 2024/6/12 09:57
那就是问题没办法解决了吧

看后续qb开发者会不会修复了,我觉得就qb那尿性,没希望
页: [1]
查看完整版本: qbittorrent不支持ipv6的tracker服务器,提示skipping tracker announce (unreachable)