自己动手组建可远程实时同步的obsidian

Obsidian&Zettelkasten&LYT系列文章的总目录

      前几篇我们介绍了obsidian的具体用法,这一篇我们说说配套的一些网络配置,先说一下我的使用场景:日常办公我用的是一台macbookpro笔记本作为生产力的主力机,家里有一台高配的台式机安装win10操作系统,用来处理各种视频类剪辑任务(当然少不了玩玩游戏大作),还有一个群晖NAS设备用来进行数据备份和提供各类远程服务。每台设备上都安装了obsidian,obsidian的笔记和卡片数据需要在多个设备间实时同步,确保思路不中断,实时在线。如果在家里,这些设备都在家里的无线局域网内,实现实时互通没有问题,但是如果出差或者去单位上班,就无法进行数据同步。所以我的要求就是无论身在哪里,随时随地各个设备的数据能够做到实时同步,无论obsidian在哪台设备打开使用,第一时间看到的都是最新的数据。

      经过几天的折腾,最终搞定了这个诉求。我想这也是很多同学日常使用obsidian会遇到的问题,所以单独写一篇来简单介绍一下,类似的思路,可以解决大部分数据同步的诉求,不仅仅是obsidian,所以这也是一篇比较实用的教程了。

远程访问数据

      要解决obsidian异地远程数据同步的问题,需要几个步骤:

      1、开通外网IP

      2、申请域名,打开域名解析服务

      3、打开DDNS动态域名解析,确保随时随地在互联网可以访问到远端设备

      4、配置obsidian,使用syncthing实现远程实时同步

      上述步骤解决了两个核心问题,第一,拥有一个全球可随时访问的属于自己的域名。第二,通过域名访问到设备数据的同步机制可以随意配置,满足不同场景下自己对数据服务和数据备份的诉求。

      闲话不说,我们开始上干货。

      1、开通外网IP

      IP类似家里的地址门牌、个人的身份证,是在互联网上找到某台设备的唯一标识。由于IP资源是有限的,所以一般情况下,电脑使用的都是某个局域网内自动分配的内网IP,这个内网IP无法通过互联网直接访问。所以我们首先需要申请一个外网IP。现在大多数家庭使用的是几大运营商提供的宽带服务,默认都是不打开外网IP的权限,需要自己打电话向运营商申请,开通起来其实很方便,分分钟的事儿。需要注意的是,外网IP分为静态IP和动态IP两种,一般静态IP的租用价格很高,运营商给家庭开通的都是动态IP,动态IP在每次路由器重启时都会发生变化。

      如何查看自己的IP是不是外网IP呢,办法是,在www.ipip.net查询一下,如果显示是动态IP,再拿这个IP和你的电脑的IP配置里的默认网关的IP比较下,如果一致就说明这个动态IP申请成功了。

外网IP确认

      2、申请域名,开通域名解析服务

      接下来,我们需要拥有一个域名,域名就是平时大家上网在浏览器内输入的网址,相当于我们在互联网上的名字,域名通过域名解析(DNS)后,和我们第一步申请的外网IP就绑定在一起了。比如申请的域名是www.mysite.com,当我们在浏览器里输入这个网址时,路由器会自动把网址转换成对应的外网IP,进行寻址路由,最终在互联网上找到这台设备。外网IP是一个动态IP,所以每当动态IP发生变化的时候,需要将我们申请的域名和最新的IP地址重新绑定,这个事肯定不能手动去完成,需要动态的去解析更新,这个就是DDNS(动态域名解析)。所以我们申请好域名,开通域名解析之后,还要做一个动作就是开通DDNS服务,完成动态域名解析。

      看看具体操作:

      (1)申请域名。这个很常见,有很多域名服务商提供域名,建议花钱购买一个属于自己的域名,也不算贵,一般的域名价格每年几块到几十块不等,后缀都是一些不常用的。如果要一个常用后缀的域名,大概要每年70-90块钱。我在DNSPOD上申请了一个“.com”后缀的域名,一年70块钱。一般域名购买还是买一些大厂的域名要可靠一些,主要是后续的在线支持,遇到问题,大厂的技术支持要给力的多。这次我买的域名和域名解析都是腾讯云提供的,客服小姐姐很热心,半夜问问题都有耐心的回复。实在搞不定的,还可以QQ远程支持帮忙搞定。比如我申请的一级域名是mysite.com。

域名申请与域名解析DNS

      (2)配置域名。域名配置注意两个事,一个是搞清楚一级域名和二级域名的关系,这个我之前一直没搞明白,耽误了不少事。另一个是A记录类型的配置方法。

      我们以163.com的网站为例:163.com这个是一级域名,一级域名的格式类似XXX.com的格式,“.com"还可以被换成其他不同的后缀,比如“.cn”、“.gov”等等。

      www.163.com 这个是一个二级域名,它和mail.163.com类似都是一个二级域名,也就是说,在一级域名基础上每增加一个“.”的内容,就多出一级域名,比如bmw.auto.163.com就是一个三级域名,以此类推。

