add some doc (#32)

This commit is contained in:
Sijie.Sun
2024-08-25 23:18:08 +08:00
committed by GitHub
parent dd1ae728cd
commit 91c19dbecb
8 changed files with 118 additions and 3 deletions
+3
View File
@@ -20,8 +20,11 @@ export const cn = defineConfig({
{ text: '双节点', link: '/guide/network/two-node-networking' },
{ text: '多节点', link: '/guide/network/multi-node-networking' },
{ text: '子网代理(点对网)', link: '/guide/network/point-to-networking' },
{ text: '网对网', link: '/guide/network/network-to-network' },
{ text: '无公网IP', link: '/guide/network/networking-without-public-ip' },
{ text: '使用 WireGuard 客户端接入', link: '/guide/network/use-easytier-with-wirefuard-client' },
{ text: '无 TUN 模式 (免 Root 权限)', link: '/guide/network/no-root' },
{ text: '自建公共服务器', link: '/guide/network/host-public-server' },
{ text: '注册为windows服务(开机自启)', link: '/guide/network/install-as-a-windows-service' },
{ text: '将服务安装为 Linux Systemd 服务', link: '/guide/network/install-as-a-systemd-service' },
{ text: '其他配置', link: '/guide/network/configurations' },
+20
View File
@@ -54,3 +54,23 @@
command: -i <ip> --network-name <用户> --network-secret <密码> -e tcp://<服务器地址>:11010 -l <监听地址>
```
:::
5. 一键安装脚本 (仅 Linux)
```bash
wget -O /tmp/easytier.sh "https://raw.githubusercontent.com/EasyTier/EasyTier/main/script/install.sh" && bash /tmp/easytier.sh install
```
# 常见问题
## 问题 1
Q: Windows 7 无法创建网络,程序崩溃或者报错无法创建虚拟网。
A: win7 需要是 SP1 及以上, 并且需要安装 [KB3063858](https://www.microsoft.com/en-us/download/details.aspx?id=47409)、 [KB4474419](https://www.catalog.update.microsoft.com/search.aspx?q=KB4474419) 这两个补丁
## 问题 2
Q: Linux 命令行帮助是英文,如何调整为中文。
A: 需要设置环境变量 LANG=zh_CN,命令: `export LANG=zh_CN`
+19
View File
@@ -0,0 +1,19 @@
# 自建公共服务器
用户可以使用自己的公网节点自建用于无公网 IP 组网的公共服务器,方便其他无公网 IP 的用户组网。
只需要不带任何参数启动 EasyTier,该节点就可作为公共服务器使用(不需要 root 权限):
```
easytier-core
```
另外,默认情况下, EasyTier 的每个节点都允许为其他虚拟网提供转发服务,即使该节点已经指定了 网络名 (`--network-name`) 和 网络密钥 (`--network-secret`)、并已加入一个虚拟网。
若需改变此行为,可通过 `--relay-network-whitelist` 参数限定可被转发的网络名白名单(空格分割的通配符列表,如 ` "ab* abc" `)。当该参数的列表为空时,就不会为所有其他网络提供转发服务。
EasyTier 可以做到不转发其他虚拟网的网络包,而是只帮助他们建立 P2P 链接,只需将白名单置空,并设置仅转发 RPC 流量即可。参考命令为:
```
easytier-core --relay-network-whitelist --relay-all-peer-rpc
```
+45
View File
@@ -0,0 +1,45 @@
# 网对网
网对网的网络拓扑如图所示
```mermaid
flowchart LR
subgraph 节点 A
nodeA[EasyTier\n10.144.144.1]
end
subgraph 节点 B
nodeB[EasyTier\n10.144.144.2]
end
id1[[10.1.1.0/24]]
id2[[192.168.1.0/24]]
id2 <-.子网代理.-> nodeA <--> nodeB <-.子网代理.-> id1
id2 -.无需 EasyTier 访问对方子网.-> id1
```
网对网配置成功后,192.168.1.0/24 子网的设备可以访问 10.1.1.0/24 子网的设备互相通信且无需安装 EasyTier。
要实现网对网,需要 节点 A 是 192.168.1.0/24 子网的网关。两个 EasyTier 节点的启动及配置参数如下:
节点 A
```bash
# 启动 EasyTier 并代理 192.168.1.0/24 网段,并使用公共服务器帮助组网
easytier-core -i 10.144.144.1 -n 192.168.1.0/24 -p tcp://easytier.public.kkrainbow.top:11010 --network-name n2n_test
# 允许网关转发流量,并配置防火墙允许转发流量
sysctl -w net.ipv4.ip_forward=1
iptables -A FORWARD -s 192.168.1.0/24 -j ACCEPT
iptables -A FORWARD -d 192.168.1.0/24 -j ACCEPT
```
节点 B
```bash
# 启动 EasyTier 并代理 10.1.1.0/24 网段,并使用公共服务器帮助组网
easytier-core -i 10.144.144.2 -n 10.1.1.0/24 -p tcp://easytier.public.kkrainbow.top:11010 --network-name n2n_test
```
@@ -9,15 +9,20 @@ EasyTier 支持共享公网节点进行组网。目前已部署共享的公网
以双节点为例,节点 A 执行:
```sh
sudo easytier-core -i 10.144.144.1 --network-name abc --network-secret abc -e tcp://easytier.public.kkrainbow.top:11010
sudo easytier-core -i 10.144.144.1 --network-name abc --network-secret abc -p tcp://easytier.public.kkrainbow.top:11010
```
节点 B 执行
```sh
sudo easytier-core --ipv4 10.144.144.2 --network-name abc --network-secret abc -e tcp://easytier.public.kkrainbow.top:11010
sudo easytier-core --ipv4 10.144.144.2 --network-name abc --network-secret abc -p tcp://easytier.public.kkrainbow.top:11010
```
命令执行成功后,节点 A 即可通过虚拟 IP 10.144.144.2 访问节点 B。
`--ipv4 x.x.x.x` 可以替换为 `-d` 开启 DHCP 功能,由 EasyTier 根据虚拟网内已经存在的其他虚拟 IP 自动的分配本节点的 IP 地址。
节点可以连接到多个公共服务器,当其中一个公共服务器失效后,节点间依然可以使用其他存活的公共服务器通信。只需要指定多个 -p 参数即可,如:`-p tcp://1.1.1.1:11010 -p udp://1.1.1.2:11011`。需要注意,虚拟网中每个节点都要指定相同的公共服务器列表,否则可能无法正常组网。
---
+9
View File
@@ -0,0 +1,9 @@
# 无 TUN 模式 (免 Root 权限)
由于创建 TUN 设备需要 ROOT 权限,对于一些无法获取 Root 权限的环境,EasyTier 也提供了不依赖 TUN 的使用方法。只需在启动 EasyTier 时,增加 `--no-tun` 参数即可。
使用无 TUN 模式组网时,节点可以通过虚拟 IP 被访问(TCP、UDP 和 ICMP 都支持),也可以做子网代理(使用 -n 参数)。但是无法主动发起对其他节点的访问。
为了在无 TUN 模式下主动访问其他节点,EasyTier 支持创建 SOCKS5 服务器,节点上的其他程序可以通过将代理设置为 EasyTier 的 SOCKS5 服务,即可访问虚拟网和虚拟网中的其他代理子网。
SOCKS5 服务的开启参数形为 `--socks5 12333`,将此参数加入 easytier-core 启动命令后,本机的 12333 端口即可服务于 SOCKS5 客户端。目前 SOCKS5 服务端无需用户名和密码验证,可直接使用。
+14
View File
@@ -43,4 +43,18 @@ sudo easytier-core --ipv4 10.144.144.2 -n 10.1.1.0/24
ping 10.1.1.2
```
## 手工指定路由
默认情况下,当虚拟网中的某个节点配置了子网代理后,子网代理的网段会被同步到虚拟网内的所有节点上,并自动生成一条路由,将发往这些网段的数据包交由虚拟网处理。
这在大部分情况下可以简化组网,但在有些场景下,用户可能并不希望 EasyTier 在节点上自动配置路由,用户可通过 `--manual-routes` 参数手工配置需要转发到虚拟网的流量。
使用 `--manual-routes` 后,只有该参数配置的网段才会进入虚拟网,如果该参数后的列表为空,则 EasyTier 不会处理任何非虚拟网网段的流量。
## 防火墙
由于代理流量需要用到系统的网络栈,因此子网代理需要关闭在虚拟网卡上的防火墙(Linux 和 Windows 皆是如此)。
如果无法关闭防火墙,可以尝试用用户态的网络栈做子网代理,可以免去配置防火墙的步骤。只需要在启动 EasyTier 时添加 `--use-smoltcp` 参数即可。
---
+1 -1
View File
@@ -37,7 +37,7 @@ features:
details: 根据流量智能选择链路,减少延迟,提高吞吐量。
- title: 跨平台
details: |
支持 MacOS/Linux/Windows 等系统。未来将支持 IOS 和 Android
支持 MacOS/Linux/Windows/Android 等系统。未来将支持 IOS。
</br>
支持 MIPS、ARM 等硬件架构。
</br>