自己動手組建可遠(yuǎn)程實(shí)時同步的obsidian

Obsidian&Zettelkasten&LYT系列文章的總目錄

? ? ? 前幾篇我們介紹了obsidian的具體用法,這一篇我們說說配套的一些網(wǎng)絡(luò)配置,先說一下我的使用場景:日常辦公我用的是一臺macbookpro筆記本作為生產(chǎn)力的主力機(jī),家里有一臺高配的臺式機(jī)安裝win10操作系統(tǒng),用來處理各種視頻類剪輯任務(wù)(當(dāng)然少不了玩玩游戲大作),還有一個群暉NAS設(shè)備用來進(jìn)行數(shù)據(jù)備份和提供各類遠(yuǎn)程服務(wù)。每臺設(shè)備上都安裝了obsidian,obsidian的筆記和卡片數(shù)據(jù)需要在多個設(shè)備間實(shí)時同步,確保思路不中斷,實(shí)時在線。如果在家里,這些設(shè)備都在家里的無線局域網(wǎng)內(nèi),實(shí)現(xiàn)實(shí)時互通沒有問題,但是如果出差或者去單位上班,就無法進(jìn)行數(shù)據(jù)同步。所以我的要求就是無論身在哪里,隨時隨地各個設(shè)備的數(shù)據(jù)能夠做到實(shí)時同步,無論obsidian在哪臺設(shè)備打開使用,第一時間看到的都是最新的數(shù)據(jù)。

? ? ? 經(jīng)過幾天的折騰,最終搞定了這個訴求。我想這也是很多同學(xué)日常使用obsidian會遇到的問題,所以單獨(dú)寫一篇來簡單介紹一下,類似的思路,可以解決大部分?jǐn)?shù)據(jù)同步的訴求,不僅僅是obsidian,所以這也是一篇比較實(shí)用的教程了。

遠(yuǎn)程訪問數(shù)據(jù)

? ? ? 要解決obsidian異地遠(yuǎn)程數(shù)據(jù)同步的問題,需要幾個步驟:

? ? ? 1、開通外網(wǎng)IP

? ? ? 2、申請域名,打開域名解析服務(wù)

? ? ? 3、打開DDNS動態(tài)域名解析,確保隨時隨地在互聯(lián)網(wǎng)可以訪問到遠(yuǎn)端設(shè)備

? ? ? 4、配置obsidian,使用syncthing實(shí)現(xiàn)遠(yuǎn)程實(shí)時同步

? ? ? 上述步驟解決了兩個核心問題,第一,擁有一個全球可隨時訪問的屬于自己的域名。第二,通過域名訪問到設(shè)備數(shù)據(jù)的同步機(jī)制可以隨意配置,滿足不同場景下自己對數(shù)據(jù)服務(wù)和數(shù)據(jù)備份的訴求。

? ? ? 閑話不說,我們開始上干貨。

? ? ? 1、開通外網(wǎng)IP

? ? ? IP類似家里的地址門牌、個人的身份證,是在互聯(lián)網(wǎng)上找到某臺設(shè)備的唯一標(biāo)識。由于IP資源是有限的,所以一般情況下,電腦使用的都是某個局域網(wǎng)內(nèi)自動分配的內(nèi)網(wǎng)IP,這個內(nèi)網(wǎng)IP無法通過互聯(lián)網(wǎng)直接訪問。所以我們首先需要申請一個外網(wǎng)IP?,F(xiàn)在大多數(shù)家庭使用的是幾大運(yùn)營商提供的寬帶服務(wù),默認(rèn)都是不打開外網(wǎng)IP的權(quán)限,需要自己打電話向運(yùn)營商申請,開通起來其實(shí)很方便,分分鐘的事兒。需要注意的是,外網(wǎng)IP分為靜態(tài)IP和動態(tài)IP兩種,一般靜態(tài)IP的租用價(jià)格很高,運(yùn)營商給家庭開通的都是動態(tài)IP,動態(tài)IP在每次路由器重啟時都會發(fā)生變化。

? ? ? 如何查看自己的IP是不是外網(wǎng)IP呢,辦法是,在www.ipip.net查詢一下,如果顯示是動態(tài)IP,再拿這個IP和你的電腦的IP配置里的默認(rèn)網(wǎng)關(guān)的IP比較下,如果一致就說明這個動態(tài)IP申請成功了。

外網(wǎng)IP確認(rèn)

? ? ? 2、申請域名,開通域名解析服務(wù)

? ? ? 接下來,我們需要擁有一個域名,域名就是平時大家上網(wǎng)在瀏覽器內(nèi)輸入的網(wǎng)址,相當(dāng)于我們在互聯(lián)網(wǎng)上的名字,域名通過域名解析(DNS)后,和我們第一步申請的外網(wǎng)IP就綁定在一起了。比如申請的域名是www.mysite.com,當(dāng)我們在瀏覽器里輸入這個網(wǎng)址時,路由器會自動把網(wǎng)址轉(zhuǎn)換成對應(yīng)的外網(wǎng)IP,進(jìn)行尋址路由,最終在互聯(lián)網(wǎng)上找到這臺設(shè)備。外網(wǎng)IP是一個動態(tài)IP,所以每當(dāng)動態(tài)IP發(fā)生變化的時候,需要將我們申請的域名和最新的IP地址重新綁定,這個事肯定不能手動去完成,需要動態(tài)的去解析更新,這個就是DDNS(動態(tài)域名解析)。所以我們申請好域名,開通域名解析之后,還要做一個動作就是開通DDNS服務(wù),完成動態(tài)域名解析。

