比特彗星 常见问题的收集与解决

元数据获取问题

问:一直显示等待元数据文件下载中

QQ图片20220912074734

答:点立即下载即可,获取元数据需要一些时间,获取后会开始下载。

问:部分任务获取到了,但是还有一些任务 等待元数据文件下载中

aa6df715e0cf3774b717715322f78b9c_8ef7b710eb613c8f375673e2d2484990f11725ee_2_690x286

答:请尝试重启任务,即暂停任务后再开始,BC下载元数据时似乎不支持断点续传,即必须从一个用户那里完整的获取到元数据,不能从多个用户获得一部分后再拼接起来
重启任务可以加快重试,应该可以提高下载元数据的成功率

问:重启过任务后又有一些获取成功了,不过还是有获取不到的

答:可以通过在线工具来获取种子

在btsow用磁力转换成种子是比较方便的

将磁力复制到剪贴板后直接粘贴即可

获取成功后会来到详情页面

点击中间的按钮下载 种子文件
会跳转到 btcache.me

输入验证码后即可进行下载

缺点是 btsow的网址会频繁更换 可能需要代理才能访问
网址发布页:

问:btsow似乎是通过调用 btcache.me 来进行种子获取的,为什么不直接使用 btcache.me来下载种子?

答:对,因为btsow可以直接使用磁力,而直接在btcache.me下载只能使用特征码并且有格式要求
(相当于btsow在调用btcache.me时对输入的磁力进行了一次转换)


只能使用16进制哈希即特征码 并且全部字母要大写(使用URL链接下载时必须全部大写)

问:如何直接在 btcache.me 下载种子?

答:先在BC中选择无法获取元数据的任务,右键弹出菜单 选择复制> 特征码v1

粘贴特征码并点击下载

若获取成功会和之前一样跳转到下载界面

也可以去 https://itorrents.org/ 看看不需要填写验证码 但下载起来稍微复杂一些

问:这些网站都在国外访问起来比较麻烦,有没有使用软件获取的方法?

答:有,可以使用其他的客户端进行来获取,完成后再由BC下载,比如迅雷

问:迅雷?迅雷不是吸血客户端吗?

答:是的,可能除了迅雷极速版和远古版本的迅雷外,相对较新的版本都是吸血的
不过这里我们要利用迅雷来获取元数据,确切的来说是利用迅雷的服务器来下载元数据

具体的操作已经有人做过教程了

此部分 来自像素帝的 教程




问:如果用了这么多方法还是没办法获取要怎么办?

答:如果尝试了上述所有的方法还是无法获取元数据的话,建议更换种子,这个可能已经是个死种了
当然也可以一直挂着,过上几个月说不定就获取到了

问:如果彗星的服务器出现问题不会影响元数据的获取?

答:不会,一般来说元数据是从其他已经获得元数据的客户端那里获得的,彗星的的服务器也没有下载元数据的功能


参考和引用:

断网问题

问:使用彗星进行下载的时候网络会变得缓慢甚至会断网

答:如果出现网络断流可能是由于DHT发包量过多造成的
可能是运营商限制造成的,也可能是路由器\光猫性能瓶颈

问:如何设置?

答:在高级设置中找到 network.max_udp_pkt_per_sec 默认值为 1000
可以逐渐调小数值,或者直接设置为 10 ,设置为10的时候一般不会再出现断网问题

除此之外还需要调整 dht.udp_send_queue_threshold 此项目用于控制DHT UDP 发包队列 因为调小了发送速度,也需要调整队列长度,以防止DHT发包堆积从而占用大量内存
默认值为30000 在 UDP 发起为10 的情况下 可以设置为 300 或更小

问:如果还是存在断网的现象怎么办?

答:如果修改发包量后仍然会断网,可以尝试禁用DHT

image
取消勾选 允许加入到公共DHT网络,以禁用DHT



参考和引用:

内存占用过高

问:比特彗星内存占用过高怎么办?

答:请打开专家模式 并查看统计中 展开 内存使用 选项 以查看是什么占用了内存

问:一般哪些项目容易占用较多的内存?

答:

torrent列表

如果启用了种子市场,并且加载的其中有大量的种子就会造成此项占用大。

解决办法:限制种子市场最大条数,右键弹出菜单以选择限制条目数。
如果不使用种子市场请直接禁用以避免不必要的内存占用
如果确实有使用种子市场的的需要,且内存确实不足的话请按照此链接中的建议 调整系统虚拟内存


UDP传输缓冲区

UDP缓冲区占用过大可能是由于限制了总UDP发包量后没有修改DHT发送队列造成的


磁盘写操作缓冲区

磁盘写操作缓冲区占用过大,说明硬盘的写入速度跟不上下载的速度,

有可能是硬盘读写性能差,导致数据无法及时写入磁盘,内存用尽后会自动限速

