公司内的DNS Server 是IT 部门负责,我司的IT沟通起来比较困难,流程也比较繁琐。我们在开发的环境中经常部署一些服务器,通常都是以IP的方式对外提供服务,内网服务器、开发测试环境…… 每次输入一串数字不仅麻烦,还容易记错,尤其是设备数量多的时候,没有统一的解析入口,团队成员各自记 IP 或用临时映射,协作效率低,新人上手更是需要额外花时间熟悉所有内网服务的 IP 地址。这些痛点本质上指向同一个核心需求:我们需要一个 “专属管家”—— 既能识别内网自定义域名,快速解析到对应设备;又能在遇到外网域名时,自动转发给公共 DNS 处理,实现内外网访问 “无缝衔接”。而解决这一切的关键,就是搭建一台属于内网的智能 DNS 服务器。接下来,本文将手把手教你实现:既能自定义内网域名解析,又能自动转发外网请求,彻底告别上述所有烦恼。要在内网搭建一个既能解析内网自定义域名,又能转发外网域名请求到公共DNS的服务器,推荐使用 Windows DNS 服务器(Windows Server 平台)。一、Windows Server 平台(Windows DNS 服务器)如果内网有 Windows Server 服务器,直接用系统自带的 DNS 角色更简单。
- 一路下一步,在 服务器角色 中勾选 DNS 服务器
- 选择 【主要区域】 → 勾选 【正向查找区域】 → 【下一步】
- 输入内网域名(如 lan.local)→ 【下一步】
- 选择 创建新文件,文件名为 → 输入 lan.local.dns → 【下一步】
- 选择 【不允许动态更新】(内网环境推荐)→ 【完成】
- 右键点击新建的 lan.local 区域 → 【新建主机(A 或 AAAA)】输入主机名(如 server),输入对应的内网 IP(如 192.168.1.100)→ 【确定】
3. 配置外网转发器(关键,非自定义主机名由转发器转发到DNSServer处理)
- 在 DNS 管理器中,右键点击服务器名称 → 【属性】
- 输入公共 DNS 地址(如 223.5.5.5、119.29.29.29)→ 【添加】 → 【确定】
让内网电脑的 DNS 指向这台 Windows DNS 服务器的 IP 即可。
- 网络属性 → IPv4 属性 → DNS 服务器地址填写内网 DNS 服务器 IP
编辑 /etc/resolv.conf,添加 nameserver 内网DNS服务器IP
nslookup server.lan.local 内网DNS服务器IP
nslookup www.baidu.com 内网DNS服务器IP
应该能返回百度的公网 IP,说明外网请求被转发到公共 DNS 解析。CNAME记录(别名记录,Canonical Name Record)的作用是将一个域名(别名域名)映射到另一个域名(规范域名/主域名),而非直接映射到IP地址(这是和A/AAAA记录的核心区别)。最终解析时,DNS会先解析CNAME指向的主域名,再通过主域名的A/AAAA记录获取IP地址。 1. 简化域名管理,减少维护成本 这是最常用的场景。如果多个子域名需要指向同一台内网服务器,只需给主域名配置A/AAAA记录,其他子域名用CNAME指向主域名即可。若后续服务器IP变更(比如从`192.168.1.100`改成`192.168.1.105`),只需修改`server.nv.ms`的A记录,所有CNAME别名会自动生效,无需逐个修改子域名。例如:内网服务器`server.nv.ms`(A记录→`192.168.1.100`),可创建`www.nv.ms`、`blog.nv.ms`、`dev.nv.ms`的CNAME记录,全部指向`server.nv.ms`。 2. 实现域名的“易记化”/“场景化”命名 为内网设备/服务创建更贴合用途的别名,提升团队使用体验。 例如:内网NAS设备的主域名为`nas.nv.ms`(A记录→`192.168.1.101`),可创建`file.nv.ms`、`backup.nv.ms`的CNAME指向它,团队成员不用记`nas.nv.ms`,直接用`file.nv.ms`就能访问存储服务。 3. 适配服务的域名依赖需求 部分内网服务(如开发测试环境的微服务、内网网盘/协作工具)可能要求特定子域名访问,用CNAME可以灵活映射,无需为每个子域名单独配置IP。例如:内网微服务的网关域名是`gateway.lan.local`,可创建`user-service.lan.local`、`order-service.lan.local`的CNAME指向网关域名,满足服务调用的域名规则。 反向查找区域作用与 “域名→IP” 的正向解析完全相反:实现 IP 地址到域名的反向映射(PTR 记录) —— 简单说,就是通过 IP 地址找到对应的域名,而非通过域名找 IP。这个功能不常用,不再细述了。
- 内网域名不要和公网域名冲突(如不要用 com、cn 等公网后缀)。
- 防火墙必须放行 53 端口,否则客户端无法访问 DNS 服务。
- CNAME记录只能指向域名(如`server.nv.ms`),不能直接指向IP地址,也不能指向多个域名。
- 同一域名不能同时配置CNAME记录和A/AAAA/MX(邮件记录)等记录(比如`nv.ms`根域名一般不设CNAME,可给子域名设。
当你亲手搭建好这台内网智能 DNS 服务器后,这些问题都会迎刃而解:输入nas.lan就能直达存储设备,敲下dev.server就能进入测试环境,外网网页访问也丝毫不受影响,团队成员再也不用对着一串数字反复确认。这台小小的 DNS 服务器,不仅是内网的 “域名管家”,更是提升工作效率、简化内网管理的关键一步。从 IP 记忆的枷锁中解放出来,用自定义域名让内网访问变得简单又高效,这正是我们搭建它的意义所在。