导言
刚买的NAS
,这会正在研究PT怎么玩呢。事情的起因呢就是刚在贴吧找了大佬讨了💊,成功混入PT
圈,然后就要开始做新手任务嘛。就先在NAS上安装下载工具。我选择了Transmission
(后文简称tr
)。然后我就随机下了几个free的种子,看看网络,发现能够正常下载,后续也有流量上传,但是感觉上传的不多。我就认为这样已经算是基础配置完毕了,那些自动化的另外再谈。
因为之前有配置过DDNS
和公网域名访问,这两天没事的时候无意间想起,为什么我都没有额外的配置,我也能上传数据呢?难道是防火墙失效了还是tr
有特殊的能力?所以我就开始研究。
实验过程
在PT
站上会有记录使用的下载器会记录ipv4
和ipv6
地址,而我明确知道没有ipv4
公网,ipv6
是有公网的,那验证是否通畅。在tr
的设置-网络传输-测试端口,发现端口不可连接,在外网使用telnet的也是无效的。所以验证ipv4
和ipv6
无法访问。
既没有公网ipv4
和ipv6
的情况下,pt
客户端是怎么往外发数据的?
核心机制:主动连接公网 Peer 实现上传
核心原理:连接方向决定可达性
- 有公网
IP
的Peer
: 可直接接受来自任何 Peer 的连接请求。 - 无公网
IP
的Peer
: 只能主动发起对外部 Peer 的连接(NAT 设备允许出站流量),而无法被动接受来自外部的连接(除非成功 NAT 穿透)。 - 关键结论: 只要能主动连接到一个拥有公网 IP 且端口开放的 Peer,即可建立双向通信通道,实现数据上传!这无需自身拥有公网 IP。
工作流程详解:
Peer
发现: 客户端通过Tracker
服务器或Peer Exchange (PEX)
获取到目标Peer
的公网IP
地址和端口(如123.123.123.123:6881
)。- 连接建立: 我的客户端(处于
NAT
后)主动向该公网Peer
发起TCP/UDP
连接请求。 NAT
“临时会话”: 我的路由器(NAT
设备)检测到出站请求,会自动创建一个临时端口映射(例如:将我的内网192.168.1.100:54321
映射为路由器的公网 IP:12345
)。- 数据传输: 公网 Peer 接受连接。一旦连接成功建立,数据即可双向流动。
为何能上传?关键点:
- NAT 的“有状态”特性: 路由器允许为主动发起的出站连接建立临时的、有状态的返回通道。公网 Peer 的响应数据包利用此临时映射被送回我的客户端。
- 无需手动端口转发: 连接由我发起,NAT 自动处理临时映射,无需预先配置端口转发规则。
无公网 IP 时的实际传输能力总结
能力 | 是否依赖 PEX? | 是否依赖自身公网 IP? | 结果 (无公网 IP) |
---|---|---|---|
发现更多 Peer | ✅ | ❌ | 可获取更多 Peer 信息,但部分无法连接 |
主动下载 | ✅ (辅助) | ❌ | 可实现 (连接公网 Peer 下载) |
被动上传 | ❌ | ✅ | 通常接近 0 (除非对方主动连接您) |
主动上传 | ✅ (辅助) | ❌ | 可实现 (主动连接公网 Peer 上传) |
无公网IP的对比
能力 | 有公网IP | 无公网IP(纯NAT后) |
---|---|---|
可被连接性 | ✅ 所有Peer可直接连接 | ❌ 仅能主动连接公网Peer |
上传效率 | ⭐⭐⭐⭐⭐(最大化) | ⭐(依赖NAT穿透) |
下载效率 | ⭐⭐⭐⭐⭐(多源并发) | ⭐⭐⭐(仅能主动拉取) |
PT分享率贡献 | 轻松维持高比例 | 需长期做种弥补低上传 |
结论
对于没有公网 IPv4/IPv6 的 PT 用户,主动连接拥有公网 IP 且端口开放的 Peer 是实现数据上传的核心机制。
该机制利用 NAT 设备对主动出站连接建立的“临时会话”规则,无需用户手动配置端口映射。
PEX 技术主要辅助 Peer 发现,扩大连接公网 Peer 的机会;NAT 穿透技术则旨在解决与同样无公网 IP 的 Peer 连接难题,但其效果受限。
拥有公网IP是PT用户的最佳网络条件,可彻底解决NAT限制,实现上传/下载速度最大化。
关于UPnP设置
首先tr
开启UPnP
需要路由器的支持,它只是自动帮你设置端口转发,具体转发哪些端口你不知道,安全性低,建议手动在路由器中设置端口转发。其次在我的案例中普通的
端口转发无用。因为我往PT站上报的ip地址分别是
ipv4:外网ip(非拨号路由器的WAN口IP)
ipv6:NAS本身的ipv6,他是属于公网ip的。
当外部访问ipv4
的时候根本映射不到我的机器,因为在外层的那个ip
不在我主路由上。
当外部访问ipv6
的时候,流量是直接访问的NAS
本身的ip
,所以不会请求拨号路由器上的ip
,所以即使设置了端口转发也不会触发,这点我已经本地实测过,主要配置的是流量放行。
- 家庭路由器上的 IPv6 防火墙默认策略通常是:
- 允许所有出站连接: 内网设备可以自由访问外网。
- 阻止所有入站连接: 从外网主动发起的、目标是内网设备的连接请求默认被拒绝。
- 要在 IPv6 环境下允许从外网访问内网设备,你需要配置的是防火墙规则(Firewall Rules 或 Security Policies),而不是“端口转发”。
- 这个防火墙规则本质上是在告诉路由器:“允许外部流量访问 [内网设备的IPv6地址]:[端口号]”。
方案 | 优点 | 缺点 | 适用场景 |
---|---|---|---|
手动端口映射 | 稳定可控,安全性高 | 需手动配置 | 有公网IP,追求高效率 |
UPnP自动映射 | 无需手动操作 | 可能被恶意软件滥用 | 临时测试,简易环境 |
不映射端口 | 无需配置,安全性最高 | 上传效率低(依赖出站) | 无公网IP,或严格防火墙 |
留言 (0)