快轉到主要內容

Linux如何安裝 & 使用ZeroTier建立虛擬區網

Linux系統 Self-hosting自架 Linux ZeroTier
🗓️ 民國112年 癸卯年
✍ 切換正體/簡體字
目錄

ZeroTier是提供免費虛擬區域網路的公司,軟體開源且可自架,支援各大作業系統。

ZeroTier尤其適合想從外面網路連到家裡電腦/NAS的用戶。只要建立一個ZeroTier網路,其他裝置用ZeroTier客戶端連線至該網路,則等同連線到同樣的虛擬區域網路。用途有:存取家中的伺服器、進行多人遊戲、遠端桌面等等。

原理類似VPN,有術語將其稱為「內網穿透」。不過使用者不需費心設定路由器的通訊埠轉發,只要確認防火牆的通訊埠能讓ZeroTier通過即可。

ZeroTier基本方案免費且不限速,僅有限制最多50個裝置連線,個人使用足夠了,還能控管加入連線的用戶提昇安全性。

下面簡介如何在Linux系統設定與安裝ZeroTier,有純文字指令版與圖形化版本,其他作業系統的設定方法請看 這篇

1. Linux安裝ZeroTier
#

根據 官方文件

Debian, Ubuntu, CentOS, RHEL, Fedora使用以下指令安裝ZeroTier,安裝指令稿會自動識別發行版。

curl -s https://install.zerotier.com | sudo bash

Arch Linux和Manjaro則從官方套件庫安裝:

sudo pacman -S zerotier-one

Alpine Linux從官方儲存庫安裝:

sudo apk add zerotier-one

Gentoo從官方儲存庫安裝:

sudo emerge --ask net-misc/zerotier

openSUSE似乎被ZeroTier遺忘了…雖然技術上說openSUSE可以拿RHEL的rpm來用。

如果你的Linux發行版沒人打包ZeroTier,可以考慮用 Docker跑ZeroTier,Snap版的ZeroTier我試了跑不起來。

2. 管理ZeroTier後台
#

  1. ZeroTier官方網站註冊帳號。

  2. 登入 ZeroTier後台,點選Create A NetWork

  3. 點進去新建的Network,裡面會顯示一組英數代碼Network ID,這就是你的網路的代碼,將這個代碼提供給其他裝置加入。

  4. 裝置連線後,會在ZeroTier後台看到裝置,要在左邊的格子打勾,該裝置才會允許加入。

  5. ZeroTier會給每個裝置分配虛擬區域IP,例如從上圖可以得知電腦的區域IP是172.30.221.253。除非刪除裝置,否則這個虛擬區域IP是固定的。

3. 加入ZeroTier網路
#

  1. 加入ZeroTier網路前,建議開啟9993/udp通訊埠以讓ZeroTier連線更流暢。以UFW來說的話就是:
sudo ufw allow 9993/udp
sudo ufw reload
  1. 啟動ZeroTier服務,設定開機自動啟動
sudo systemctl start zerotier-one
sudo systemctl enable zerotier-one
  1. 如果您的電腦使用Wifi連線,致使要登入桌面才會連上網路的話,則必須啟用systemd-networkd-wait-online服務,讓ZeroTier在有網路之後才嘗試連線 ( 參考 )
sudo systemctl enable systemd-networkd-wait-online
  1. 加入ZeroTier網路
sudo zerotier-cli join "Network ID"
#應會回傳200 join OK
  1. 確認ZeroTier網路狀態
sudo zerotier-cli status
  1. 確認ZeroTier有無P2P成功,如果有的話Peers上面會顯示LEAF,這樣網路會順暢些。
sudo zerotier-cli peers
  1. 離開ZeroTier網路
sudo zerotier-cli leave "Network ID"
#應會回傳200 leave OK

4. 圖形化管理界面 Zerotier GUI
#

第三方開發的ZeroTier管理程式,安裝後可以用圖形界面管理ZeroTier連線。

啟動需要sudo,只支援Arch系和Debian的發行版。

Arch Linux從AUR安裝:

yay -S zerotier-gui-git

Debian/Ubuntu手動製作Deb檔:

git clone https://github.com/tralph3/ZeroTier-GUI.git
cd ZeroTier-GUI
./make_deb.sh
chmod +x make_deb.sh

相關文章

ZeroTier使用教學:建立虛擬區網的VPN軟體
Linux系統 Self-hosting自架 VPN ZeroTier
Sunshine:Linux版Moonlight教學,自架免費雲端串流遊戲服務+遠端桌面
Linux系統 Self-hosting自架 Cloud Gaming Remote Desktop Steam Linux
Linux無法clone自己的Github repository的解決方法
Linux系統 Linux使用技巧 Github Linux

留言板

此處提供二種留言板。點選按鈕,選擇您覺得方便的留言板。要討論程式碼請用Giscus,匿名討論請用Disqus。

這是Giscus留言板,需要Github帳號才能留言。支援markdown語法,若要上傳圖片請貼Imgur連結。您的留言會在Github Discussions向所有人公開。

這是Disqus留言板,您可能會看到Disqus強制投放的廣告。有時留言可能會被系統判定需審核,導致延遲顯示,請見諒。