NAT Loopback NAT回流 解决内网通过域名访问NAS问题

NAT Loopback NAT回流 解决内网通过域名访问NAS问题

分享到:

今天有用群晖NAS的朋友告诉我,他的NAS无法通过域名访问。我测试了下他NAS的DDNS域名,发现我这里访问一切正常,然后又让他关掉手机上的WIFI换成手机数据网络,试试在手机上能不能访问,发现也可以正常访问。了解到他使用的是OpenWrt的路由器,于是我想到这应该是一个NAT回流(NAT loopback)的问题。网络拓扑结构如下图所示:

NAT Loopback NAT回流 解决内网通过域名访问NAS问题

搞清楚了问题,解决起来就比较简单,配置静态域名解析,解析NAS的域名到对应的NAS的内网IP。这样当您在局域网里面使用域名访问NAS的时候,实际上解析的就是内网NAS的IP地址。在外网访问时,解析的就是公网IP地址。

接下来详细介绍下解决基于OpenWrt软路由的内网通过域名访问NAS的三个办法:

1. 编译OpenWrt固件的时候不要编译docker。这个是网上找到的办法,没有做验证,仅供参考。

2. 修改客户端的hosts文件。

A. Windows操作系统,定位到C:\Windows\System32\drivers\etc\,选中hosts,用文本编辑器添加NAS的DDNS域名和NAS的局域网IP地址解析记录并保存。

a. 使用Notepad++修改。

右键单击用Notepad++之类的文本编辑器打开,添加NAS对应的DDNS域名和和NAS对应的IP地址解析记录,如192.168.50.8 mynas.myds.me,保存hosts文件。记得这里的IP地址和域名换成您NAS对应的IP地址和域名。如果弹出保存失败,文件无法保存,它可能受到保护。是否要用管理员模式启动Notepad++?的对话框,记得选是。

添加解析记录到hosts文件
b. 使用Dism++修改hosts文件。

您也可以使用DISM++工具箱里面的hosts编辑器来修改。打开Dism++,注意选择合适的版本。因为我的设备是64位的,所以我选择了x64的版本双击打开。点击左侧的工具箱,然后点击hosts编辑器,这样就打开了hosts文件,添加解析记录,如192.168.10.5 nas.mynas.me,保存hosts文件。记得这里的IP地址和域名换成您NAS对应的IP地址和域名。

通过Dism++工具箱的hosts编辑器修改host文件

B. MacOS中修改hosts文件。

打开Finder,按快捷键组合 Shift+Command+G 查找文件,输入/etc/hosts,确认前往。添加NAS的DDNS域名和NAS的局域网IP地址解析记录并保存。

MACOS打开hosts

3. OpenWrt里添加NAS的DDNS域名和NAS的局域网IP地址解析记录并保存。

登陆OpenWrt路由器后台,网络-主机名。在主机目录下面的主机名里写上NAS的域名,IP地址的下拉菜单里选择NAS的内网IP地址,然后点击右下角的保存并应用。如qunhui.nas.com 192.168.100.2,记得这里的IP地址和域名换成您NAS对应的IP地址和域名。

OpenWrt主机名下添加NAS解析记录
至于选择哪一种就看您的需求了。第三种方法可以一劳永逸的解决问题,适用于需要访问NAS的所有终端。如果只有一个Windows客户端,修改hosts文件最简单方便。如果只有一台MACOS终端,修改MACOS的hosts文件最方便。
欢迎您使用我的教程。如果您转载的话,麻烦您注明一下出处。因为一篇图文并茂的文章写下来,差不多要一到三个小时。感谢您对我劳动的尊重。

Comments are closed.