Obsidian&Zettelkasten&LYT系列文章的總目錄
? ? ? 前幾篇我們介紹了obsidian的具體用法,這一篇我們說(shuō)說(shuō)配套的一些網(wǎng)絡(luò)配置,先說(shuō)一下我的使用場(chǎng)景:日常辦公我用的是一臺(tái)macbookpro筆記本作為生產(chǎn)力的主力機(jī),家里有一臺(tái)高配的臺(tái)式機(jī)安裝win10操作系統(tǒng),用來(lái)處理各種視頻類剪輯任務(wù)(當(dāng)然少不了玩玩游戲大作),還有一個(gè)群暉NAS設(shè)備用來(lái)進(jìn)行數(shù)據(jù)備份和提供各類遠(yuǎn)程服務(wù)。每臺(tái)設(shè)備上都安裝了obsidian,obsidian的筆記和卡片數(shù)據(jù)需要在多個(gè)設(shè)備間實(shí)時(shí)同步,確保思路不中斷,實(shí)時(shí)在線。如果在家里,這些設(shè)備都在家里的無(wú)線局域網(wǎng)內(nèi),實(shí)現(xiàn)實(shí)時(shí)互通沒(méi)有問(wèn)題,但是如果出差或者去單位上班,就無(wú)法進(jìn)行數(shù)據(jù)同步。所以我的要求就是無(wú)論身在哪里,隨時(shí)隨地各個(gè)設(shè)備的數(shù)據(jù)能夠做到實(shí)時(shí)同步,無(wú)論obsidian在哪臺(tái)設(shè)備打開(kāi)使用,第一時(shí)間看到的都是最新的數(shù)據(jù)。
? ? ? 經(jīng)過(guò)幾天的折騰,最終搞定了這個(gè)訴求。我想這也是很多同學(xué)日常使用obsidian會(huì)遇到的問(wèn)題,所以單獨(dú)寫一篇來(lái)簡(jiǎn)單介紹一下,類似的思路,可以解決大部分?jǐn)?shù)據(jù)同步的訴求,不僅僅是obsidian,所以這也是一篇比較實(shí)用的教程了。
? ? ? 要解決obsidian異地遠(yuǎn)程數(shù)據(jù)同步的問(wèn)題,需要幾個(gè)步驟:
? ? ? 1、開(kāi)通外網(wǎng)IP
? ? ? 2、申請(qǐng)域名,打開(kāi)域名解析服務(wù)
? ? ? 3、打開(kāi)DDNS動(dòng)態(tài)域名解析,確保隨時(shí)隨地在互聯(lián)網(wǎng)可以訪問(wèn)到遠(yuǎn)端設(shè)備
? ? ? 4、配置obsidian,使用syncthing實(shí)現(xiàn)遠(yuǎn)程實(shí)時(shí)同步
? ? ? 上述步驟解決了兩個(gè)核心問(wèn)題,第一,擁有一個(gè)全球可隨時(shí)訪問(wèn)的屬于自己的域名。第二,通過(guò)域名訪問(wèn)到設(shè)備數(shù)據(jù)的同步機(jī)制可以隨意配置,滿足不同場(chǎng)景下自己對(duì)數(shù)據(jù)服務(wù)和數(shù)據(jù)備份的訴求。
? ? ? 閑話不說(shuō),我們開(kāi)始上干貨。
? ? ? 1、開(kāi)通外網(wǎng)IP
? ? ? IP類似家里的地址門牌、個(gè)人的身份證,是在互聯(lián)網(wǎng)上找到某臺(tái)設(shè)備的唯一標(biāo)識(shí)。由于IP資源是有限的,所以一般情況下,電腦使用的都是某個(gè)局域網(wǎng)內(nèi)自動(dòng)分配的內(nèi)網(wǎng)IP,這個(gè)內(nèi)網(wǎng)IP無(wú)法通過(guò)互聯(lián)網(wǎng)直接訪問(wèn)。所以我們首先需要申請(qǐng)一個(gè)外網(wǎng)IP?,F(xiàn)在大多數(shù)家庭使用的是幾大運(yùn)營(yíng)商提供的寬帶服務(wù),默認(rèn)都是不打開(kāi)外網(wǎng)IP的權(quán)限,需要自己打電話向運(yùn)營(yíng)商申請(qǐng),開(kāi)通起來(lái)其實(shí)很方便,分分鐘的事兒。需要注意的是,外網(wǎng)IP分為靜態(tài)IP和動(dòng)態(tài)IP兩種,一般靜態(tài)IP的租用價(jià)格很高,運(yùn)營(yíng)商給家庭開(kāi)通的都是動(dòng)態(tài)IP,動(dòng)態(tài)IP在每次路由器重啟時(shí)都會(huì)發(fā)生變化。
? ? ? 如何查看自己的IP是不是外網(wǎng)IP呢,辦法是,在www.ipip.net查詢一下,如果顯示是動(dòng)態(tài)IP,再拿這個(gè)IP和你的電腦的IP配置里的默認(rèn)網(wǎng)關(guān)的IP比較下,如果一致就說(shuō)明這個(gè)動(dòng)態(tài)IP申請(qǐng)成功了。
? ? ? 2、申請(qǐng)域名,開(kāi)通域名解析服務(wù)
? ? ? 接下來(lái),我們需要擁有一個(gè)域名,域名就是平時(shí)大家上網(wǎng)在瀏覽器內(nèi)輸入的網(wǎng)址,相當(dāng)于我們?cè)诨ヂ?lián)網(wǎng)上的名字,域名通過(guò)域名解析(DNS)后,和我們第一步申請(qǐng)的外網(wǎng)IP就綁定在一起了。比如申請(qǐng)的域名是www.mysite.com,當(dāng)我們?cè)跒g覽器里輸入這個(gè)網(wǎng)址時(shí),路由器會(huì)自動(dòng)把網(wǎng)址轉(zhuǎn)換成對(duì)應(yīng)的外網(wǎng)IP,進(jìn)行尋址路由,最終在互聯(lián)網(wǎng)上找到這臺(tái)設(shè)備。外網(wǎng)IP是一個(gè)動(dòng)態(tài)IP,所以每當(dāng)動(dòng)態(tài)IP發(fā)生變化的時(shí)候,需要將我們申請(qǐng)的域名和最新的IP地址重新綁定,這個(gè)事肯定不能手動(dòng)去完成,需要?jiǎng)討B(tài)的去解析更新,這個(gè)就是DDNS(動(dòng)態(tài)域名解析)。所以我們申請(qǐng)好域名,開(kāi)通域名解析之后,還要做一個(gè)動(dòng)作就是開(kāi)通DDNS服務(wù),完成動(dòng)態(tài)域名解析。
? ? ? 看看具體操作:
? ? ? (1)申請(qǐng)域名。這個(gè)很常見(jiàn),有很多域名服務(wù)商提供域名,建議花錢購(gòu)買一個(gè)屬于自己的域名,也不算貴,一般的域名價(jià)格每年幾塊到幾十塊不等,后綴都是一些不常用的。如果要一個(gè)常用后綴的域名,大概要每年70-90塊錢。我在DNSPOD上申請(qǐng)了一個(gè)“.com”后綴的域名,一年70塊錢。一般域名購(gòu)買還是買一些大廠的域名要可靠一些,主要是后續(xù)的在線支持,遇到問(wèn)題,大廠的技術(shù)支持要給力的多。這次我買的域名和域名解析都是騰訊云提供的,客服小姐姐很熱心,半夜問(wèn)問(wèn)題都有耐心的回復(fù)。實(shí)在搞不定的,還可以QQ遠(yuǎn)程支持幫忙搞定。比如我申請(qǐng)的一級(jí)域名是mysite.com。
? ? ? (2)配置域名。域名配置注意兩個(gè)事,一個(gè)是搞清楚一級(jí)域名和二級(jí)域名的關(guān)系,這個(gè)我之前一直沒(méi)搞明白,耽誤了不少事。另一個(gè)是A記錄類型的配置方法。
? ? ? 我們以163.com的網(wǎng)站為例:163.com這個(gè)是一級(jí)域名,一級(jí)域名的格式類似XXX.com的格式,“.com"還可以被換成其他不同的后綴,比如“.cn”、“.gov”等等。
? ? ? www.163.com 這個(gè)是一個(gè)二級(jí)域名,它和mail.163.com類似都是一個(gè)二級(jí)域名,也就是說(shuō),在一級(jí)域名基礎(chǔ)上每增加一個(gè)“.”的內(nèi)容,就多出一級(jí)域名,比如bmw.auto.163.com就是一個(gè)三級(jí)域名,以此類推。
? ? ? A記錄類型的配置,根據(jù)所選域名服務(wù)商的不同,略有差異。不過(guò)基本步驟都一樣。以DNSPOD提供的域名服務(wù)為例:
? ? ? 添加一條記錄,在主機(jī)記錄填寫子域名的名稱,比如我家里的群暉主機(jī)未來(lái)通過(guò)域名訪問(wèn)我希望是nas.mysite.com,是一個(gè)二級(jí)域名,那么主機(jī)記錄這里就寫nas。記錄類型選擇A類型,線路默認(rèn),記錄值這里填寫你申請(qǐng)的外網(wǎng)IP地址。這里先這么填,后面打開(kāi)了DDNS動(dòng)態(tài)域名解析服務(wù)后,這個(gè)IP地址會(huì)隨著動(dòng)態(tài)IP的變化而自動(dòng)改變。TTL填寫600,點(diǎn)擊添加,過(guò)幾秒后,服務(wù)顯示正常。
? ? ? 域名配置是否成功,可以通過(guò)命令來(lái)檢測(cè):
? ? ? 使用dos控制臺(tái),輸入“ping www.mysite.com” 如果返回不超時(shí),則說(shuō)明DNS解析正常。也可以通過(guò)輸入“nslookup www.mysite.com” 命令來(lái)看域名解析的情況。
? ? ? (3)設(shè)置動(dòng)態(tài)域名DDNS。這一塊花費(fèi)的時(shí)間比較多,要解決多個(gè)問(wèn)題。還以騰訊云提供的DDNS服務(wù)為例。要配置好DDNS,需要做幾個(gè)動(dòng)作:
? ? ? 第一,把DDNS服務(wù)申請(qǐng)打開(kāi)。
? ? ? 先在DNSPOD的賬號(hào)管理中心的密鑰管理里申請(qǐng)一對(duì)TokenID和Token密鑰,然后在使用dos控制臺(tái)(win10是在運(yùn)行窗口里輸入:cmd打開(kāi)控制臺(tái)),輸入如下指令:
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"
? ? ? “domain=”這里寫你申請(qǐng)的一級(jí)域名,我寫的mysite.com;“sub_domain=”這里寫你申請(qǐng)的二級(jí)域名,我的是nas。
? ? ? 返回的結(jié)果,需要解析一下,把返回的json數(shù)據(jù),在https://www.json.cn網(wǎng)站進(jìn)行在線解析,找到nas二級(jí)域名對(duì)應(yīng)的ID為:71XXX3。
? ? ? 有了二級(jí)域名的ID后,需要更新動(dòng)態(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”
? ? ? 返回的結(jié)果,同樣需要解析,如果“status=1”說(shuō)明DDNS設(shè)置成功。
? ? ? 查看DDNS是否設(shè)置成功,可以重啟一下路由器,如果DNSPOD的里的域名對(duì)應(yīng)的IP地址自動(dòng)發(fā)生變化,就說(shuō)明設(shè)置成功。
? ? ? 第二,把家里連接光貓的WIFI路由器的端口轉(zhuǎn)發(fā)NAT打開(kāi)?,F(xiàn)在一般家里的寬帶都是光纖入戶,用的是光貓,然后WIFI無(wú)線路由器連接到光貓上進(jìn)行自動(dòng)配置實(shí)現(xiàn)上網(wǎng)。運(yùn)營(yíng)商光貓的路由功能不強(qiáng),所以需要把后續(xù)的路由器配置從光貓改到WIFI路由器上配置,因此第一步先讓運(yùn)營(yíng)商客服修改下光貓的配置,把自動(dòng)聯(lián)網(wǎng)改為撥號(hào)上網(wǎng),然后登陸無(wú)線wifi后臺(tái),通過(guò)PPPOE撥號(hào)上網(wǎng)的方式重新配置WIFI路由器上網(wǎng)。配置好后,就可以通過(guò)無(wú)線路由器來(lái)進(jìn)行后續(xù)的DDNS和NAT轉(zhuǎn)換配置了。
? ? ? 以我的wifi路由器華為Q2為例:
? ? ? 不同路由器廠商對(duì)DNS服務(wù)商的支持程度不一樣,華為Q2的路由器不支持DNSPOD提供的域名,所以配置DDNS我只能另辟蹊徑,通過(guò)群輝NAS來(lái)實(shí)現(xiàn)DDNS。
? ? ? 這個(gè)也很容易,登陸到群暉NAS的操作系統(tǒng)界面,在控制面板中選擇外部訪問(wèn),
? ? ? 接著配置WIFI路由器的NAT映射規(guī)則:
? ? ? 以NAS遠(yuǎn)程訪問(wèn)為例,需要內(nèi)外部打開(kāi)5000端口,所以增加一條NAT端口映射記錄:
? ? ? NAT端口映射的作用就是在某些端口被禁用的情況下,通過(guò)端口映射規(guī)則實(shí)現(xiàn)正常的應(yīng)用訪問(wèn)。所以后面需要遠(yuǎn)程訪問(wèn)的應(yīng)用,如果端口有限制都可以通過(guò)端口映射的方式來(lái)解決。
? ? ? 配置好這些,就剩下最后一步了,obsidian的數(shù)據(jù)同步。
? ? ? 4、配置obsidian,使用syncthing實(shí)現(xiàn)遠(yuǎn)程實(shí)時(shí)同步
? ? ? 其實(shí)obsidian不需要額外的配置,因?yàn)樗乃形募褪且欢裮d文本,我們要做的就是在不同的設(shè)備之間實(shí)時(shí)同步這些文本。這里需要用到一個(gè)軟件syncthing來(lái)實(shí)現(xiàn)內(nèi)網(wǎng)同步和遠(yuǎn)程同步。
? ? ? syncthing是一個(gè)免費(fèi)的同步軟件,下載地址:https://syncthing.net/downloads/
? ? ? 在MacBook Pro的MACOS、PC的win10和NAS的Linux上分別安裝上syncthing,啟動(dòng)syncthing后,瀏覽器會(huì)自動(dòng)彈出后臺(tái)界面,這里L(fēng)inux上的安裝稍微麻煩一些,可以在PC的win10操作系統(tǒng)上通過(guò)ssh的方式登錄到NAS的Linux的console控制臺(tái)進(jìn)行安裝和配置。ssh的軟件可以使用putty(https://www.putty.org/),很好用。
? ? ? 使用putty的ssh登錄到NAS的linux控制臺(tái)后,輸入命令:
# 下載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目錄,然后就可以通過(guò)“syncthing”命令運(yùn)行syncthing了
cp syncthing /usr/local/bin
# 運(yùn)行syncthing
syncthing
? ? ? 需要注意的地方就是,如果要實(shí)現(xiàn)遠(yuǎn)程訪問(wèn)NAS上的syncthing,需要在控制臺(tái)下通過(guò)vim修改syncthing的配置文件,把原來(lái)的IP地址127.0.0.1改為0.0.0.0,這樣就可以支持遠(yuǎn)程訪問(wèn)了。
? ? ? 配置文件在這個(gè)文件里:“.config/syncthing/config.xml”,用vim打開(kāi)進(jìn)行編輯就可以了。
? ? ? 關(guān)于syncthing的配置可以參考這篇文章:[Syncthing來(lái)同步服務(wù)器數(shù)據(jù)到本地](https://www.emperinter.info/2019/11/14/syncthing/)
? ? ? 最終幾個(gè)平臺(tái)上的syncthing的配置如下:
? ? ? 經(jīng)過(guò)上述操作,現(xiàn)在可以遠(yuǎn)程訪問(wèn)NAS、遠(yuǎn)程同步obsidian,關(guān)鍵是以后可以自己做網(wǎng)盤,自己做各種策略來(lái)管理散布在不同地方的文件和數(shù)據(jù),效率提升很多,也很方便。希望這篇文章對(duì)大家有用。