? ? ? 看看具體操作:

? ? ? (1)申請域名。這個很常見,有很多域名服務(wù)商提供域名,建議花錢購買一個屬于自己的域名,也不算貴,一般的域名價(jià)格每年幾塊到幾十塊不等,后綴都是一些不常用的。如果要一個常用后綴的域名,大概要每年70-90塊錢。我在DNSPOD上申請了一個“.com”后綴的域名,一年70塊錢。一般域名購買還是買一些大廠的域名要可靠一些,主要是后續(xù)的在線支持,遇到問題,大廠的技術(shù)支持要給力的多。這次我買的域名和域名解析都是騰訊云提供的,客服小姐姐很熱心,半夜問問題都有耐心的回復(fù)。實(shí)在搞不定的,還可以QQ遠(yuǎn)程支持幫忙搞定。比如我申請的一級域名是mysite.com。

域名申請與域名解析DNS

? ? ? (2)配置域名。域名配置注意兩個事,一個是搞清楚一級域名和二級域名的關(guān)系,這個我之前一直沒搞明白,耽誤了不少事。另一個是A記錄類型的配置方法。

? ? ? 我們以163.com的網(wǎng)站為例:163.com這個是一級域名,一級域名的格式類似XXX.com的格式,“.com"還可以被換成其他不同的后綴,比如“.cn”、“.gov”等等。

? ? ? www.163.com 這個是一個二級域名,它和mail.163.com類似都是一個二級域名,也就是說,在一級域名基礎(chǔ)上每增加一個“.”的內(nèi)容,就多出一級域名,比如bmw.auto.163.com就是一個三級域名,以此類推。

域名配置

? ? ? A記錄類型的配置,根據(jù)所選域名服務(wù)商的不同,略有差異。不過基本步驟都一樣。以DNSPOD提供的域名服務(wù)為例:

? ? ? 添加一條記錄,在主機(jī)記錄填寫子域名的名稱,比如我家里的群暉主機(jī)未來通過域名訪問我希望是nas.mysite.com,是一個二級域名,那么主機(jī)記錄這里就寫nas。記錄類型選擇A類型,線路默認(rèn),記錄值這里填寫你申請的外網(wǎng)IP地址。這里先這么填,后面打開了DDNS動態(tài)域名解析服務(wù)后,這個IP地址會隨著動態(tài)IP的變化而自動改變。TTL填寫600,點(diǎn)擊添加,過幾秒后,服務(wù)顯示正常。

? ? ? 域名配置是否成功,可以通過命令來檢測:

? ? ? 使用dos控制臺,輸入“ping www.mysite.com” 如果返回不超時,則說明DNS解析正常。也可以通過輸入“nslookup www.mysite.com” 命令來看域名解析的情況。

? ? ? (3)設(shè)置動態(tài)域名DDNS。這一塊花費(fèi)的時間比較多,要解決多個問題。還以騰訊云提供的DDNS服務(wù)為例。要配置好DDNS,需要做幾個動作:

? ? ? 第一,把DDNS服務(wù)申請打開。

DDNS的Token和密鑰申請

? ? ? 先在DNSPOD的賬號管理中心的密鑰管理里申請一對TokenID和Token密鑰,然后在使用dos控制臺(win10是在運(yùn)行窗口里輸入:cmd打開控制臺),輸入如下指令:

curl -X POST https://dnsapi.cn/Record.List -d "login_token=XXXX,XXXXXXXXXXXXXXXX&format=json&domain=mysite.com&sub_domain=nas&record_type=A&offset=0&length=3"

二級域名ID獲取命令

? ? ? “domain=”這里寫你申請的一級域名,我寫的mysite.com;“sub_domain=”這里寫你申請的二級域名,我的是nas。

? ? ? 返回的結(jié)果,需要解析一下,把返回的json數(shù)據(jù),在https://www.json.cn網(wǎng)站進(jìn)行在線解析,找到nas二級域名對應(yīng)的ID為:71XXX3。

用jason解析工具找二級域名ID

? ? ? 有了二級域名的ID后,需要更新動態(tài)域名,在命令行中輸入以下命令:

curl -X POST https://dnsapi.cn/Record.Ddns -d “l(fā)ogin_token=XXXX,XXXXXXXXXXXXXXXX&format=json&domain=mysite.com&record_id=71XXX3&record_line_id=0&sub_domain=nas”

更新二級域名的DDNS

? ? ? 返回的結(jié)果,同樣需要解析,如果“status=1”說明DDNS設(shè)置成功。

? ? ? 查看DDNS是否設(shè)置成功,可以重啟一下路由器,如果DNSPOD的里的域名對應(yīng)的IP地址自動發(fā)生變化,就說明設(shè)置成功。

