外网访问的几种方式

之前把NAS搭建好了,在区域网内也能愉快的玩耍了,不过要想作为随身携带的私有云,就必须要能随时外网访问。

  • QuickConnect
  • 通过VPN连接
  • 群晖内置DDNS
  • 自己配置DDNS
  • vps+frp内网穿透

QuickConnect:群晖官方提供的服务,申请一个账号就可以使用,也不需要宽频有公网IP地址,原理大概是这样:当你从外网连接自己的NAS时,你的请求会先发到quickconnect伺服器,quickconnect伺服器会先尝试让你和NAS之间建立类似「打洞」的直连,如果无法建立直连,就用中继伺服器进行转发。这种方式最方便,不过速度并不理想。

quickconnect配置

通过VPN连接:在NAS或路由器上搭建好VPN服务,外网访问时用VPN连接到家里区域网,然后就象在区域网内使用一样了。不想把NAS暴露在公网上的可以考虑这种方式。

群晖VPN套件

群晖内置DDNS:不通过群晖的伺服器中转,外网直连到你的NAS,如果你的域名解析服务商正好在列表里能找到,那在「外部访问」-「DDNS」里面配置好就可以。需要宽频能获取公网IP地址。

群晖DDNS配置

自己配置DDNS:要是群晖的DDNS服务商列表里刚好没有你用的,比如aliyun,或者你并不想把DDNS服务运行在NAS上,那就只能自己配置了。这种方式同样需要宽频能获取到公网IP地址。

vps+frp内网穿透:这种方式无需公网IP地址,但需要有vps伺服器并搭建好frp服务,并在NAS上配置好frp客户端,因为租用vps伺服器也会产生额外费用,所以暂时不推荐。

DDNS和路由器配置

我用的联通宽频还算厚道,分配的是动态公网IP地址,本来有公网IP就也能直接访问,不过IP地址记起来比较麻烦,并且在被ISP更新后也不能及时知道。而配置好DDNS后,只需要记住自己的域名,让NAS或路由器自己去更新解析地址就可以了。

刚开始是在NAS上用Docker来配置DDNS服务的,安装好Docker后,在注册表里搜索「chenhw2/aliyun-ddns-cli」,这个就是对应aliyun的DDNS插件了,配置比较简单,实测用起来也没问题。

Docker安装aliyun DDNS

后来想了一下,这个活好像更适合路由器来干,我的路由器是网件WNDR4300刷的OpenWrt,于是找了一下相关插件,需要安装这几个:

  • ddns-scripts(DDNS管理脚本);
  • luci-app-ddns(DDNS管理脚本的LUCI界面);
  • ddns-scripts_aliyun_1.0.0-1_all(安装后才会有aliyun的选项)
OpenWrt上运行DDNS

配置比较简单,需要注意的是「查询主机名」就是你的域名,「用户名」是填AccessKey ID,「密码」是填AccessKeySecret。

aliyun DDNS配置

设置好后,每隔10分钟检查一次aliyun上的域名解析地址是否和我现在获取到的公网IP一样,如果不一样,就修改aliyun上的解析地址。

路由器埠转发

配置完DDNS后,你可能会发现用域名仍然无法访问到你的NAS,因为域名指向的是路由器,而NAS还在路由器的后面,需要告诉路由器从外网来的哪些请求是要转给NAS处理的,这就需要在路由器上做好埠转发。

OpenWrt路由器埠转发

埠转发就不详细说了,举个例子,假设你的域名为:mynas.com,NAS在区域网的IP地址为:192.168.1.10,只需要在路由器里设置一条转发规则,把外网埠1234(可自定义)转发到区域网192.168.1.10的5000埠,这样在外网用浏览器输入mynas.com:1234,就可以登陆你的NAS了。(群晖的DSM和各个套件的埠都可以在官网上查到)

用自己配置DDNS和路由器的外网访问方案就记录到这里,下一篇写下远程唤醒/关机。

关于NAS搭建的其他记录:

沙子ssand:NAS搭建记录(群晖DS218+):型号选择/配置?

zhuanlan.zhihu.com图标沙子ssand:NAS搭建记录(群晖DS218+):远程唤醒/关机?

zhuanlan.zhihu.com
图标
沙子ssand:NAS搭建记录(群晖DS218+):锂电池UPS方案?

zhuanlan.zhihu.com
图标

推荐阅读:

相关文章