也可以手动进行下载速度限制,使硬盘可以及时写入数据。
也可以先下载到固态硬盘,然后在移动到机械硬盘存储,或者更换性能更好的垂直式机械硬盘。

比如一些移动硬盘,写入速度也很差,数据来不及写入到硬盘中,会先下载到内存,然后后续在进行写入硬盘,这是一个优化防止电脑网速过快下载引起下载掉速的特色。

比特彗星设置SSD固态硬盘下载,完成后自动移动到机械磁盘

D盘是固态,E盘是机械的设置方法如图


磁盘缓存

使用内存做缓存加快硬盘读写速度
对机械硬盘来说十分重要

一般来说在内存足够的情况下缓存越大越好
图中的展示的为官方默认参数

官方版的磁盘缓存设置相当保守
如果使用的是调整过参数的版本 磁盘缓存大小会有所区别
缓存设置过小也会影响下载和上传

BT传输缓存和长效种子上传缓存最小不应小于 1024

如果觉得内存占用多可以手动进行调整
设置建议

HTTP连接缓存:不调整

假设总物理内存为8GB即 8192 MB (实际要略小一些)

希望为系统和其他程序保留3GB内存即3072MB

减小缓存填写3072
空闲内存小于此数值时会减小缓存

BT缓存和长效缓存之和 为 8192-3072=5120 MB
可以各分配一半即 2560
也可以为BT多分配一些

勾选 自动调整


参考和引用

https://bbs.itzmx.com/thread-102123-1-1.html

1個讚

需要勾选倒数第2、3项

2個讚

代理问题

在截图和评论显示问题的最后我们提到的使用代理服务器进行连接
但没有提供代理服务器的获取方法

这里给出通过免费代理服务器来显示截图和评论的方法

注意

不建议将免费节点用于除显示截图和评论以外的用途
免费节点的安全性和可靠性无法保证


平台 Windows
软件 v2rayN
GitHub上的免费节点:

v2rayN下载地址:

下载v2ayN

展开 “Assets”

根据发布文件中的指示和系统实际情况选择
64位系统建议选择 “zz-v2rayN-With-Core-SelfContained.7z”
不需要额外安装 .NET 6.0

下载并解压
运行主程序 v2rayN.exe

运行后程序会最小化到托盘
左键单击 托盘图标弹出 窗口

修改系统代理为 不改变系统代理
我们只使用其来显示截图和评论

接着添加节点订阅
点击 订阅分组设置

点击添加

设置名称 任意设置
填写更新地址 填写上文项目中提供的更新地址
分成两组
设置更新时间

https://raw.githubusercontent.com/aiboboxx/v2rayfree/main/v2
#
https://raw.fastgit.org/freefq/free/master/v2


更新订阅 不通过代理
因为还没有获得任何节点

https://raw.githubusercontent.com/aiboboxx/v2rayfree/main/v2
此更新地址似乎需要通过代理才能连接
建议先使用 https://raw.fastgit.org/freefq/free/master/v2
获取到节点后通过代理更新

获取到的节点

测试节点
右键任意节点 弹出菜单
选择 一键多线程测试延迟和速度

等待测试完成 查看结果
挑选可用的服务器 延迟大于-1 且有速度
右键 设置为 活动服务器

检查socks监听端口

监听 10808 端口

在彗星中设置代理服务器
服务器地址为127.0.0.1 即本机地址
端口为 v2rayN 左下角socks端口
勾选倒数三项
重启彗星

如果设置正确
截图应该就可以显示出来了

v2rayN日志中会有报错
不过似乎并不影响使用

设置开机启动
需要管理员权限

注意

v2rayN不具有自动切换节点的功能 如果过一段时间发现又用不了了 请手动重新选择服务器





参考和引用

1個讚

绿灯问题

Part 0 前言

终于要开始写绿灯问题了即端口问题
其实这不问题仅局限于比特彗星也包括其他bt类软件
确切的来说是所有涉及到p2p通信的软件

考虑到复杂的实际环境,本教程不能做到像先前的那些教程一样
只要按照方法一步一步走就可以完成设置
更多是提供一个解决问题的思路,思路就可以根据具体情况具体分析了

当然基础知识是必不可少的,没有这些在理解和实施上就会遇到困难
毕竟授人以鱼不如授人以渔 学会了方法才能应对不同的情况
那些基本的东西是不会变的

本教程将以讲解基础知识解决思路为主
基础知识也不会讲的很深入,知道它们是什么和做什么就可以了

Part 1 基础知识

1.1 IP和端口

我们还是先从 IP地址 和 端口讲起吧

问:IP地址和端口是做什么的?

答:当我们在互联网上进行通信时,每个设备都会被分配一个独特的标识符,这就是IP地址。可以把IP地址想象成一个房子的地址,它告诉互联网上的其他设备如何找到你所在的位置。IP地址由一串数字组成,比如104.16.249.249 和 203.0.113.1

