搭建EasyTier中继服务器并进行组网

搭建中继服务器

虽说是搭建中继服务器,但其实 easytier 是点对点去中心化的组网方式,所谓中继服务器就是一个有公网 ip 的节点,用于让其他没有公网 ip 的主机通过它进行中继转发,从而实现异地组网。

在有公网 ip 的服务器上通过官网文档安装好 EasyTier,可使用官方安装脚本,或者直接安装二进制文件。我这里是下载的二进制文件(easytier-core 和 easytier-cli)到 /usr/local/bin 目录下,并且将配置文件放在 /opt/easytier/config/default.conf 中(这里文件位置可以自定义,例如 /usr/local/share/easytier/default.conf)。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# /opt/easytier/config/default.conf

instance_name = "kerolt"
# 主机名,用于标识此设备的主机名
hostname = "server"
# 如果是作为中继服务器,这里的 ipv4 可以随便设置一个虚拟局域网的 ip 地址,注意不要和其他主机的虚拟局域网 ip 冲突
ipv4 = "10.112.112.1/24"
# 由 Easytier 自动确定并设置IP地址,默认从10.0.0.1开始。警告:在使用 DHCP 时,如果网络中出现 IP 冲突,IP 将自动更改(只做服务器写false)
dhcp = false
listeners = [
	"tcp://0.0.0.0:11010",
	"udp://0.0.0.0:11010",
	"wg://0.0.0.0:11011",
	"ws://0.0.0.0:11011/",
	"wss://0.0.0.0:11012/",
]

exit_nodes = [
]

#[network_identity]
# 网络名称,用于标识 VPN 网络(只做服务器不用填)
#network_name = ""
# 网络密钥,用于验证此节点属于 VPN 网络(只做服务器不用填)
#network_secret = ""

[flags]
relay_network_whitelist = "kerolt" # 之后我其他主机上的 easytier 网络名称都是使用 kerolt,如果需要所有网络都可以通过该服务器进行中继转发,可以将值设置为 "*"

同时,你需要在服务器防火墙中放行 11010、11011、11012 端口。

然后通过 systemd 让 easytier 开机自启,编辑 /etc/systemd/system/easytier.service 文件:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
[Unit]
Description=EasyTier Service
After=network.target

[Service]
Type=simple
# 主要是下面这行,取决于你的 easytier-core 和对应配置文件的位置
ExecStart=/usr/local/bin/easytier-core -c /opt/easytier/config/default.conf
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

执行如下命令,专属于你自己的 easytier 服务器就启动好了:

1
2
3
sudo systemctl daemon-reload
sudo systemctl enable easytier
sudo systemctl restart easytier

组网

和刚刚搭建中继服务器的步骤类似,在需要进行组网的主机上也需要安装 easytier(easytier-core 和 easytier-cli),并且编辑对应的配置文件。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
instance_name = "kerolt"
ipv4 = "10.112.112.2/24"
dhcp = false
listeners = [
    "tcp://0.0.0.0:11010",
    "udp://0.0.0.0:11010",
    "wg://0.0.0.0:11011",
]

[network_identity]
network_name = "kerolt" # 之前服务器上只配置了 kerolt 这个网络的白名单
network_secret = "xxxx"

[[peer]]
uri = "tcp://your-server-ip:11010"

easytier 就会默认给你这个主机 A分配一个虚拟局域网 ip 为 10.112.112.2/24;同样的,对于另一台主机 B,使用同样的配置文件,只需要修改 ipv4 = "10.112.112.3/24" 和 dhcp = false,或者直接使用 dhcp = true 让 easytier 自动进行 DHCP 分配 ip。

到这里,主机 A(10.112.112.2/24)和主机 B(10.112.112.3/23)已经处于同一虚拟局域网内,即主机 A 和主机 B 已经可以通过虚拟网通信了。

使用 Hugo 构建
主题 Stack 由 Jimmy 设计