一个域名两副面孔:群晖 DNS Server 视图分离解析与优先级排序实操

一个域名两副面孔:群晖 DNS Server 视图分离解析与优先级排序实操

引言

同一个域名,内网用户该解析到内网服务器地址,外网访客该解析到公网地址——这不是特殊需求,是几乎所有自建服务的标准格局。反过来,如果内网 DNS 把内部系统的真实地址也端给公网查询方,等于把网络拓扑直接暴露出去。解决这个问题靠「水平分割 DNS」:域名服务器根据查询方来源的不同,返回不同的解析结果。群晖 DNS Server 套件把这套机制做成了「视图」页面——按来源 IP 把客户端分组,每组看到各自的区域记录。前置条件很简单:至少先建好一个区域;后面的事就是建视图、配来源、挂区域、排优先级。这篇按这个顺序走一遍,并把优先级这个最容易翻车的环节讲透。

操作步骤

  1. 先在「区域」页面把需要的区域建好。为什么:官方明确要求创建和管理视图之前至少创建一个域。视图本身不产生记录,它只是把已有的区域按来源分组呈现——内外两副面孔意味着同一个域名要准备内外两份区域记录(例如内网视图挂内网版区域,外网视图挂外网版区域),这些区域都得先存在。

  2. 动手前先画一张「谁看哪副面孔」的清单。为什么:视图的三个要素——视图名称、来源 IP 范围、挂哪些区域——里最容易含糊的是来源。建议按「外部网络」「本地网络段」「特定主机」三层来规划,写清楚每个视图服务哪些子网、挂哪个版本的区域。这张清单就是后面填表的底稿,也避免建出两个来源重叠却语义混乱的视图。

  3. 在视图页面点「创建」,先填常规选项卡。为什么:这里有三个设置——视图名称最多 32 个 Unicode 字符,可用字母、数字、破折号、下划线和点,起名建议直接体现用途(如 internal-lan、external-public),别用 view1 这种过两周自己都看不懂的名字;「限制来源 IP 服务」决定谁能访问这个视图的资源,点「源 IP 列表」按钮可以按主机或子网逐条指定,这就是分组的核心开关;「启用转发器」决定这个视图里的递归查询去向,不启用则沿用解析页面的全局转发设置。

  4. 需要给某个视图单独配转发器时,先确认解析服务已启用。为什么:官方注明必须启用解析服务,视图里的转发器设置才会生效;在视图里禁用转发器时,系统会应用解析页面指定的转发器设置。也就是说转发器是「视图级覆盖、解析页兜底」的关系——排查某组客户端递归查询异常时,这两个地方都要看。

  5. 切到「选择区域」选项卡,把准备好的区域挂进视图。为什么:一个视图无法包含多个有相同域名的区域——这正是内外分离的实现方式:内网视图挂内网版 oa.example.com 区域,外网视图挂外网版 oa.example.com 区域,同名不同内容,各归各的视图。把区域挂错视图是这套机制里最常见的配置事故,挂之前对照第 2 步的清单核一遍。

  6. 保存后处理优先级,这一步决定分组是否按预期生效。为什么:客户端发来查询时,系统按视图优先级判断来源地址属于哪个视图;如果来源地址同时符合两个视图的条件,它归属于优先级较高的那个。官方给的经典例子:为「外部网络主机」「规则本地网络主机」「本地网络中的个人主机」建了三个视图,个人主机地址同时匹配后两个视图——此时个人主机视图必须排在规则本地网络视图之上,否则个人主机会被当成规则网络主机处理。规则很直白:范围越小、越具体的视图,优先级越高。

  7. 调整优先级用列表旁的「上」「下」按钮,把小范围视图往上挪。为什么:优先级即匹配顺序,宽泛视图(如全部外部网络)放下面兜底,具体视图(某个部门网段、某台主机)放上面先行。调整完可以拿一台属于小范围的客户端实测解析结果验证,比对返回的记录版本是否符合预期,别只看配置界面对不对。

  8. 日常变更走「编辑」,废弃视图及时「删除」。为什么:编辑对话框里视图名称、源 IP 列表、转发器、区域设置都能改,网段调整、区域版本更新都在这里完成。删除视图不影响区域本身,但要确认没有客户端还依赖这副面孔——删掉内网视图的瞬间,原本命中它的查询会落到其他视图,解析结果会突变。变更前后各做一轮解析实测,是成本最低的保险。

三条边界先知道

  • 视图不产生记录:视图只做分组呈现,记录都在区域里维护;改解析结果要去改区域文件,不是改视图。
  • 同名区域一视图一份:一个视图内不能放多个相同域名的区域,内外分离靠「同名区域分挂两个视图」实现。
  • 优先级先小后大:来源重叠时高优先级视图获胜,范围越具体的视图越要排前面,调完务必实测。

结语

一个域名两副面孔,内网效率与外网安全各得其所,代价只是建视图时多画一张分组清单、排优先级时多想一层「谁覆盖谁」。贵州诚鑫致达科技在为企业客户做内网服务发布时,分离解析的视图规划与解析实测是方案里的固定交付项——域名解析对了,内网协同与边界收敛才能同时成立。