? ? ? 第二,把家里連接光貓的WIFI路由器的端口轉(zhuǎn)發(fā)NAT打開?,F(xiàn)在一般家里的寬帶都是光纖入戶,用的是光貓,然后WIFI無線路由器連接到光貓上進(jìn)行自動配置實(shí)現(xiàn)上網(wǎng)。運(yùn)營商光貓的路由功能不強(qiáng),所以需要把后續(xù)的路由器配置從光貓改到WIFI路由器上配置,因此第一步先讓運(yùn)營商客服修改下光貓的配置,把自動聯(lián)網(wǎng)改為撥號上網(wǎng),然后登陸無線wifi后臺,通過PPPOE撥號上網(wǎng)的方式重新配置WIFI路由器上網(wǎng)。配置好后,就可以通過無線路由器來進(jìn)行后續(xù)的DDNS和NAT轉(zhuǎn)換配置了。

? ? ? 以我的wifi路由器華為Q2為例:

? ? ? 不同路由器廠商對DNS服務(wù)商的支持程度不一樣,華為Q2的路由器不支持DNSPOD提供的域名,所以配置DDNS我只能另辟蹊徑,通過群輝NAS來實(shí)現(xiàn)DDNS。

? ? ? 這個也很容易,登陸到群暉NAS的操作系統(tǒng)界面,在控制面板中選擇外部訪問,

在群暉NAS上配置DDNS

? ? ? 接著配置WIFI路由器的NAT映射規(guī)則:

? ? ? 以NAS遠(yuǎn)程訪問為例,需要內(nèi)外部打開5000端口,所以增加一條NAT端口映射記錄:

在華為Q2路由器上設(shè)置NAT端口映射規(guī)則

? ? ? NAT端口映射的作用就是在某些端口被禁用的情況下,通過端口映射規(guī)則實(shí)現(xiàn)正常的應(yīng)用訪問。所以后面需要遠(yuǎn)程訪問的應(yīng)用,如果端口有限制都可以通過端口映射的方式來解決。

? ? ? 配置好這些,就剩下最后一步了,obsidian的數(shù)據(jù)同步。

? ? ? 4、配置obsidian,使用syncthing實(shí)現(xiàn)遠(yuǎn)程實(shí)時同步

? ? ? 其實(shí)obsidian不需要額外的配置,因?yàn)樗乃形募褪且欢裮d文本,我們要做的就是在不同的設(shè)備之間實(shí)時同步這些文本。這里需要用到一個軟件syncthing來實(shí)現(xiàn)內(nèi)網(wǎng)同步和遠(yuǎn)程同步。

? ? ? syncthing是一個免費(fèi)的同步軟件,下載地址:https://syncthing.net/downloads/

? ? ? 在MacBook Pro的MACOS、PC的win10和NAS的Linux上分別安裝上syncthing,啟動syncthing后,瀏覽器會自動彈出后臺界面,這里L(fēng)inux上的安裝稍微麻煩一些,可以在PC的win10操作系統(tǒng)上通過ssh的方式登錄到NAS的Linux的console控制臺進(jìn)行安裝和配置。ssh的軟件可以使用putty(https://www.putty.org/),很好用。

? ? ? 使用putty的ssh登錄到NAS的linux控制臺后,輸入命令:

# 下載syncthing,注意查看版本;

wget https://github.com/syncthing/syncthing/releases/download/v1.3.1/syncthing-linux-amd64-v1.3.1.tar.gz

# 解壓

tar xzvf syncthing-linux-amd64-v1.3.1.tar.gz

# 進(jìn)入解壓文件夾

cd syncthing-linux-amd64-v1.3.1

# 將syncthing二進(jìn)制程序復(fù)制到/usr/local/bin目錄,然后就可以通過“syncthing”命令運(yùn)行syncthing了

cp syncthing /usr/local/bin

# 運(yùn)行syncthing

syncthing

? ? ? 需要注意的地方就是,如果要實(shí)現(xiàn)遠(yuǎn)程訪問NAS上的syncthing,需要在控制臺下通過vim修改syncthing的配置文件,把原來的IP地址127.0.0.1改為0.0.0.0,這樣就可以支持遠(yuǎn)程訪問了。

? ? ? 配置文件在這個文件里:“.config/syncthing/config.xml”,用vim打開進(jìn)行編輯就可以了。

? ? ? 關(guān)于syncthing的配置可以參考這篇文章:[Syncthing來同步服務(wù)器數(shù)據(jù)到本地](https://www.emperinter.info/2019/11/14/syncthing/)

? ? ? 最終幾個平臺上的syncthing的配置如下:

MAC端syncthing的配置
群暉NAS端的syncthing配置
PC端的syncthing配置

? ? ? 經(jīng)過上述操作,現(xiàn)在可以遠(yuǎn)程訪問NAS、遠(yuǎn)程同步obsidian,關(guān)鍵是以后可以自己做網(wǎng)盤,自己做各種策略來管理散布在不同地方的文件和數(shù)據(jù),效率提升很多,也很方便。希望這篇文章對大家有用。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容