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

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

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

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

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

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

1. Linux安裝ZeroTier

根據官方文件

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

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

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

1
sudo pacman -S zerotier-one

Alpine Linux從官方儲存庫安裝:

1
sudo apk add zerotier-one

Gentoo從官方儲存庫安裝:

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

4. 圖形化管理界面 Zerotier GUI

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

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

Arch Linux從AUR安裝:

1
yay -S zerotier-gui-git

Debian/Ubuntu手動製作Deb檔:

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

感謝您的閱讀。歡迎分享Ivon的部落格(ivonblog.com)的文章,引用或轉載請註明文章網址,並遵守創用CC-姓名標示-非商業性-禁止改作 4.0 國際授權條款。如需商業使用請來信告之。

written by human, not by AI

如果本網站文章對您有幫助,歡迎請我喝杯珍珠奶茶。

留言板

點選按鈕,選擇您覺得方便的留言系統。要討論程式碼請用Giscus,匿名討論請用Disqus。

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

這是Disqus留言板,您可能會看到Disqus投放的廣告。無論有無登入皆可留言。此處留言只有本站參與者看得到。若您選擇以訪客身份匿名留言,就不會收到後續回覆通知。