今天有用群晖NAS的朋友告诉我,他的NAS无法通过域名访问。我测试了下他NAS的DDNS域名,发现我这里访问一切正常,然后又让他关掉手机上的WIFI换成手机数据网络,试试在手机上能不能访问,发现也可以正常访问。了解到他使用的是OpenWrt的路由器,于是我想到这应该是一个NAT回流(NAT loopback)的问题。网络拓扑结构如下图所示:
搞清楚了问题,解决起来就比较简单,配置静态域名解析,解析NAS的域名到对应的NAS的内网IP。这样当您在局域网里面使用域名访问NAS的时候,实际上解析的就是内网NAS的IP地址。在外网访问时,解析的就是公网IP地址。
右键单击用Notepad++之类的文本编辑器打开,添加NAS对应的DDNS域名和和NAS对应的IP地址解析记录,如192.168.50.8 mynas.myds.me,保存hosts文件。记得这里的IP地址和域名换成您NAS对应的IP地址和域名。如果弹出保存失败,文件无法保存,它可能受到保护。是否要用管理员模式启动Notepad++?的对话框,记得选是。
您也可以使用DISM++工具箱里面的hosts编辑器来修改。打开Dism++,注意选择合适的版本。因为我的设备是64位的,所以我选择了x64的版本双击打开。点击左侧的工具箱,然后点击hosts编辑器,这样就打开了hosts文件,添加解析记录,如192.168.10.5 nas.mynas.me,保存hosts文件。记得这里的IP地址和域名换成您NAS对应的IP地址和域名。