Skip to content

Commit c06977e

Browse files
Update p2p-optimize.md (#135)
添加更详细的说明
1 parent b598dc5 commit c06977e

File tree

1 file changed

+44
-2
lines changed

1 file changed

+44
-2
lines changed

guide/network/p2p-optimize.md

Lines changed: 44 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
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 在每
1414
easytier-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

Comments
 (0)