域名配置

      A记录类型的配置,根据所选域名服务商的不同,略有差异。不过基本步骤都一样。以DNSPOD提供的域名服务为例:

      添加一条记录,在主机记录填写子域名的名称,比如我家里的群晖主机未来通过域名访问我希望是nas.mysite.com,是一个二级域名,那么主机记录这里就写nas。记录类型选择A类型,线路默认,记录值这里填写你申请的外网IP地址。这里先这么填,后面打开了DDNS动态域名解析服务后,这个IP地址会随着动态IP的变化而自动改变。TTL填写600,点击添加,过几秒后,服务显示正常。

      域名配置是否成功,可以通过命令来检测:

      使用dos控制台,输入“ping www.mysite.com” 如果返回不超时,则说明DNS解析正常。也可以通过输入“nslookup www.mysite.com” 命令来看域名解析的情况。

      (3)设置动态域名DDNS。这一块花费的时间比较多,要解决多个问题。还以腾讯云提供的DDNS服务为例。要配置好DDNS,需要做几个动作:

      第一,把DDNS服务申请打开。

DDNS的Token和密钥申请

      先在DNSPOD的账号管理中心的密钥管理里申请一对TokenID和Token密钥,然后在使用dos控制台(win10是在运行窗口里输入: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。

      返回的结果,需要解析一下,把返回的json数据,在https://www.json.cn网站进行在线解析,找到nas二级域名对应的ID为:71XXX3。

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

      有了二级域名的ID后,需要更新动态域名,在命令行中输入以下命令:

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

更新二级域名的DDNS

      返回的结果,同样需要解析,如果“status=1”说明DDNS设置成功。

      查看DDNS是否设置成功,可以重启一下路由器,如果DNSPOD的里的域名对应的IP地址自动发生变化,就说明设置成功。

      第二,把家里连接光猫的WIFI路由器的端口转发NAT打开。现在一般家里的宽带都是光纤入户,用的是光猫,然后WIFI无线路由器连接到光猫上进行自动配置实现上网。运营商光猫的路由功能不强,所以需要把后续的路由器配置从光猫改到WIFI路由器上配置,因此第一步先让运营商客服修改下光猫的配置,把自动联网改为拨号上网,然后登陆无线wifi后台,通过PPPOE拨号上网的方式重新配置WIFI路由器上网。配置好后,就可以通过无线路由器来进行后续的DDNS和NAT转换配置了。

      以我的wifi路由器华为Q2为例:

      不同路由器厂商对DNS服务商的支持程度不一样,华为Q2的路由器不支持DNSPOD提供的域名,所以配置DDNS我只能另辟蹊径,通过群辉NAS来实现DDNS。

      这个也很容易,登陆到群晖NAS的操作系统界面,在控制面板中选择外部访问,

在群晖NAS上配置DDNS

      接着配置WIFI路由器的NAT映射规则:

      以NAS远程访问为例,需要内外部打开5000端口,所以增加一条NAT端口映射记录:

在华为Q2路由器上设置NAT端口映射规则

      NAT端口映射的作用就是在某些端口被禁用的情况下,通过端口映射规则实现正常的应用访问。所以后面需要远程访问的应用,如果端口有限制都可以通过端口映射的方式来解决。

      配置好这些,就剩下最后一步了,obsidian的数据同步。

      4、配置obsidian,使用syncthing实现远程实时同步

      其实obsidian不需要额外的配置,因为他的所有文件就是一堆md文本,我们要做的就是在不同的设备之间实时同步这些文本。这里需要用到一个软件syncthing来实现内网同步和远程同步。

      syncthing是一个免费的同步软件,下载地址:https://syncthing.net/downloads/

      在MacBook Pro的MACOS、PC的win10和NAS的Linux上分别安装上syncthing,启动syncthing后,浏览器会自动弹出后台界面,这里Linux上的安装稍微麻烦一些,可以在PC的win10操作系统上通过ssh的方式登录到NAS的Linux的console控制台进行安装和配置。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

# 进入解压文件夹

cd syncthing-linux-amd64-v1.3.1

# 将syncthing二进制程序复制到/usr/local/bin目录,然后就可以通过“syncthing”命令运行syncthing了

cp syncthing /usr/local/bin

# 运行syncthing

syncthing

      需要注意的地方就是,如果要实现远程访问NAS上的syncthing,需要在控制台下通过vim修改syncthing的配置文件,把原来的IP地址127.0.0.1改为0.0.0.0,这样就可以支持远程访问了。

      配置文件在这个文件里:“.config/syncthing/config.xml”,用vim打开进行编辑就可以了。

      关于syncthing的配置可以参考这篇文章:[Syncthing来同步服务器数据到本地](https://www.emperinter.info/2019/11/14/syncthing/)

      最终几个平台上的syncthing的配置如下:

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

      经过上述操作,现在可以远程访问NAS、远程同步obsidian,关键是以后可以自己做网盘,自己做各种策略来管理散布在不同地方的文件和数据,效率提升很多,也很方便。希望这篇文章对大家有用。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,117评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,328评论 1 293
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,839评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,007评论 0 206
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,384评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,629评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,880评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,593评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,313评论 1 243
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,575评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,066评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,392评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,052评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,082评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,844评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,662评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,575评论 2 270

推荐阅读更多精彩内容