穿戴式跳d放在里面逛超市的_av无码网站在线_国产午夜亚洲欧美家园美丽_久久无码一二三四_精品久久香蕉国产线看观看亚洲

Top
首頁>即刻 > 正文

滾動:這個不花錢的方法,讓你可以遠程訪問家里的設備

發(fā)布時間:2023-02-02 00:58:47        來源:少數(shù)派

今年春節(jié),返鄉(xiāng)過年的朋友應該都有不少吧?離開了常住的居家和辦公環(huán)境,偶爾還是會碰到需要訪問家中/公司設備的場景?;蛟S是臨時下載放在服務器中的文件,或許是連上住所的 NAS 和親朋好友一起觀看自己收藏的電影。


(資料圖)

但對我來說,通過外網(wǎng)訪問 NAS 的速度相比局域網(wǎng)總覺得差點意思,有沒有更好的解決方案,讓我身在異地也能像局域網(wǎng)訪問那樣用上家里設備呢?

這次我選擇了軟件定義廣域網(wǎng)(SD-WAN)來解決這個問題,效果還算不錯。通過虛擬化的技術,SD-WAN 將不同網(wǎng)絡下的設備連接到一個局域網(wǎng)中,讓不同設備之間高效互訪。比起傳統(tǒng)內(nèi)網(wǎng)穿透進行跨網(wǎng)段設備訪問,整體操作相對簡單,用起來更加靈活,并且還有相當不錯的訪問穩(wěn)定性。

本文介紹其中一種不花錢、但需要花點時間的配置方案,希望你下次也能用得上。

SD-WAN 簡評

在 SD-WAN 解決方案這條賽道上,市面上目前可以選擇的產(chǎn)品主要要有 Zerotier、Tailscale 以及蒲公英這么幾款。

Zerotier 和蒲公英少數(shù)派此前已有介紹,這里簡單梳理一下這些方案的優(yōu)缺點:

Zerotier

優(yōu)點:可直接使用官方提供的方案快速,同時支持私有化部署 缺點: 由于網(wǎng)絡協(xié)議的限制,不同的網(wǎng)絡運營商下設備連接存在較高延遲 在群暉 DSM 7 上沒有圖形化客戶端

官方免費版存在組網(wǎng)限制

Zerotier 的原理其實很容易理解:通過根節(jié)點來創(chuàng)建一個中心服務器,加入其中的設備都需要和這個中心服務器通信,從而構(gòu)建起一個虛擬局域網(wǎng)。由于中心服務器部署在海外,國內(nèi)訪問難免會出現(xiàn)不穩(wěn)定的情況,跨運營商設備互訪時丟包尤其嚴重。

Tailscale

優(yōu)點:跨運營商設備互訪穩(wěn)定性較好,客戶端開源 缺點: 控制服務器非開源軟件

官方免費賬戶存在較多限制

相比 Zerotier,Tailscale 在底層網(wǎng)絡邏輯上采用了 WireGuard 協(xié)議,因此不同運營商之間的設備互訪的速度更佳,有公網(wǎng) IP 時效果更為明顯。不過和 Zerotier 的問題類似,由于中心服務器均部署在海外,網(wǎng)絡不穩(wěn)定的情況在所難免。

蒲公英

優(yōu)點:國內(nèi)廠商出品,網(wǎng)絡訪問最為穩(wěn)定

缺點:免費版套餐設備限制較大,必須付費升級

蒲公英屬于國內(nèi)廠商推出的 SD-WAN,相比以上兩款的海外 SD-WAN 服務,最大的優(yōu)勢就是中心服務器均在國內(nèi),因此單就從網(wǎng)絡訪問性上自然最佳;在沒有公網(wǎng) IP 的設備之間通過國內(nèi)服務器進行中繼服務可謂是相當穩(wěn)定。不過它的缺點也很明顯:免費套餐對設備限制較高,要想真正用起來必須付費。

綜上,如果你想少折騰并且需要解決剛需,花點錢直接選擇蒲公英付費即可。但如果你和我一樣希望通過私有化部署免費、無限制地使用 SD-WAN,不妨跟隨下面的流程手動配置一套屬于自己的遠程設備訪問方案。

HeadScale 是什么

上面提到的服務中,Tailscale 和 Zerotier 其實都是商業(yè)化服務,免費賬戶服務基本夠用,服務穩(wěn)定性則是個大問題。