端口则是用来区分同一个设备上不同应用程序或服务的。你可以把端口想象成一栋大楼的门牌号码,每个端口是一个房间,里面住了不同的程序,要找到某个程序就需要知道他使用的端口号即住在哪个房间

端口号是一个数字,范围从0到65535。一些端口号是约定俗成的,例如80端口用于HTTP通信,443端口用于HTTPS通信。

当你在浏览器中输入一个网址时,你的电脑会将该网址解析为对应的IP地址。然后,电脑会过指定的端口与该IP地址上运行的服务器建立连接,并进行数据交换。IP地址和端口号一起组成了网络通信中的目标地址,使得数据能够正确地到达目标设备上的指定的应用程序。

简而言之,IP地址是用来标识设备在互联网上的位置,而端口则是用来区分设备上不同应用程序或服务的通信通道。它们共同构成了互联网通信中的目标地址,确保数据能够准确地传输到目标设备的指定应用程序。

问:我知道了,ip地址端口就是网络世界的地址,有了ip和端口我们就能找到不同电脑上运行的程序了
不过ip地址好像还有什么公网ip、私网ip、ipv6 什么的,这些又是什么?

答:我们先讲公网IP地址和私网IP地址

公网IP地址是全球唯一的IP地址,用于在互联网上标识和定位设备。它可以直接从互联网上访问到。
我们一开始所说的情况就是公网IP地址。
相当于 XX省XX市XX区XXX路XXX号

私网IP地址用于在局域网或内部网络中所以也叫局域网IP地址。这些地址在全球范围内不唯一,它在私有网络内部可用。通常在家庭、办公室或组织内部使用,用于实现内部设备之间的通信,但不能直接从互联网上访问到。
相当于 XX栋XXX室

问:那我们家里的网络用的是私网IP地址?如果不能直接从互联网上访问到我们又是如何上网的呢?

答:对一般是的,使用私网IP地址的电脑或者设备可以通过NAT技术来上网

1.2 NAT

问:NAT是什么?

答:NAT技术即 NAT(Network Address Translation,网络地址转换)技术
简单的来说它可以让多个使用私网IP的设备共用一个公网IP来上网

问:看来想要上网还是需要公网IP地址,那NAT是如何 共享 这公网地址的呢?

答:还是一开始大楼和房间的例子

在直接使用 公网IP的情况下整个电脑是一栋独立的大楼 而程序住在大楼的房间内,由门牌号即端口号来区分,大楼之外就是互联网世界
相当于独门独栋的房子

在家庭网络中NAT转换过程一般由家用路由器负责
此时电脑是依然是一栋大楼 程序依然住在大楼的房间内,只不过在这座大楼之外不是互联网世界,
而是局域网,相当于一个小区而 路由器则是这个小区的出入口

当电脑发送请求数据到互联网上的服务器时,它们会先到达路由器。
路由器上的NAT会检查这个这个数据的发件地址收件地址

此时这个数据的发件地址为 电脑获取到的局域网IP+发送这个数据的程序使用的端口
而收件地址则是 服务器的IP地址+端口

NAT将发件人地址改成自己的公网地址,而端口一般选择一个随机的端口
收件人地址不变
并记录下这次改写 并将数据发出

当数据数据到达服务器时
在服务器看来是路由器在向自己发送请求
因为发件人是写的是 路由器

于是服务器发送了响应数据
发件人为 服务器自己的IP+服务端程序的使用的端口
收件人则 是路由器的公网地址+路由器发送请求时使用的端口
即请求数据中的 发件地址

当路由器收到这个响应数据后再次修改地址
发件人不变
收件人改成电脑最初发送请求时的 收件人
电脑获取到的局域网IP+最初发送这个数据的程序使用的端口

在电脑看来是服务器直接回复了他的请求
毕竟收件人写的是自己
而发件人是服务器

