群辉NAS 自建DNS服务器解决内网域名无法访问(NAT回流)
群辉NAS 自建DNS服务器解决内网域名无法访问(NAT回流)

群辉NAS 自建DNS服务器解决内网域名无法访问(NAT回流)

简述

有些用群辉NAS的朋友可能会遇到,用的群辉自带的DDNS,然后drive、Note、DSM连接到NAS,外网通过域名访问一点问题都没有,但是内网确无法通过域名访问到NAS。

这主要与NAT回流相关,下图解释了什么是NAT回流

l-1

测试环境

  • NAS的局域网IP:192.168.1.2
  • 域名:test.synlology.me
  • 路由器:RT-AC86U
  • 路由器IP:192.168.1.1

问题解决

其实这个问题在不同设备上可以用不同的方式解决

如果你是Windows PC上遇到上面问题,最简单的办法就是修改下 C:\Windows\System32\drivers\etc\hosts

在里面添加

其中 test.synlology.me 是你的DDNS域名, 192.168.1.2 是你的局域网中NAS的IP地址

这样就好比告诉电脑,如果我使用 test.synlology.me请转接到 192.168.1.2这个IP上

这个办法虽然能解决问题,但是非常笨拙,因为你每次新设备都得设置下。

所以我这里介绍下比较合理的解决方案,那就是在群晖NAS上自建DNS服务器,来解决NAT回流问题

NAS安装DNS Server服务

登录DSM > 套件中心 > 所有套件 > 找到并安装DNS Server套件

l

配置DNS Server服务

新建Master区域

打开DNS Server > 区域 > 新增[Master 区域]

  • 域类型 正向区域
  • 域名 我这里申请的 test.synlology.me,所以我这里填写的synlology.me
  • DNS服务器 我这里填写了当前这台NAS的本地IP:192.168.1.2
  • 其余设置全部默认即可

点击确定,保存设置,这里会在列表里出现一个区域ID为synology.me的master区域,双击进入区域设置

l-2

这里我们已经可以看到刚才我们默认建立的解析规则

下来我要再添加一条属于我们自己域名的A-type解析

点击 新增,选择 A Type

  • 名称:test
  • TTL:100
  • IP地址:192.168.1.2

l-3

开启解析服务

打开DNS Server > 解析 > 勾选[启用解析服务器]

启用转发器中,转发器1设置为局域网中路由器IP,此处我设置为 192.168.1.1

l-4

设置路由器DHCP

首先这块你完全可以使用NAS的DHCP服务器,我这块由于RT-AC86U可以选择DNS服务器,所以我直接在路由上做了,因为我总想着NAS的算力应该留给应用,路由能做的就让路由做

登录路由 > 内部网络(LAN) > DHCP服务器

l-5

注意:路由和NAS的DHCP服务任选其一,不要都开着

其他说明

全局设置方法

按照如上设置,基本就可以解决NAT回流的问题,但是保证你的计算机等设备是自动获取IP的,因为如上设置其实是把通过DHCP连接的设备应用我我们NAS的DNS服务。

如果你想让所有路由下的设备全部使用NAS提供的DNS服务,你可以这样设置

  1. 登录路由,在外部网络(WAN)中将DNS服务器指定为 192.168.1.2

  2. NAS的DNS Server中,转发器设置中转发器1设置为网络服务商提供的DNS地址,或者可以试试 114.114.114.114

这样的话整个局域网中的网络请求都需要经过NAS中的DNS Server来提供DNS服务器,如果你访问的是 test.synlology.me这直接转到 192.168.1.2,如果你访问的是其他域名,这直接转到 114.114.114.114这台DNS服务器去做解析,再访问。

对于Master区域 ns.synlology.me 的理解

我的理解,我们当前的应用ns.synlology.me一律设置为nas的ip即可

NS记录的解释:

  1. NS记录是域名DNS服务器里面的一种记录类型,可以针对每个域名或子域名来设定他的NS记录,当设定后,相当于把他的解析权交给了对应的DNS。
  2. NS记录的用途:CDN或负载均衡时使用。

发表回复