簡(jiǎn)介 一個(gè)簡(jiǎn)單易用且功能豐富的異地組網(wǎng)解決方案,適用于辦公協(xié)作、游戲聯(lián)機(jī)等多種場(chǎng)景。
特點(diǎn) 與 ZeroTier、TailScale 等方案相比,EasyTier 采用去中心化設(shè)計(jì),消除了傳統(tǒng)組網(wǎng)中的客戶端、服務(wù)端、中繼服務(wù)器等概念,簡(jiǎn)化了部署流程。
支持命令行,也基于 Tauri 實(shí)現(xiàn)了跨平臺(tái)的 GUI 支持。
功能介紹 自研路由協(xié)議 :節(jié)點(diǎn)間通過(guò)自研的鏈路狀態(tài)路由協(xié)議高效交換信息,快速高效。
靈活的連接選項(xiàng) :支持 UDP、TCP、WireGuard (WG)、QUIC 等多種協(xié)議,結(jié)合 AES-GCM 加密技術(shù),確保數(shù)據(jù)安全。
內(nèi)網(wǎng)穿透 :基于 STUN 的 UDP 內(nèi)網(wǎng)穿透,支持 IPv6,同時(shí)支持中繼以應(yīng)對(duì)復(fù)雜網(wǎng)絡(luò)環(huán)境。
虛擬局域網(wǎng)接入 :可作為WireGuard服務(wù)端,允許用戶通過(guò)WireGuard客戶端輕松接入虛擬局域網(wǎng),無(wú)需額外軟件。
子網(wǎng)路由功能 :通過(guò)子網(wǎng)路由,用戶可以在任何地點(diǎn)通過(guò)部署在家中的 EasyTier 節(jié)點(diǎn),無(wú)縫訪問(wèn)家中所有設(shè)備。
公共服務(wù)器輔助 :為沒(méi)有公網(wǎng)IP的用戶提供免費(fèi)的公共服務(wù)器輔助組網(wǎng),簡(jiǎn)化了組網(wǎng)過(guò)程。
支持平臺(tái) 項(xiàng)目地址 歡迎大家試用,也歡迎感興趣的朋友一起參與開(kāi)發(fā)
Ext Link: https://easytier.top
下載附件:easytier-gui_2.1.0_x64-setup.rar
80.7 MB 4 days ago
12.7 MB 4 days ago
7.32 MB 4 days ago
86.2 MB 4 days ago
8.58 MB 4 days ago
5.77 MB 4 days ago
8.25 MB 4 days ago
6.31 MB 4 days ago
7.87 MB 4 days ago
10.5 MB 4 days ago
5 days ago
5 days ago
一個(gè)簡(jiǎn)單、安全、去中心化的內(nèi)網(wǎng)穿透 VPN 組網(wǎng)方案,使用 Rust 語(yǔ)言和 Tokio 框架實(shí)現(xiàn)。
去中心化 :無(wú)需依賴(lài)中心化服務(wù),節(jié)點(diǎn)平等且獨(dú)立。
安全 :支持利用 WireGuard 加密通信,也支持 AES-GCM 加密保護(hù)中轉(zhuǎn)流量。
高性能 :全鏈路零拷貝,性能與主流組網(wǎng)軟件相當(dāng)。
跨平臺(tái) :支持 MacOS/Linux/Windows/Android,未來(lái)將支持 IOS??蓤?zhí)行文件靜態(tài)鏈接,部署簡(jiǎn)單。
無(wú)公網(wǎng) IP 組網(wǎng) :支持利用共享的公網(wǎng)節(jié)點(diǎn)組網(wǎng),可參考 配置指南
NAT 穿透 :支持基于 UDP 的 NAT 穿透,即使在復(fù)雜的網(wǎng)絡(luò)環(huán)境下也能建立穩(wěn)定的連接。
子網(wǎng)代理(點(diǎn)對(duì)網(wǎng)) :節(jié)點(diǎn)可以將可訪問(wèn)的網(wǎng)段作為代理暴露給 VPN 子網(wǎng),允許其他節(jié)點(diǎn)通過(guò)該節(jié)點(diǎn)訪問(wèn)這些子網(wǎng)。
智能路由 :根據(jù)流量智能選擇鏈路,減少延遲,提高吞吐量。
TCP 支持 :在 UDP 受限的情況下,通過(guò)并發(fā) TCP 鏈接提供可靠的數(shù)據(jù)傳輸,優(yōu)化性能。
高可用性 :支持多路徑和在檢測(cè)到高丟包率或網(wǎng)絡(luò)錯(cuò)誤時(shí)切換到健康路徑。
IPV6 支持 :支持利用 IPV6 組網(wǎng)。
多協(xié)議類(lèi)型 : 支持使用 WebSocket、QUIC 等協(xié)議進(jìn)行節(jié)點(diǎn)間通信。
下載預(yù)編譯的二進(jìn)制文件
訪問(wèn) GitHub Release 頁(yè)面 下載適用于您操作系統(tǒng)的二進(jìn)制文件。Release 壓縮包中同時(shí)包含命令行程序和圖形界面程序。
通過(guò) crates.io 安裝
通過(guò)源碼安裝
cargo install --git https://github.com/EasyTier/EasyTier.git easytier 通過(guò)Docker Compose安裝
請(qǐng)?jiān)L問(wèn) EasyTier 官網(wǎng) 以查看完整的文檔。
使用一鍵腳本安裝 (僅適用于 Linux)
wget -O /tmp/easytier.sh " https://raw.githubusercontent.com/EasyTier/EasyTier/main/script/install.sh" && bash /tmp/easytier.sh install 使用本腳本安裝的 Easytier 可以使用腳本的 uninstall/update 對(duì)其卸載/升級(jí)
使用 Homebrew 安裝 (僅適用于 MacOS)
brew tap brewforge/chinese
brew install --cask easytier 下文僅描述命令行工具的使用,圖形界面程序可參考下述概念自行配置。
確保已按照 安裝指南 安裝 EasyTier,并且 easytier-core 和 easytier-cli 兩個(gè)命令都已經(jīng)可用。
假設(shè)雙節(jié)點(diǎn)的網(wǎng)絡(luò)拓?fù)淙缦?/p>
在節(jié)點(diǎn) A 上執(zhí)行:
sudo easytier-core --ipv4 10.144.144.1 命令執(zhí)行成功會(huì)有如下打印。
在節(jié)點(diǎn) B 執(zhí)行
sudo easytier-core --ipv4 10.144.144.2 --peers udp://22.1.1.1:11010 測(cè)試聯(lián)通性
兩個(gè)節(jié)點(diǎn)應(yīng)成功連接并能夠在虛擬子網(wǎng)內(nèi)通信
使用 easytier-cli 查看子網(wǎng)中的節(jié)點(diǎn)信息
基于剛才的雙節(jié)點(diǎn)組網(wǎng)例子,如果有更多的節(jié)點(diǎn)需要加入虛擬網(wǎng)絡(luò),可以使用如下命令。
sudo easytier-core --ipv4 10.144.144.2 --peers udp://22.1.1.1:11010
其中 --peers
參數(shù)可以填寫(xiě)任意一個(gè)已經(jīng)在虛擬網(wǎng)絡(luò)中的節(jié)點(diǎn)的監(jiān)聽(tīng)地址。
子網(wǎng)代理(點(diǎn)對(duì)網(wǎng))配置 假設(shè)網(wǎng)絡(luò)拓?fù)淙缦拢?jié)點(diǎn) B 想將其可訪問(wèn)的子網(wǎng) 10.1.1.0/24 共享給其他節(jié)點(diǎn)。
則節(jié)點(diǎn) B 的 easytier 啟動(dòng)參數(shù)為(新增 -n 參數(shù))
sudo easytier-core --ipv4 10.144.144.2 -n 10.1.1.0/24 子網(wǎng)代理信息會(huì)自動(dòng)同步到虛擬網(wǎng)絡(luò)的每個(gè)節(jié)點(diǎn),各個(gè)節(jié)點(diǎn)會(huì)自動(dòng)配置相應(yīng)的路由,節(jié)點(diǎn) A 可以通過(guò)如下命令檢查子網(wǎng)代理是否生效。 檢查路由信息是否已經(jīng)同步,proxy_cidrs 列展示了被代理的子網(wǎng)。
easytier-cli route 測(cè)試節(jié)點(diǎn) A 是否可訪問(wèn)被代理子網(wǎng)下的節(jié)點(diǎn)
EasyTier 支持共享公網(wǎng)節(jié)點(diǎn)進(jìn)行組網(wǎng)。目前已部署共享的公網(wǎng)節(jié)點(diǎn) tcp://public.easytier.top:11010
。
使用共享節(jié)點(diǎn)時(shí),需要每個(gè)入網(wǎng)節(jié)點(diǎn)提供相同的 --network-name
和 --network-secret
參數(shù),作為網(wǎng)絡(luò)的唯一標(biāo)識(shí)。
以雙節(jié)點(diǎn)為例,節(jié)點(diǎn) A 執(zhí)行:
sudo easytier-core -i 10.144.144.1 --network-name abc --network-secret abc -e tcp://public.easytier.top:11010
節(jié)點(diǎn) B 執(zhí)行
sudo easytier-core --ipv4 10.144.144.2 --network-name abc --network-secret abc -e tcp://public.easytier.top:11010
命令執(zhí)行成功后,節(jié)點(diǎn) A 即可通過(guò)虛擬 IP 10.144.144.2 訪問(wèn)節(jié)點(diǎn) B。
EasyTier 可以用作 WireGuard 服務(wù)端,讓任意安裝了 WireGuard 客戶端的設(shè)備訪問(wèn) EasyTier 網(wǎng)絡(luò)。對(duì)于目前 EasyTier 不支持的平臺(tái) (如 iOS、Android 等),可以使用這種方式接入 EasyTier 網(wǎng)絡(luò)。
假設(shè)網(wǎng)絡(luò)拓?fù)淙缦拢?/p>
我們需要 iPhone 通過(guò)節(jié)點(diǎn) A 訪問(wèn) EasyTier 網(wǎng)絡(luò),則可進(jìn)行如下配置:
在節(jié)點(diǎn) A 的 easytier-core 命令中,加入 --vpn-portal 參數(shù),指定 WireGuard 服務(wù)監(jiān)聽(tīng)的端口,以及 WireGuard 網(wǎng)絡(luò)使用的網(wǎng)段。
# 以下參數(shù)的含義為: 監(jiān)聽(tīng) 0.0.0.0:11013 端口,WireGuard 使用 10.14.14.0/24 網(wǎng)段
sudo easytier-core --ipv4 10.144.144.1 --vpn-portal wg://0.0.0.0:11013/10.14.14.0/24
easytier-core 啟動(dòng)成功后,使用 easytier-cli 獲取 WireGuard Client 的配置。
$> easytier-cli vpn-portal
portal_name: wireguard
############### client_config_start ###############
[Interface]
PrivateKey = 9VDvlaIC9XHUvRuE06hD2CEDrtGF+0lDthgr9SZfIho=
Address = 10.14.14.0/32 # should assign an ip from this cidr manually
[Peer]
PublicKey = zhrZQg4QdPZs8CajT3r4fmzcNsWpBL9ImQCUsnlXyGM=
AllowedIPs = 10.144.144.0/24,10.14.14.0/24
Endpoint = 0.0.0.0:11013 # should be the public ip(or domain) of the vpn server
PersistentKeepalive = 25
############### client_config_end ###############
connected_clients:
[]
使用 Client Config 前,需要將 Interface Address 和 Peer Endpoint 分別修改為客戶端的 IP 和 EasyTier 節(jié)點(diǎn)的 IP。將配置文件導(dǎo)入 WireGuard 客戶端,即可訪問(wèn) EasyTier 網(wǎng)絡(luò)。
每個(gè)虛擬網(wǎng)絡(luò)(通過(guò)相同的網(wǎng)絡(luò)名稱(chēng)和密鑰建鏈)都可以充當(dāng)公共服務(wù)器集群。其他網(wǎng)絡(luò)的節(jié)點(diǎn)可以連接到公共服務(wù)器集群中的任意節(jié)點(diǎn),無(wú)需公共 IP 即可發(fā)現(xiàn)彼此。
運(yùn)行自建的公共服務(wù)器集群與運(yùn)行虛擬網(wǎng)絡(luò)完全相同,不過(guò)可以跳過(guò)配置 ipv4 地址。
也可以使用以下命令加入官方公共服務(wù)器集群,后續(xù)將實(shí)現(xiàn)公共服務(wù)器集群的節(jié)點(diǎn)間負(fù)載均衡:
sudo easytier-core --network-name easytier --network-secret easytier -p tcp://public.easytier.top:11010
可使用 easytier-core --help
查看全部配置項(xiàng)
我們歡迎并鼓勵(lì)社區(qū)貢獻(xiàn)!如果你想?yún)⑴c進(jìn)來(lái),請(qǐng)?zhí)峤?nbsp;GitHub PR 。詳細(xì)的貢獻(xiàn)指南可以在 CONTRIBUTING.md 中找到。
ZeroTier : 一個(gè)全球虛擬網(wǎng)絡(luò),用于連接設(shè)備。
TailScale : 一個(gè)旨在簡(jiǎn)化網(wǎng)絡(luò)配置的 VPN 解決方案。
vpncloud : 一個(gè) P2P Mesh VPN
Candy : 可靠、低延遲、抗審查的虛擬專(zhuān)用網(wǎng)絡(luò)
EasyTier 根據(jù) Apache License 2.0 許可證發(fā)布。
該文章在 2024/12/24 18:19:09 編輯過(guò)