EasyTier 内网穿透
EasyTier
Introduction
EasyTier 是一个内网穿透工具,类似于 ZeroTier,会利用公网服务器交换设备的信息,首先尝试双方建立 p2p 连接即打洞
如果打洞成功,则双方在网络上直接传输数据,达到最高传输速率;否则双方通过服务器转发数据,速度受限于服务器带宽
因此,只要能打洞成功,那些带宽非常小的服务器也可以用来内网穿透
不过与 Zerotier 不同的是,Zerotier 默认使用官方提供的国外服务器,速度很慢,当然也可以改用自建服务器,但是比较繁琐
EasyTier 可以非常简单地完成自建结点并使用自建结点建立连接
Install
Server
下载 EasyTier
从 Latest release · EasyTier/EasyTier · GitHub 获取最新版本
wget https://github.com/EasyTier/EasyTier/releases/download/v2.1.1/easytier-linux-x86_64-v2.1.1.zip apt install unzip unzip easytier-linux-x86_64-v2.1.1.zip mv easytier-linux-x86_64/* /usr/local/bin/
创建服务文件
/etc/systemd/system/easytier.service
[Unit] Description=EasyTier Service After=network.target syslog.target Wants=network.target [Service] Type=simple ExecStart=/root/easytier-core --ipv4 10.114.114.1 --network-name <Name> --network-secret <Password> [Install] WantedBy=multi-user.target
<Name>
<Password>
:每个入网节点提供相同的--network-name
和--network-secret
参数,作为网络的唯一标识- 如果需要提供 WireGuard 接入,则添加参数
--vpn-portal wg://0.0.0.0:11013/10.14.14.0/24
启用服务:
systemctl enable --now easytier.service
Clients
下载 EasyTier
- 从 Latest release · EasyTier/EasyTier · GitHub 获取最新版本
- 可以选择 GUI 版本,操作更加直观简单
运行 EasyTier
GUI
IPv4
:填10.114.114.<2-255>
地址,或勾选DHCP
自动分配 IPNetwork Name
Network Secret
:填与服务器相同的网络名和密码Network Mehtod
:tcp://<Server IP>:11010
点击
Run Server
显示出连接的其他设备即运行成功
Route Cost
为与设备连接方式p2p
为与该设备直接连接,即打洞成功relay
为通过服务器中转流量
Cli
wget https://github.com/EasyTier/EasyTier/releases/download/v2.1.1/easytier-linux-x86_64-v2.1.1.zip unzip easytier-linux-x86_64-v2.1.1.zip mv easytier-linux-x86_64/* /usr/local/bin/ vim /etc/systemd/system/easytier.service
[Unit] Description=EasyTier Service After=network.target syslog.target Wants=network.target [Service] Type=simple ExecStart=/root/easytier-core --ipv4 10.114.114.2 --network-name <Name> --network-secret <Password> --peers tcp://<Server IP>:11010 [Install] WantedBy=multi-user.target
systemctl enable --now easytier.service
此时可以通过虚拟网络 IP 访问连接到网络的设备
可以使用
easytier-cli
命令查看运行状态如
easytier-cli peer
查看所有连接节点使用
easytier-cli --help
查看所有可用功能
WireGuard
在不支持运行 EasyTier 的平台(如 iOS),也可以使用 WireGuard 接入,但是这样所有流量都只能通过 WireGuard 接入的设备转发
每个加入网络的节点都可以提供 WireGuard 接入服务,而不仅限于连接服务器
创建 WireGuard 服务
在加入网络的节点设备启动命令里添加
--vpn-portal wg://0.0.0.0:11013/10.14.14.0/24
获取 WireGuard 配置信息
easytier-cli vpn-portal
将输出如下配置
输入到支持 WireGuard 代理的软件里即可portal_name: wireguard client_config: [Interface] PrivateKey = 9VDvlaIC9XHUvRuE06hD2CEDrtGF+0lDthgr9SZfIho= Address = 10.14.14.0/24 # should assign an ip from this cidr manually [Peer] PublicKey = zhrZQg4QdPZs8CajT3r4fmzcNsWpBL9ImQCUsnlXyGM= AllowedIPs = 192.168.80.0/20,10.147.223.0/24,10.144.144.0/24 Endpoint = 0.0.0.0:11013 # should be the public ip of the easytier server connected_clients: []