TailScale 實現遠端訪問整段局域網(ZeroTier另一選擇)
| 前言: |
之前的貼文分享了ZeroTier 實現遠端訪問局域網 ,最近發現一款軟件TailScale感覺設定上更簡單一點,僅僅透過帳號登入就可以接入TailScale網絡內。
TailScale是以Wireguard的協議加密,所以安全性更高,而且是P2P連線,流量不經伺服器,延遲更低、私密性更高。
| 目錄內容: |
- 安裝及加入到
TailScale網絡 - 透過設定其中1部
TailScale的裝置為網關「Subnet Router」,可以訪問整個內網網段
| 1. 安裝及加入到「TailScale」網絡 |
如果是Windows用戶可以到官網下載安裝Tailscale,或者透過Chocolatey軟件包安裝。
choco install tailscale -y雙擊桌面右下角的圖示
使用谷歌或者微軟賬號進行登錄
成功授權後可以查看分配到的IP地址
Linux用戶可以到Download · Tailscale找到相對應的CPU平台及架構安裝.
我以Ubuntu 20.04為範例
- 添加
Tailscale的金鑰和軟件倉庫地址
curl -fsSL https://pkgs.tailscale.com/stable/ubuntu/focal.gpg | sudo apt-key add -
curl -fsSL https://pkgs.tailscale.com/stable/ubuntu/focal.list | sudo tee /etc/apt/sources.list.d/tailscale.list- 安裝
Tailscale
sudo apt update
sudo apt install tailscale- 啟用
Tailscale及透過網址驗證登入到Tailscale網絡
sudo tailscale up此頁面顯示成功授權
返回到Linux 終端查看分配到的IP地址
tailscale ipTailscale 網絡內的裝置可以互通
| 2. 透過設定其中1部「TailScale」的裝置為網關「Subnet Router」,可以訪問整個內網網段 |
因為不是每一部設備都可以安裝到Tailscale, 所以這樣設定「Subnet Route」的好處是家裡內網只要1部Linux裝置接入到Tailscale網絡,其他所有的外網的Tailscale裝置都可以透過這部Linux裝置作為網關訪問家裡內網所有的設備,如: 印表機,路由器,伺服器等等。
設定步驟:
- 啟用 Linux 上的 IP 轉發(IP Forwarding)
因為「Subnet Route」的設定需要用到 IP 轉發(IP Forwarding)特性
使用以下指命啟用
echo 'net.ipv4.ip_forward = 1' | sudo tee -a /etc/sysctl.conf
echo 'net.ipv6.conf.all.forwarding = 1' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p /etc/sysctl.conf- 以Linux作為「Subnet Route」(子網路由網關)連接到
Tailscale
Tailscale不需要防火牆配置,會自動管理規則,以允許轉發。設定過程也沒涉及到iptable,一條指令可以完成。
sudo tailscale up --advertise-routes=20.13.3.0/2420.13.3.0/24替換為自己的網段,可以是IPV4或者IPV6。- 登入到網頁控制台 >
Machines
Enable All允許轉發所有
基於安全特性,Tailscale每隔6個月需要重新授權裝置,作為「Subnet Router」(子網路由網關),建議停用。
- 外網的
Tailscale裝置線路測試
可以看到是經節點「Subnet Router」IP 100.101.41.50 接入到內網 20.13.3.1,延遲也很理想。
以下是使用內網IP連入家裡的各服務及裝置
測速
| 結語: |
TailSale和ZeroTier的使用場景上非常相近,沒有那個占優,根據自身網絡環境的連線質量較佳去選取。透過ZeroTier 實現遠端訪問局域網的設定不是對所有自定網段有效,如今次的
20.13.3.0/24的網段失效,Zerotier誤判為外網網段而不能訪問。而使用TailSale的設定可以實現遠端訪問網段為20.13.3.0/24的局域網。
| 參考資料: |

























目前有 exit node 選項,好像可以取代 Subnet Routers 這些設定了。