(关于NAT可以看看这个视频 “https://www.bilibili.com/video/BV17W411d7aQ”

问:这还挺复杂的,不过大概是明白了。想要共用一个公网地址还不是件简单的事情

那绕来绕去最终上网还是要公网IP为什么不在每个电脑弄两个IP,一个公网,一个私网这样不是会更简单吗?

答:这就涉及到公网ip不够用的问题

问:公网IP地址不够用?

答:是的IP地址的数量是有限的

IP地址的范围是从 0.0.0.0到255.255.255.255

其总数约为43亿个 实际可用的ip数量会更少,要除去一些特殊地址

问:这看起来挺多还是不够用吗?

答:不够用,一开始设计的时候认为是够用的,然而在2019年地址就分配完了

问:那后来的用户岂不是没网上了?

答:不会,还记得我们刚才说的NAT和私有IP吗?

私有ip是可以重复的 而NAT又可以让多个使用私网IP地址的设备共用一个公网IP上网
这样后来的用户还是可以通过NAT转换 来上网

问:这样能容纳的用户还是有限的吧?

答:是的,但是通过增加NAT层数来解决
在之前的例子中 是家里的设备共用一个公网IP地址来上网

我们可以再加一层NAT即运营商级别的NAT 这样路由器获得的也是私网地址
运营商可以让许多个家庭共用一个IP上网

问:老是这样套娃也不是办法吧?

答:对,一直增加NAT不能从根本上解决问题,于是有了IPV6

1.3 IPV6

问:所以IPv6是什么?

答:IPv6 即 “Internet Protocol Version 6”(互联网协议第6版)
而我们之前所说的IP都是IPv4
即 “Internet Protocol version 4” (互联网协议第4版)

问:有IPv5协议吗?

答:有,是一种实验性的协议 没有广泛使用

问:IPv4和IPv6有什么区别?

答:最明显的区别就是地址长度和地址数量

IPv4使用32位地址,提供大约40多亿个唯一的IP地址
而IPv6使用128位地址,可以提供约340万亿亿亿亿个唯一的IP地址

86.148.235.250
#IPv4地址看起来像这样

2a0e:425:6685:0:99a2:c6cb:a8c:42ca
#IPv6地址看起来像这样

有了IPv6我们就不太需要担心地址不够用的问题了

问:这么好的东西为什么不早点用上

答:因为IPv6和现有的IPv4并不兼容
即两者之间不能直接连接
虽然有过渡技术可以使两者相互连通但这需要较为复杂的设置

这意味这要完全支持IPv6需要在软件上进行适配
无论是看不见的核心网络设备还是看得见的应用程序都需要做支持
这不是一件简单的事情 要花不少时间

好在发展IPv6有国家在推动,目前三大运营基本都已经有IPv6了
国家IPv6发展监测平台

问:既然有了这么多的地址,那应该不再需要NAT了吧?

答:一般来说是的,不过在一些特殊的地方NAT还是有用武之地的

1.4 路由器 交换机 和 光猫

问:路由器、交换机、光猫是做什么用的

答:我们先从交换机讲起
简单的来说交换机可以将多台电脑连接在一起
使他们之间可以互相连接和访问
也就是组成了一个局域网 (Local Area Network)即LAN

问:那路由器呢?

答:简单来说路由器一般用于连接不同网络

交换机可以组成一个个的小局域网
每一个小个局域网内的设备可以互相访问
但是不能访问到其他局域网里的设备
有了路由器之后就可以沟通起各个局域网

问:家用路由器似乎不只有路由功能?

答:对家用路由器一般还包括以下功能
交换功能
防火墙
NAT
无线功能
DHCP功能
DNS解析器

问:交换功能?那不是交换机做事情吗?

答:对,因为家用路由器一般都内置一个交换机
也就是我们看到的LAN口

问:那WAN口就是用来连接其他网络的了?

答:对,
WAN是广域网(Wide Area Network)的缩写。
在这里指的是该路由器与外部网络(通常是互联网)之间的接口。
而路由就是在 WAN 和 LAN 之间进行的
这样就实现了局域网和外部网络即互联网的连接

问:那光猫又是什么?

答:要想了解光猫我们要先了解“猫”
这里说的“猫”是modem的音译
即 调制解调器

在早期连接网络并没有专门的线路
一般会使用电话线或者电视同轴线

电脑使用的是数字信号
而这些线路上使用的是模拟信号

你只需要知道这是两种不同的信号就行
没有办法直接沟通,就像两门不同的语言一样

这时候就需要一位翻译来解决语言不通的问题
而modem就是这个翻译
有了这个翻译
发送数据时,猫将电脑发出的数字信号翻译成模拟信号再经由电话线/同轴电缆传出
接受数据时,猫将从电话线/同轴电缆上传来的模拟信号翻译成数字信号后传给电脑

随着时代和技术的发展光纤开始取代电话线/同轴电缆作为传输线路了
现在家庭网络一般都采用光纤接入

这就又回到之前的那个问题了
在光纤中的是光信号 而电脑使用的数字信号属于电信号
依然无法直接沟通,又需要一位翻译

因为在光信号和电信号之间做翻译,所以我们叫它“光猫”

问:可是我看运营商给的光猫好像也有不少其他的功能?

答:对因为现在的光猫又吸收了家用路由器的功能
确切的来说是和家用路由器合体了
运营商们也更多叫这个为家庭智能网关

1.5防火墙和NAT

问:防火墙是做什么的?

答:简答的来说防火墙就是一个过滤器、一个筛子
可以根据规则来过滤数据,决定是否允许数据通过
是一种重要的安全措施

问:那为什么很多时候遇到网络问题,很多教程教第一件事情就是关防火墙?
不会有安全上的问题吗?

答:因为防火墙有过滤数据的能力,所以发生网络问题确实有可能是防火墙拦截
造成的,不过这里的防火墙一般指 Windows防火墙 而现在的程序一般都有添加防火墙规则
的能力,即让防火墙允许其通过。

至于安全方面,家庭网络(ipv4) 一般有NAT保护问题不是很大

问:NAT还有保护安全的作用?

答:是的

问:可是之前讲解中,NAT不就是共用公网IP上网,节约ipv4地址吗?

答:没错,不止于此

因为通过NAT上网的设备共用一个了公网ip,所以在互联网上的其他设备看来就只有一个设备,
即NAT本身(网关),换句话说就是内网设备躲在在了NAT后面

有点像老鹰捉小鸡的游戏,“老鹰”是互联网上的其他设备(有可能是攻击者) “母鸡”则是NAT(网关)
而“小鸡”则是内网设备,如果保护得当 “老鹰”是抓不到“小鸡”的

不过这样会产生一些其他的问题

问:什么问题?

答:就是互联网上的其他设备难以访问NAT后面的内网设备

问:可是内网设备可以通过NAT来上网,那说明互联网上的设备和内网设备直接的连接
应该是没有问题的啊?

答:对,但这有一个前提条件,那就是内网设备发起连接,而拥有公网的服务器接受连接

问:难道不都是这样的吗?

答:一般来说是的,不过还有另一种情况即外网设备(不一定有公网IP)发起连接,而内网设备接受连接

问:难道在这种情况下NAT会阻止连接?

答:确切的来说在默认情况下NAT无法处理这些连接
所以看起来就像被阻止了一样

问:无法处理?为什么?

答:还记得之前讲解的NAT处理过程吗?

NAT将发件人地址改成自己的公网地址,而端口一般选择一个随机的端口
收件人地址不变
并记录下这次改写 并将数据发出

当连接由内部发起时NAT知道内网设备的IP和端口
也知道发送时使用的公网IP和端口
于是建立起了一个对应关系

而当连接是从外部发起时 ,NAT就犯难了
因为对方写的收件人地址是自己的公网IP和端口
NAT不知道它对应的内网端口和地址自然无法处理

问:这种情况很多吗?就是外网发起内网接受的情况

答:涉及到P2P通信的时候会
还是比较多的,比如bt下载,游戏联机等
P2P通信我们以后可能会讲

问:那不是有NAT的情况下就没法进行游戏联机和bt下载了?

答:也不是,只要解决NAT不知道对应关系这个问题就行
之后的教程会讲解 告诉NAT对应关系的方法

问:之前说安全方面,ipv4一般有NAT保护,关防火墙问题不是很大
那IPv6一般没有NAT,防火墙就比较重要了?

至于安全方面,家庭网络(ipv4) 一般有NAT保护问题不是很大

答:是的家用网络环境下IPv6一般没有NAT,所以防火墙是保护设备安全的重要措施

1.6 端口转发

在上一节中遗留了一个问题没有解决

也不是,只要解决NAT不知道对应关系这个问题就行
之后的教程会讲解 告诉NAT对应关系的方法

告诉NAT从外部发起的连接去到哪一个内网的设备上
以便在NAT后的设备接受来自外网的主动连接

问:那要如何操作呢?

答:可以通过 端口转发、upnp、和DMZ 来实现
一般家用路由器都拥有这些功能

我们先从端口转发开始讲解
端口转发 (Port Forwarding)
可以将一个端口上的数据转发到另一个端口上
即将公网端口上的接收的数据转发到内网某一台设备的的端口上

端口转发以规则的形式存在
有以下的几个重要的参数

外部端口 外网的端口

ip地址(内网) 内网电脑的ip

内部端口 内网电脑的端口

协议 使用的协议

有了这样的规则后当外网设备访问指定端口时
NAT会根据规则将其转发到对应的内网设备上

问:端口转发只能转发一个端口吗?

答:不止一个端口,可以通过多条规则转发多个端口

问:好像还有什么 端口转发 和 虚拟服务器 这两个有又是什么?

答:端口转发 端口映射 和 虚拟服务器 其实是指的一个东西
虚拟服务器 这种叫法一般在tplink路由器上比较常见

问:upnp是什么?

答:upnp 即 通用即插即用(Universal Plug and Play)

它相当于自动的端口转发
不需要手动填写规则,自动生成规则

但要求程序和路由器都要支持upnp功能
在操作系统上 也需要启动对应服务

问:DMZ 又是什么?

答:DMZ 是“Demilitarized Zone”的缩写 也叫“非军事区”
也可以认为是 “不设防区”
相当于相当于将所有端口映射到一个内网地址上
这样一来那台内网设备就相当于直接暴露在公网上

特点总结:

端口转发
便捷性:低 需要手动填写的内容较多
稳定性:高 对程序无要求 静态规则除非人设置否则不会改变
安全性:高 纯手动设置

UPnP
便捷性:高 启用UPnP后无需额外配置
稳定性:低 对路由器、程序、和操作系统都有要求 容易出现一些奇怪的问题
安全性:中 软件动自动设置 一般在路由器上可以查看已创建的规则

DMZ
便捷性:高 仅需填写内网设备的IP地址
稳定性:高 对程序无要求 静态规则除非人设置否则不会改变
安全性:低 转发了全部的端口 相当于内网设备直接暴露在公网上 需要在设备上设置防火墙以保证安全

1.7 P2P模式和C/S模式

问:为什么使用bt下载的时候会涉及到开端口的问题?
而其他的下载方式 比如浏览器 网盘 等都不存在这个问题?

答:这其实就涉及到传输模式上的一些区别也就是 P2P模式 和 C/S 模式
我们先讲 C/S 模式

C/S 模式 (Client-Server) 即服务端-客户端 模式
我们平时使用的应用大部是 C/S 模式的

CS结构看起来像这样:


有中心服务器的中央网络系统
图片来自维基百科

在这个结构中有一台中心服务器
用户想要下载文件必须连接这个中心服务器 资源存储在这个中心服务器中

下载速度和服务器的带宽有关
如果服务器的带宽是固定的
那下载的用户越多 每个用户的平均下载速度也就越慢

如果中心服务器失效 那么其他用户也就无法进行下载了

在这个结构里面 一般来说 服务端只提供服务
而客户端只使用服务

而连接一般由客户端发起 服务端接受连接
这些中心服务器几乎都是有公网ip的 (可被直接访问)
所以
不太需要考虑客户端的网络环境

问:所以这就是网盘不开会员下载慢的原因吗?

答:算是一个重要的原因
如果免费用户下载不限速 那将产生巨大的带宽成本
所以对非会员用户下载限速 也算是正常的操作

问:那P2P呢?

答:P2P 是 (peer-to-peer)的缩写 即 对等式网络
bt下载 电骡(eMule)部分游戏联机 等 会使用这种模式

P2P结构看起来像这样:


无中心服务器的对等网络系统
图片来自维基百科

在P2P模式中没有客户端和服务端之分
也可以认为每台设备既是服务端也是客户端

每个设备之间是平等的
可以同时作为资源的请求者和提供者
我们称其为节点
资源通常存储在各个节点上

当一个节点加入P2P网络并共享资源时,它将提供自己拥有的资源
(例如文件、数据、带宽等)给其他节点使用。
其他节点可以通过与拥有资源的节点者直接通信,请求并获取所需的资源

问:所以P2P网络中的节点需要像C/S模式中的中央服务器那样 打开端口
而其他节点来访问?

答:是的

问:端口也不是一定要开吧?我可以去连接其他的节点啊?

答:对,开放端口不是必须的 可以去主动连接其他节点
但是其他节点需要开放端口来接受你的请求

如果其他的节点也没有开放端口
那它们也无法接受你的请求

而如果你的节点开放了端口 就可以接受其他节点的请求
无论对方是否开放端口

问:这么来说两个未开放端口的节点 无法相互连接了?

答:是的 连接关系如下

(公网节点:此处表示开放端口的节点 内网节点:此处表示未开放端口的节点)
》和《 表连接发起方向

公网节点1 》公网节点2 √
公网节点1《 公网节点2 √

内网节点1 》内网节点2 X
内网节点2《 内网节点1 X

公网节点 》内网节点 X
公网节点《 内网节点 √

两公网节点之间可以互相连接
两私网节点不能互相连接
公网节点无法主动连接内网节点
内网节点可以主动连接公网节点

问:这么说来端口不通也可以用bt下载咯?
那开端口有什么好处呢?

答:一般认为 端口是否开放 对上传速度影响较大
对下载速度的影响相对较小

开放端口可以获得更好的上传速度
接受其他节点的连接请求 比 向其他节点发起请求效率更高

问:可是我要上传速度有什么用呢?

答:为BT网络做贡献 确切的说为其他节点做贡献

你的下载速度是别人的上传
而你的上传是别人的下载

如果没有人上传 那么也没有人有下载速度

问:P2P不会像C/S模式 那样产生带宽费用的问题?

答:还是会的,不过这个费用是各个节点分担的
如果是在家中使用bt下载那使用的就是家庭网络的带宽

问:那家庭网络的上传和下载速度不对等
岂不是下载速度也很慢

答:只要节点的数量够多就行
每个节点贡献少量上传速度 总量还是很可观的
这也是bt下载人越多越快的原因

part2 操作与经验

2.1目标与困难

通过前面的基础知识讲解 我们对
网络传输的过程和p2p模式有了一定的了解

现在要明确我们接下来操作的目标
开放端口

开放端口的原因和好处已经在 上一章中讲解过了

问:常见的困难有哪些呢?

答:问题主要集中在
运营商 光猫路由器

讨论针对家庭网络

手机和电脑对IPv6的支持基本上都是完善的
一般不会存在设置困难的问题

还需要分IPv4和IPv6来讨论

IPv4方面:

运营商 指 运营商级别NAT
运营商级别NAT用户无法直接调整

光猫 指 光猫设置
目前大部分的光猫集成了路由器功能
且在事实上承担了路由器功能
性能参差不齐 容易影响网络稳定性

光猫背面印刷的默认管理账户权限低
(有些地方的默认账户密码就是超级管理员)
可修改的内容很少

各地区 各运营商 各型号的光猫 情况都有所不同
超级管理员获取较为困难

在ipv4方面 路由器的设置上一般不存在什么困难

IPv6方面:

运营商
在IPv6中一般是没有运营商级别NAT的

目前三大运营商 几乎都支持IPv6
广电 也宣布部署IPv6 不过目前进展似乎较慢
其他二级运营商可能在短时间内还不会支持

还有一种更常见的情况是运营商支持IPv6
但没有下发IPv6
即在光猫中只启用ipv4而没有启用IPv6

光猫
指光猫设置 和ipv4的情况差不多
依然是设置困难和性能差

路由器
指路由器对IPv6的支持问题
部分旧的路由器完全不支持IPv6

而一些较新的路由器对IPv6的支持不完善
支持上网功能但无法设置IPv6防火墙

端口转发等功能是针对NAT 只对ipv4有效
无法通过端口转发来实现开放IPv6端口

还有些路由器是支持关闭IPv6防火墙的
不过是直接关闭整个IPv6防火墙 这可能会造成一些安全问题
最好在终端设备上设置一下防火墙

使用版本1.95,什么任务都没开,居然出现下载和上传速度,导致软件直接卡爆,电脑也有点卡死,以前好像是1.8X的版本出现过,更新后没了,现在这问题又出现了。具体见截图
捕获

展开全局统计的上传下载速度,是什么占用,可能是tracker

可以查看一下 TCP发起数和全局上传下载速度
若TCP发起数过多 需要再高级设置中修改 network.max_connecting_connections 的值



分块校验失败问题

问:任务的下载速度很快 但任务进度涨的很慢
甚至下载大小超过了文件大小

答:选中任务 切换到 任务日志选项卡 查看是否有分块校验错误的记录

问:有分块校验失败 丢弃数据的记录

答:到高级设置中 搜索 分块
将 bittorrent.separate_sources_for_failed_piece 设置为

在稍旧版本中该选项似乎存在一些问题 设置为是 时反而会发生错误
若遇到该错误后 请切换 bittorrent.separate_sources_for_failed_piece的值

若原来为 是 则改为 否
若原来为 否 则改为 是


参考和转载

在关闭光猫、路由器IPv6防火墙后可能遇到的安全问题

1.背景信息

随着IPv6的不断普及
目前三大运营商基本都已经提供了IPv6

IPv6 拥有海量的地址数 一般不需要NAT转换
传输效率提升 不需要开通“公网”
“公网地址”直接分配到设备
对bt下载 开放端口 提供了极大的便利

2.遇到的问题

但大部分的光猫和路由器对IPv6的管理还不完善
确切的来说是IPv6防火墙的管理不够完善
一般只有开和关两个选项
开启后会拦截所以主动入站流量即所以从外部主动发起的连接
而关闭后则不会有任何过滤作用
无法精确的开放端口
为了开放IPv6端口 供bt软件使用
我们目前在光猫/路由器上只能关闭整个IPv6防火墙

3.可能的危险

3.1网络攻击

在家庭网络环境中较常遇到是端口扫描攻击和暴力破解攻击

端口扫描 用于探测哪些端口上有程序正在运行
若发现可以用于获取用户数据或者设备控制权的程序
则会尝试暴力破解密码进行登录

若被扫描的端口上没有程序正在监听 则不会有危险
安卓手机一般不会 开启对外服务 不太需要担心
像bt客户端这类不能直接访问用户数据 获取设备控制权的程序
则不用不同太担心

需要注意下列这些类型的服务
其被破解后可能会造成数据泄露 和 设备被控制等风险
Windows远程桌面 SMB文件共享 NAS管理界面 网络摄像头 SSH登录 等

3.2 IPv6相比IPv4的安全优势

(1)巨大的地址数量
巨大的地址空间 使得逐个地址扫描 难以实现

(2)隐私扩展协议
在IPv6中,原本使用EUI-64标识生成的IPv6地址是基于网络适配器的物理地址(MAC地址),
这使得设备的全球唯一标识与其网络通信的IPv6地址相关联,但可能泄露用户的位置和设备信息。

为了提高隐私保护,IPv6隐私扩展协议引入了一种临时地址生成机制。在IPv6隐私扩展协议中,
设备会生成临时IPv6地址,这些地址与设备的MAC地址无关,且定期更换。
这样一来,设备的真实标识与其通信地址的关联性就被削弱,从而增强了用户的隐私保护。

IPv6隐私扩展协议有两种形式:

临时地址(Temporary Address):由设备生成临时的IPv6地址,与其MAC地址无关。这些地址在设备连接到网络时动态生成,
并在一定时间后过期。每次重新连接到网络时,设备会生成新的临时地址。

随机地址(Random Address):与临时地址类似,但使用了随机数生成更为随机的地址,进一步增强了隐私保护。
IPv6隐私扩展协议可以通过在IPv6配置中启用来使用。在大多数现代操作系统中,如Windows、
Linux和macOS,IPv6隐私扩展协议默认是启用的,以增强用户的网络隐私保护。

3.2 防护手段

在ipv4时主要依靠NAT
流量需要通过NAT处理后到达内网设备
内网设备隐藏在NAT后 外网设备是无法直发现内网设备
若没有设置转发规则以开放端口 这些从外部发起的扫描会被直接丢弃
不需要太担心 防火墙的存在感被弱化了
我们习惯了NAT的保护 以至于快忘记了防火墙的必要性

而在IPv6中一般没有NAT 主要依靠防火墙
包括光猫/路由器上的IPv6防火墙
和终端设备上的防火墙

默认情况下 光猫/路由器上的IPv6防火墙是开启的
会拦截所有IPv6主动入站流量 也不需要太担心

但由于之前所说的路由/光猫IPv6防火墙的管理不够完善
为了开放IPv6端口 供bt软件使用
我们目前在光猫/路由器上只能关闭整个IPv6防火墙
这样一来在路由设备上的防护就没有了

需要依靠终端设备上的防火墙拦截
或者使这些有风险的服务不监听IPv6地址

若使用软路由 可以对IPv6防火墙进行更细致的控制 可开放单个端口
目前已知 硬路由中 华硕路由器可以在IPv6防火墙中开放单个端口

请不要关闭终端设备上的防火墙

4. 目标与总结

从个人的经验和防火墙拦截记录来看
端口扫描的发起源主要是ipv4地址
而IPv6的几乎没有

在巨大的地址数量和隐私扩展协议的加持下
IPv6地址是不太容易被发现的

但在bt下载时向tracker服务器汇报ip以及与
其他DHT节点信息交换使得IPv6地址依然有可能被发现
仍需做好防护准备 用防火墙“关闭”那些可能有危险的端口
只要配置正确就不会有安全问题

目标:在已经关闭路由设备IPv6防火墙的情况下 设置好终端防火墙
以防止意料之外的连接

Windows 防火墙配置示例

在Windows上主要是封堵一些高危端口
TCP 135 139 445 3389
UDP 137 138

这些用于网络共享功能和远程调用
以及远程桌面的端口 一般被视为高危端口

不过其中 139 137 138 为NetBIOS服务使用的端口
其在IPv6已经不使用了 它们不会在IPv6地址上进行监听

我们需要注意的是
TCP 135 445 3389

135 用于 Windows远程调用
3389 用于Windows远程桌面
445 用于smb文件共享

TCP 135和445端口 默认只允许本地子网访问

3389 TCP 端口 用于远程桌面服务
防火墙上的默认规则允许所有地址访问 需要注意

教程将展示通过配置Windows防火墙
阻止公网IPv6访问3389端口

搜索栏搜索 检查防火墙状态 并打开

检查防火墙是否启用

点击左侧的 高级设置 以打开高级widows防火墙

高级Windows防火墙

查看防火墙属性

检查 公用网络配置 和 专用网络配置
状态中的选项 均为默认

添加规则
Windows防火墙上的远程桌面默认规则
是允许所有地址访问的
通过添加规则 禁止使用公网IPv6连接到3389端口

选择入站规则

新建规则

选择自定义规则

保持默认 所有程序

协议选择TCP
本地端口选择 特定端口
端口号 3389

远程IP 选择下列IP地址
并点击 添加

填写 2000::/3
此为 IPv6全球单播地址的前缀
可以理解为匹配所有公网IPv6地址
曾经尝试使用 :: 进行匹配 但并不成功 其表示所有IPv6地址
IPv6前缀划分:Internet Protocol Version 6 Address Space

操作选择 阻止连接

配置文件 保持默认

名称任意填写
这里使用 Block IPv6 TCP 3389

点击完成
规则已经添加

端口检查工具

可通过命令快速设置
需要管理员权限

启用Windows防火墙

netsh advfirewall set allprofiles state on

还原默认入站策略
阻止与规则不匹配的入站连接

netsh advfirewall set currentprofile firewallpolicy blockinbound,allowoutbound

封堵 TCP 3389
拒绝公网IPv6地址连接到本地的TCP 3389 端口

netsh advfirewall firewall add rule name="Block IPv6 TCP 3389" dir=in action=block enable=yes profile=any protocol=TCP localport=3389 remoteip=2000::/3