因此 Tailscale 很早之前就有了可以私有化部署的開源方案。此前由于底層網(wǎng)絡協(xié)議的限制,私有化部署后跨運營商設備穿透失敗的情況依然時有發(fā)生——直到 HeadScale 的出現(xiàn)。

Headscale 是歐洲航天局的 Juan Font 使用 Go 語言開發(fā),在 BSD 許可下發(fā)布,它基本上實現(xiàn)了 Tailscale 控制服務器的所有主要功能,沒有任何設備數(shù)量的限制,同時可以直接借用 Tailscale 的客戶端來牽線搭橋。

它唯一的缺點是目前尚沒有可視化界面,也無法直接使用 Tailscale 的 iOS 客戶端??紤]到我主要想實現(xiàn)不同區(qū)域下桌面設備的互訪,針對移動端的這個小缺點倒顯得不那么重要。

另外,既然我們搭建服務最終目的是「免費無限制地使用」,這次:

不再云服務器來部署 HeadScale 控制服務器,而是使用家中的 NAS

需要提前聯(lián)系運營商獲取家中網(wǎng)絡的公網(wǎng) IP

滿足這兩個條件,接下來就就可以部署 HeadScale 了。

在群暉上部署控制服務器

我家中主要是使用群暉 NAS,并且部署 HeadScale 控制服務器需要有公網(wǎng) IP,因此我首先需要做的是設置 DDNS 并開啟相應的端口映射。DDNS 設置的操作視設備而定,開啟后記得映射 8881、9090 以及 50443 這三個端口即可。

接著我們需要添加 HeadScale 的軟件安裝源,這里筆者我選擇了「我不是礦神」提供的一個第三方源:打開群暉中的「套件中心」,然后在「設置」中切換到套件來源,新增一個新的套件來源。

名稱填寫「inmk」就好,這里需要注意的是,如果群暉系統(tǒng)版本為 DSM 6.X,位置填寫https://spk.imnks.com/,如果是 DSM 7.x,位置則填寫https://spk7.imnks.com/。

回到套件中心,點擊左邊側(cè)邊欄切換到「社群」,找到 HeadScale 軟件點擊下載并安裝,如果彈出警告請點擊同意并安裝。安裝完成后我們就可以在主菜單中看到 HeadScale 了。

點擊 HeadScale 我們可以看到一個參數(shù)設置頁面,這里面我們需要將server_url后面的 127.0.0.1 修改成 DDNS 地址,后面的端口號保持不動。另外listen_addr:、metrics_listen_addr:以及grpc_listen_addr:后面的 127.0.0.1 均改為 0.0.0.0。

最后直接點擊保存,這時 HeadScale 服務會再次重啟。

接下來我們需要創(chuàng)建一個分組空間來方便標識加入的設備。這里需要使用 SSH 終端來訪問家中群暉,以 root 權(quán)限登錄后,輸入:

cd /var/packages/headscale/target/bin

我們這里創(chuàng)建一個名為sspaihx的分組空間,接下來輸入:

headscale namespaces create sspaihx

緊接著我們查看一下這個命名空間是否創(chuàng)建成功了,輸入:

headscale namespaces list

如果看到Name里面有我們創(chuàng)建的這個sspaihx的分組空間就表示分組空間已經(jīng)創(chuàng)建成功,至此我們的 HeadScale 控制服務器就已經(jīng)部署完畢了。

使用 Tailscale 客戶端連接

創(chuàng)建好 HeadScale 控制服務器后,接下來就是將客戶端連接上了。正如上面所言,我們在客戶端上依舊可以使用 Tailscale 的客戶端——但需要進行一番小改造。

將 Windows 客戶端連接到 HeadScale 網(wǎng)絡中

我們最常使用的桌面系統(tǒng)自然是 Windows。這里我們首先在桌面打開瀏覽器,然后使用瀏覽器訪問:

http://剛才設置的 ip 或者域名:8881/windows

在打開的頁面中下載一個注冊表文件,然后將其導入到系統(tǒng)中。緊接著去Tailscale下載 Windows 客戶端并安裝,然后鼠標單擊系統(tǒng)托盤處的 Tailscale 圖標并選擇 log in。此時會打開如下頁面:

復制headscale -n這一段命令,將其中的NAMESPACE替換成前面我們創(chuàng)建的分組空間名(sspaihx),然后再次打開 SSH 終端,使用 root 權(quán)限連接群暉并輸入如下兩段命令:

cd /var/packages/headscale/target/bin

headscale -n NAMESPACE nodes register --key nodekey:7f2fdxxxxxxxx

如果終端顯示registered則表示設備已經(jīng)加入,這時候在右鍵點擊系統(tǒng)托盤處的 Tailscale 圖標,然后點擊sspaihx分組空間點擊加入即可。

最后,我們回到 SSH 終端中輸入:

headscale nodes list

如果看到當前已經(jīng)有設備名單,則表示已經(jīng)成功將 Windows 設備加入到 HeadScale 網(wǎng)絡了。

將群暉連接到 headScale 網(wǎng)絡中

群暉既然可以作為控制服務器,當然也可以作為客戶端連接到控制器中。其中控制服務器軟件是 HeadScale,客戶端則依舊是官方的 Tailscale 客戶端。

我們需要到打開群暉的「套件中心」然后直接搜索「Tailscale」下載安裝,安裝完成后打開 SSH 客戶端,通過 root 賬戶連接到群暉上并輸入如下兩段命令:

cd /var/packages/Tailscale/target/bin

tailscale up --login-server=http://剛才設置的 ip 或者域名:8881 --accept-dns=false

輸入完成之后終端會打印出一段網(wǎng)址,將其復制并使用瀏覽器打開——其實就和剛才 Windows 上的呈現(xiàn)的設備認證一樣,同樣是headscale -n一段命令,將其中的NAMESPACE替換成前面我們創(chuàng)建的分組空間名。然后在 SSH 終端輸入如下命令:

cd /var/packages/headscale/target/bin

headscale -n NAMESPACE nodes register --key nodekey:7f2fdxxxxxxxx

回車后應該可以看到終端顯示registered,如果不確定是否加入,可以再用下面這條命令查看設備是否加入。

headscale nodes list

將 macOS 連接到 HeadScale 網(wǎng)絡中

相比 Windows ,macOS 加入 HeadScale 網(wǎng)絡中會略微有些復雜,這里首先需要使用瀏覽器打開:

http://剛才設置的 ip 或者域名:8881/apple

在這個頁面中我們需要確定下載什么版本客戶端,如果你有外區(qū)的 Apple ID 賬號,這里可以直接選擇 App Store 版本的 macOS 客戶端,否則就只能選擇 Standalone 客戶端。

選擇好客戶端之后,首先下載對應版本的描述文件(Profiles)并雙擊導入系統(tǒng),打開「設置 > 隱私與安全性 > 描述文件」,選擇已下載的描述文件,雙擊安裝并授權(quán)。

最后我們再安裝并啟動 Tailscale 客戶端:在菜單欄中點擊 Tailscale 圖標,然后點擊 log in 打開相應的設備認證頁面。

同樣是headscale -n這段命令,將其中的NAMESPACE替換成前面我們創(chuàng)建的分組空間名。然后直接在 macOS 打開 SSH 終端,使用 root 賬戶連接群暉,輸入如下命令完成設備授權(quán):

cd /var/packages/headscale/target/bin

headscale -n NAMESPACE nodes register --key nodekey:7f2fdxxxxxxxx

回車后看到registered表示設備已經(jīng)完成添加,這時候再輸入:

headscale nodes list

可以看到不同系統(tǒng)設備都已經(jīng)加入到這個虛擬局域網(wǎng)中了,我們使用各自對應的 IP 互相 ping 一下,看看能否直接實現(xiàn)互訪,比如使用這個內(nèi)網(wǎng) ip 訪問群暉 DSM 系統(tǒng)。

結(jié)語

通過以上方案,基于 DDNS + 動態(tài)公網(wǎng) IP,在沒有花費一分錢的情況下,我們實現(xiàn)了諸多商業(yè) SD-WAN 軟件才能獲得互聯(lián)效果。這種方案不僅沒有設備數(shù)量限制,同時也有著不錯的跨運營商互訪穩(wěn)定性。

另外,如果你的資金或者條件允許,也可以嘗試直接購買一臺云服務器來部署 HeadScale,具體的方法可以參考GitHub。

相關鏈接???

我不是礦神:?

https://imnks.com/

GitHub:?

https://github.com/juanfont/headscale

原文鏈接:

https://sspai.com/post/77971?utm_source=wechat&utm_medium=social

作者:化學心情下2

責編:克萊德

/更多熱門文章/

關鍵詞: 我們需要 網(wǎng)絡協(xié)議 首先需要

相關新聞