Github 星标 2.3 K: 异地组网新工具 Easytier,助你轻松实现跨地域设备互联

公众号关注 「奇妙的 Linux 世界」

设为「星标」,每天带你玩转 Linux !

af345ff591a3a8b9b8a1b8dbd79f1efe.png

EasyTier 是由 Rust 和 Tokio 驱动一个简单安全去中心化的内网穿透 远程 组网方案,开源项目

优点

  • 去中心化:无需依赖中心化服务,节点平等且独立

  • 公网 IP 组网:支持利用共享的公网节点组网, 可以使用 EasyTier 公共 Peers

  • 低占用: 即使最垃圾的机器也可以跑

  • 跨平台支持

  • NAT 穿透:支持基于 UDP 的 NAT 穿透,即使在复杂的网络环境下也能建立稳定的连接

  • 子网代理(点对网):节点可以将可访问的网段作为代理暴露给 远程 子网,允许其他节点通过该节点访问这些子网

  • 智能路由:根据流量智能选择链路,减少延迟,提高吞吐量

  • TCP 支持:在 UDP 受限的情况下,通过并发 TCP 链接提供可靠的数据传输,优化性能

  • 高可用性:支持多路径和在检测到高丢包率或网络错误时切换到健康路径

  • 安全:支持利用 WireGuard 加密通信,也支持 AES-GCM 加密保护中转流量

  • IPV6 支持:支持利用 IPV6 组网

项目情况

  • EasyTier/EasyTier

  • 官方文档

部署

这里以手动安装和 docker 部署方式为例

手动安装部署

EasyTier 采用 rust 开发,交叉编译成二进制文件,部署极其方便简单 直接下载已经编译好的文件,安装即可,下面分几步执行

EasyTier 默认是不区分客户端还是服务端,故本次部署即是服务端又是客户端。一般情况下 开放监听端口为服务端,不开放监听端口为客户端

Linux-x86_64 适用于 Debian 系列,其它架构系统类似。默认 root 终端执行。

