目录 (Ctrl + F搜索跳转)
简介
软件
基础篇
一. 软件部署
二. 将服务安装为Linux Systemd服务
三. 客户端部署
进阶篇
一. 虚拟机部署 (若为Linux系统则跳过此步)
二. LEDE构建
三. OpenWRT/Lede安装
四. 安装并配置Easytier (尝试过部署的可以直接跳到这里)
简介
写此文的契机是在使用Easytier一段时候发现稳定性相比于Tailscale、Zerotier要高不少,相比于前两者,EasyTier在自搭建服务器不会走官方服务器,因此不会出现自搭建服务器与官方服务器连接不佳时转为官方服务器。换句话说就是终于不用遭受那沟槽的不稳定的官方服务器了,对我这位Gal玩家非常利好。并且部署方便,遂写此教程。
本文将分为两大部分,基础篇和进阶篇。其中基础篇将使用多节点组网,而进阶篇将使用子网代理(点对网)
在正式开始前,你最少需要一台:
一台拥有公网IP的 PC / Server / VPS
(无论是静态抑或是动态IP,动态IP需要自行部署DDNS)
如果你有组网需求,你还需要一个能刷OpenWRT的路由器(硬路由还是软路由都可以),本教程手把手教你从零进行构建
软件
支持SSH的软件 (这里使用的是Termius)
如果有组网需求
Lean大的 LEDE
一台Linux虚拟机 (这里使用Hyper-V部署的Linuxmint)
基础篇
一. 软件部署
进入EasyTier的Github Releases界面,下载类似easytier-linux-x86_64的文件
通过使用Termux,点击左上角NEW HOST连接VPS,连接完成后点击SFTP将文件上传
输入以下指令解压文件,添加权限 (记得对应文件名)
这里会把解压好的文件移动到 /usr/bin
unzip easytier-linux-x86_64.zip
chmod +x easytier-c*
mv easytier-c* /usr/bin
此时你可以尝试输入easytier-core,此时若出现以下信息,恭喜你,你已经成功安装Easytier
二. 将服务安装为Linux Systemd服务 [1]
在支持 systemd 的 Linux 发行版中,可以通过以下步骤将服务配置为随系统启动:
1. 创建新的服务文件 /etc/systemd/system/easytier.service
nano /etc/systemd/system/easytier.service
2. 根据需要修改 ExecStart 后面的命令行参数
[Unit]
Description=EasyTier Service
After=network.target syslog.target
Wants=network.target[Service]
Type=simple
ExecStart=/usr/bin/easytier-core --ipv4 10.144.144.1 --network-name 你的网络名称 --network-secret 你的网络密码 --listeners tcp://0.0.0.0:29963 --listeners udp://0.0.0.0:29963 --vpn-portal wg://0.0.0.0:29964/10.142.142.0/24 --multi-thread --latency-first[Install]
WantedBy=multi-user.target
请根据需要修改你的参数 [Docs]
此处IP设置为 10.144.144.1
--network-name 你的网络名称
--network-secret 你的网络密码
--listeners 监听地址:端口
--multi-thread 多线程模式
--latency-first 延迟优先
--vpn-portal 设置WireGuard门户URL,客户端在10.142.142.0/24网络中 [Docs]
设置完成后 Ctrl+C 保存文件,在命令行中执行以下命令以启用服务:
systemctl enable easytier.service
启动和停止服务可以使用以下命令:
systemctl start easytier.service
systemctl stop easytier.service
需要注意的是,后续修改 /etc/systemd/system/easytier.service,保存文件后需要额外执行以下命令才能启动服务
systemctl reload daemon-reload
记得去VPS后台开放端口,因为每个人的情况不同,我只需要输入以下指令即可[2]
此时部署完成,可以下载客户端连接Easytier了
三. 客户端部署
Windows / Mac推荐下载带GUI,Linux仍然推荐下载命令行版本
1. Windows / Android 部署
进入EasyTier的Github Releases界面
下载easytier-gui_2.0.3_x64-setup.exe (适用于Windows) 或 app-universal-release.apk (适用于Android)
安装完成后根据下图进行修改,修改完成点击连接
若此时当前节点信息已连接显示为2,代表你已经成功连上自搭建Easytier节点
2. Linux 部署
部署方式和服务端基本一致,但你需要修改服务文件 /etc/systemd/system/easytier.service
ExecStart 后面的命令行参数
[Unit]
Description=EasyTier Service
After=network.target syslog.target
Wants=network.target[Service]
Type=simple
ExecStart=/usr/bin/easytier-core --ipv4 10.144.144.X --network-name 你的网络名称 --network-secret 你的网络密码 -e 你的服务器地址:端口[Install]
WantedBy=multi-user.target
地址10.144.144.X 请将X修改为未被占用的数字
设置完成后 Ctrl+C 保存文件,在命令行中执行以下命令以启用服务:
systemctl enable easytier.service
启动和停止服务可以使用以下命令:
systemctl start easytier.service
systemctl stop easytier.service
需要注意的是,后续修改 /etc/systemd/system/easytier.service,保存文件后需要额外执行以下命令才能启动服务
systemctl reload daemon-reload
基础篇完成~
进阶篇
进阶篇涉及到路由器刷机
还是那句话,刷机有风险,入门需谨慎
如果超过能力范围,建议不要尝试(至少出问题别找我)
一. 虚拟机部署 (若为Linux系统则跳过此步)
原先是不打算使用虚拟机的,但是在使用WSL Debian构建LEDE时总是出现各种构建失败,无奈之下转虚拟机
Win + S搜索 启用或关闭 Windows 功能,将Hyper-V部分勾选
等待一段时间后安装完成 (可能会要求重启电脑)
重启完毕后,进入LinuxMint官网下载镜像,这里选择Cinnamon版本
下载完成后将得到一个ISO文件 linuxmint-22-cinnamon-64bit.iso
Win + S 搜索 Hyper-V,打开Hyper-V管理器,根据下图操作,跳过的部分直接下一步
后面安装部分跳过,因为实在是过于麻烦了,不如弄视频
但是无论是再装一个还是录视频,无论是精力抑或是电脑空间都不是很够,还请谅解
你可以参考以下链接 / 视频进行安装
[Linux Mint Forums] Linux Mint 22 and Hyper V
[Bilibili]linuxmint系统安装
此处为废除部分,似乎不是必须要做的b38
[img]https://i.ibb.co/nLjnhmr/image.png[/img]
[img]https://i.ibb.co/D9zBCkL/WY-SH2-BYV9-AKVVNA4-IFDJ-7.png[/img]
安装完成后你可以参考这个链接修改镜像源
二. LEDE构建 [LEDE] [iStore]
1. 安装编译依赖
sudo apt update -y
sudo apt full-upgrade -y
sudo apt install -y ack antlr3 asciidoc autoconf automake autopoint binutils bison build-essential \
bzip2 ccache clang cmake cpio curl device-tree-compiler flex gawk gettext gcc-multilib g++-multilib \
git gperf haveged help2man intltool libc6-dev-i386 libelf-dev libfuse-dev libglib2.0-dev libgmp3-dev \
libltdl-dev libmpc-dev libmpfr-dev libncurses-dev libncurses-dev libpython3-dev libreadline-dev \
libssl-dev libtool llvm lrzsz genisoimage msmtp ninja-build p7zip p7zip-full patch pkgconf python3 \
python3-pyelftools python3-setuptools qemu-utils rsync scons squashfs-tools subversion swig texinfo \
uglifyjs upx-ucl unzip vim wget xmlto xxd zlib1g-dev
2. 下载源代码,更新 feeds 并选择配置
git clone https://github.com/coolsnowwolf/lede
cd lede
./scripts/feeds update -a
./scripts/feeds install -a
echo >> feeds.conf.default
echo 'src-git istore https://github.com/linkease/istore;main' >> feeds.conf.default
./scripts/feeds update istore
./scripts/feeds install -d y -p istore luci-app-store
make menuconfig
自行百度/谷歌搜索路由器型号获取你路由器的详细信息,这里以C-LIFE XG1为例
在 Target Image页面,Kernel partition size 和 Root filesystem partition size,个人建议分别设置 6M和64M [3]
以上设置完成后,你还有更多需要设置的
由于每个人需求不同,因此这里只贴出必须装的 kmod-tun 和 luci-lib-fs
本人尝试将Easytier的库加进去,但是失败了
因此需要在后期Folk luci-app-easytier的库,利用Github Action构建ipk包
双击两次空格,出现*号则代表会加入构建
Luci -> Kernel Modules -> Network Support -> kmod-tun
Luci -> Language -> Lua -> luci-lib-fs[code]如果你需要我的配置,请点右边下载,下载完导入即可 [url=https://mega.nz/file/MCg23LZb#Ryw5FRd9Wf2mF0AYHwbE2dIatxvHnEMS13pmf8MLr_U][MEGA盘][/url]
配置里勾选了Passwall,因此kmod-tun 和 luci-lib-fs是默认勾选的配置完成后输入以下指令进行构建,记得给虚拟机挂上代理,具体方法不做详细介绍
[code]make download V=sc -j10
make V=s -j8
如果最后没有出现任何Error,恭喜你,你的部署已经完成了一大半,此时可以前往/lede/targets目录找到构建好的固件,我的在/lede/targets/ramips/mt7621,在一堆文件夹里找到后缀为factory.bin的文件,传到电脑上,这是刷机所必须的文件
三. OpenWRT/Lede安装 [4]
以我的C-Life XG1为例,在Windows下Win+R输入cmd,输入ipconfig,绝大多数情况下,默认网关的地址就是路由器的地址,(例如我的是10.20.1.1),通过进入路由器网站,输入路由器底面标注的用户名密码完成登陆。
然后打开网页:http://10.20.1.1/cgi-bin/luci/admin/mtk/console
在命令行中输入以下命令:
echo -en "root\nroot\n" | passwd
此时可以使用ssh登陆10.20.1.1,
用户名root,密码root
然后去下载Breed [百度云]
开启SSH后,上传breed-mt7621-xiaomi-r3g.bin到路由器/tmp目录。
然后使用下面命令刷入breed:
mtd -r write /tmp/breed-mt7621-xiaomi-r3g.bin Bootloader
等待机器重启,等1分钟断开电源。
按住C-Life XG1机身正面的圆形IoT按钮(GPIO 18),通电就能进入breed刷机.
在刷机页面,找到固件,上传刷机即可
登录地址为192.168.1.1,账号为root,密码为password
将网络 → 接口以及无线部分配置好后,可以着手配置Easytier了
四. 安装并配置Easytier
此时此刻你还需要构建luci-app-easytier
当然如果你实在嫌麻烦,可以直接下我编译好的 [MEGA盘]
如果需要自行编译,请自行根据这个 链接 进行编译,需要注意的是,如果实际构建好的压缩包解压后的文件并非是.ipk文件,你需要再构建一次
将构建好的ipk包通过ssh上传到/tmp文件,输入以下指令
opkg install luci-app-easytier_all (2).ipk
安装好后你需要注销重新登录路由器后台,在VPN → Easytier → 上传程序
你需要进入EasyTier的Github Releases界面,根据你的路由器CPU架构选择相应的包,下载,并在上传程序的页面上传包
如果不出意外的话,回到基本设置,根据基础篇的客户端部署部分填入相应信息
需要注意的是,对等节点和共享节点地址是一样的,所以只需要在对等节点输入服务器地址即可
其中子网代理,你需要根据实际填写,如果不清楚可以看网络 → 接口部分,找到lan,按我实际情况作例子,我的lan IPV4为10.20.4.1/24
子网代理则应该填 10.20.4.0/24
完成以上设置后,个人推荐在监听端口选择监听,并勾选同时监听IPV6、启用多线程、启用延迟优先
以及主机名可以自己根据需要修改。
设置完成,此时可以点击保存并应用,并点击重启按钮,若在稍微长一点时间后看到Windows客户端弹出新的节点,则代表部署成功,但还需要进行下一步设置实现点对网组网
进入网络 → 接口 → 添加新接口
名称任意,协议为静态地址,设备为以太网适配器: "tun0" (EasyTier)
创建完成后编辑EasyTier的接口,其中IPv4地址必须是你当前给路由器设置的EasyTier地址 (我将其设置为10.144.144.6)
在高级设置 → 使用自定义的 DNS 服务器,设置为服务器的IP (我的是
10.144.144.1)
防火强设置 → 创建/分配防火墙区域 选择你刚刚创建的接口
然后点击网络 → 防火墙,找到EasyTier,点击右侧的编辑,配置如下图
此时配置已经完美结束,你可以回到你的电脑,或者打开手机的Easytier APP,关闭WiFi打开数据,连上节点,尝试打开你的路由器网站 (我的是10.20.4.1),此时如果能连上,点对网组网已经成功完成
EasyTier本身支持WireGuard,但是还没有时间测试,留到以后了
END...?