11# P2P 优化
22
3- 如果你希望 EasyTier 更容易与其他节点建立 P2P 连接,可以通过以下方式进行优化。
3+ 如果您希望 EasyTier 更容易地与其他 EasyTier 节点建立 P2P 连接,可以通过以下方式进行优化。
44
55## IPv6
66
7- EasyTier 支持节点间通过 IPv6 进行 P2P 通信,默认 EasyTier 在每个监听器上同时监听 IPv4 和 IPv6 地址。
7+ EasyTier 支持节点间通过 IPv4 和 IPv6 进行 P2P 通信,默认情况下 EasyTier 在每个监听器上同时监听 IPv4 和 IPv6 地址。
88
99只要监听器监听地址为 ` 0.0.0.0 ` EasyTier 就会自动监听 IPv6 地址,该行为可以通过 ` --disable-ipv6 ` 参数禁用。
1010
@@ -14,6 +14,48 @@ EasyTier 支持节点间通过 IPv6 进行 P2P 通信,默认 EasyTier 在每
1414easytier-core -l ' tcp://[::]:12345' -l ' udp://[::]:12345'
1515```
1616
17+ 如果您的节点都拥有公网 IPv6 地址,并且可以入站(即被外网访问),就可以通过监听地址+默认监听端口(11010)来建立 P2P 连接。
18+
19+ 如果您的节点都拥有公网 IPv6 地址,但不可入站(即不能被外网访问),可以利用 Easytier(版本2.3.0以上) 的 IPv6 打洞功能进行 P2P 连接,默认情况下开启此功能。
20+
21+ 当然如果您能够修改公网 IPv6 的防火墙使其可以入站,也可以大幅度提高 p2p 的成功几率。
22+
23+ 如果您的 IPv6 使用了 NAT66 技术,即网络地址转换技术,可以参考 IPv4 部分,如果可以的话建议关闭 NAT66 技术。
24+
25+ ## IPv4
26+
27+ 如果您的节点拥有公网 IPv4 地址,并且可以入站(即被外网访问),就可以通过监听地址+默认监听端口(11010)来建立 P2P 连接。
28+
29+ 如果您的节点都公网 IPv4 地址,但不可入站(即不能被外网访问),可以利用 Easytier的 IPv4 打洞功能进行 P2P 连接,默认情况下开启此功能。
30+
31+ 如果您的节点是普通家庭宽带,无公网 IPv4 ,需要修改 NAT 类型来提高 P2P 的成功几率,分为以下几种情况:(如何修改 NAT 类型可自行百度搜索方法)
32+
33+ 有关 NAT 类型的知识可参考这篇文章:[ 各种 NAT 类型的解释] ( https://nacldragon.top/2023/NAT-Type/ )
34+
35+ ** NAT1(在 RFC3489 中为:Full Cone NAT / 完全锥型 NAT ;在 RFC5780 中为:端点无关映射+端点无关过滤 )**
36+
37+ 对于 Easytier 来说如果您的设备是 NAT1 类型,建立 P2P 连接时对方 NAT 类型可以是 NAT1、NAT2、NAT3、NAT4。
38+
39+ ** NAT2(在 RFC3489 中为:Restricted Cone NAT / 限制锥型 NAT ;在 RFC5780 中为:端点无关映射+地址相关过滤 )**
40+
41+ 对于 Easytier 来说如果您的设备是 NAT2 类型,建立 P2P 连接时对方 NAT 类型可以是 NAT1、NAT2、NAT3、NAT4。
42+
43+ ** NAT3(在 RFC3489 中为:Port Restricted Cone NAT / 端口限制锥型 NAT ;在 RFC5780 中为:端点无关映射+地址和端口相关过滤 )**
44+
45+ 对于 Easytier 来说如果您的设备是 NAT3 类型,建立 P2P 连接时对方 NAT 类型可以是 NAT1、NAT2、NAT3、NAT4。
46+
47+ ** NAT4(在 RFC3489 中为:Symmetric NAT / 对称型 NAT ;在 RFC5780 中为:地址和端口相关映射+地址和端口相关过滤 )**
48+
49+ 对于 Easytier 来说如果您的设备是 NAT4 类型,建立 P2P 连接时对方 NAT 类型可以是 NAT1、NAT2、NAT3、NAT4(部分)。
50+
51+ 注:对于 NAT4 类型来说,由于某些原因部分 NAT4 每次建立的端口是递增或递减的,可以通过端口预测技术来实现 P2P,这种 NAT4 可以简称为 NAT4E / 对称型递增。
52+
53+ ::: warning 注意
54+ 由于某些防火墙的策略,常见于学校、公司等,即使 NAT 类型为 1 2 3 ,也可能无法建立 P2P 连接。
55+ 部分地区的运营商可能会采取阻断 P2P 连接的策略,即使为 NAT 类型为 1 也无法进行 P2P 连接!
56+ IPv6 在开启 NAT66 功能后和 IPv4 NAT44 功能一样,也分为以上类型。
57+ :::
58+
1759## 指定公网 IP 和端口
1860
1961某些情况下,节点拥有公网的 IP 和 端口,但 EasyTier 无法正确识别 (比如 NAT 主机),可以使用 ` --mapped-listeners ` 配置公网 IP 和端口。 例如:
0 commit comments