下载 EasyTier
$ mkdir -p /etc/et && cd /etc/et
$ wget https://github.com/EasyTier/EasyTier/releases/download/v2.1.1/easytier-linux-x86_64-v2.1.1.zip
# 上面没法下载,可以使用下面的链接下载
$ wget https://gh.dev.438250.xyz/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
$ cp -a easytier-linux-x86_64/* .
$ rm -rf easytier-linux-x86_64 easytier-linux-x86_64-v2.1.1.zip
$ chmod +x ./*
$ mv ./easytier-* /usr/bin/
编写配置文件

默认路径为 /etc/et/config.toml,内容如下:

instance_name = "default"
# easytier组网的ip地址
ipv4 = "192.168.66.80"
dhcp = false
exit_nodes = []
# api地址,记得改成本地监听
rpc_portal = "127.0.0.1:15888"
# 自定义 使用 32379 32380 端口作为监听发现服务 默认监听IPv4/IPv6, 服务端可以根据自己实际情况配置,可以全开,也可以为空不开listeners = [],客户端可以不开
listeners = [
    "tcp://0.0.0.0:32379",
    "udp://0.0.0.0:32379",
    "udp://[::]:32379",
    "tcp://[::]:32379",
    "wss://0.0.0.0:32380/",
    "wss://[::]:32380/",
]

# 组网凭证
[network_identity]
network_name = "xxxx"
network_secret = "xxxx"

# tcp://public.easytier.top:11010 是自定义要连的其他节点, 如果是第一个节点,可以不用配置, 这里以官方的节点为例
[[peer]]
uri = "tcp://public.easytier.top:11010"

# 其他参数
[flags]
dev_name = "easytier0"
enable_ipv6 = true

另外当服务跑起来后,也可以使用 easytier-cli node config 命令查看节点配置文件

编写启动守护文件并启动
$ cat > /etc/systemd/system/easytier.service <<EOF
[Unit]
Description=EasyTier
After=network.target

[Service]
Type=simple
WorkingDirectory=/etc/et
# ExecStart=/usr/bin/easytier-core -i 192.168.66.80 --network-name ysicing --network-secret ysicing -e tcp://public.easytier.top:11010 --dev-name easytier0 --rpc-portal 127.0.0.1:15888 --no-listener
ExecStart=/usr/bin/easytier-core -c /etc/et/config.toml
Restart=always
RestartSec=10
User=root
Group=root
[Install]
WantedBy=multi-user.target
EOF

可以使用配置文件,也可以使用命令行参数方式,如果节点配置都一样,推荐使用配置文件方式。

启动服务
# 开机自启并立即启动
$ systemctl enable easytier --now

如果使用命令行参数,每次启动后需要 reload 一下

$ systemctl daemon-reload
$ systemctl restart easytier
查询服务是否正常

执行 easytier-cli peer, 由于使用的是公共节点,所以会有节点信息

7ebadef36ffc8d76bc7bb553f7c824c0.png

如下是我自己的组网节点

92eb564e203de5adf64008f1845ca00a.png

使用 Docker 部署

编写 docker-compose.yml
  • 首先创建一个目录(如 easytier),然后在该目录下创建 docker-compose.yml 文件,内容如下:

services:
  easytier:
    privileged: true
    container_name: easytier
    network_mode: host
    volumes:
      - easytier:/root
    environment:
      - TZ=Asia/Shanghai
    # 方便国内部署,我会定期同步到腾讯云容器仓库
    image: ccr.ccs.tencentyun.com/k7scn/easytier:latest
    # 凭证需要保持一致
    command: -i 192.168.66.8 --network-name ysicing --network-secret ysicing -l tcp://0.0.0.0:32379 -e tcp://public.easytier.top:11010 --dev-name easytier0 --rpc-portal 127.0.0.1:15888 # --vpn-portal wg://0.0.0.0:32380/192.168.77.0/24
    restart: always

volumes:
  easytier:
    driver: local
  • 启动服务

$ docker compose pull
$ docker compose up -d

同理,如果需要查看节点信息,可以使用 docker exec -it easytier easytier-cli peer 命令

需要自行放行相关端口,如 32379, 32380 等

其他系统部署

Windows 部署可以参考官方文档

Windows Scoop 安装

在 PowerShell 执行下列代码以安装 Scoop

irm get.scoop.sh | iex
scoop install git
scoop install nssm
# 添加软件源
scoop bucket add moec https://github.com/laoxong/ScoopBucket
scoop install easytier
# 以服务的方式启动,也可以直接启动测试
nssm.exe install easytier_service C:\Scoop\apps\easytier\current\easytier-core.exe 你的参数
# 编辑服务
nssm edit easytier_service

示例: nssm.exe install easytier_service C:\Scoop\apps\easytier\current\easytier-core.exe -i 192.168.66.81 -e tcp://public.easytier.top:11010 --dev-name easytier0 --network-name xxxx --network-secret xxxx

注意:Windows 下需要管理员权限执行, 相关路径也需要确定,不一定是 C:\Scoop\,可能是当前用户目录下的 scoop 目录

打开 services.msc 找到 easytier_service,修改为延迟启动

2d52641d39657dab387c9de06311d06a.png

其他

仅供参考,不对其安全性负责

  • EasyTier 配置管理脚本

  • EasyTier 管理器

  • EasyTier 公共服务器

本文转载自:「Solitudes」,原文:https://ysicing.me/easytier,版权归原作者所有。欢迎投稿,投稿邮箱: editor@hi-linux.com。

5183d7b9c59a5994e45d88ead3b03209.gif

🚀 最近,我们建立了一个技术交流微信群。目前群里已加入了不少行业内的大神,有兴趣的同学可以加入和我们一起交流技术,在 「奇妙的 Linux 世界」 公众号直接回复 「加群」 邀请你入群。

🌟『极客视界』科技达人必备综合资讯指南,等你来探索!访问网址 https://bestgeek.org 即可打开新世界。

📕 关注『奇妙的 Linux 世界』公众号,带你开启有趣新生活!更多好用好玩的软件资源,可访问 https://666666.dev 免费获取。

cbb02a8151aac518bf9df25b783641fb.png

你可能还喜欢

点击下方图片即可阅读

aee9563cf70b9d7397083a2c5252dd4f.gif

又一款支持可视化图表和多地址并发的 Ping 工具

49c3e476a5a87c235d107884bb7bb3e4.png
点击上方图片,『美团|饿了么』外卖红包天天免费领

2691e303d6e64992e98549a29db05d1a.png

更多有趣的互联网新鲜事,关注「奇妙的互联网」视频号全了解!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值