下面我将从原理、设置步骤、不同角色的操作和最佳实践几个方面为您详细讲解。
公网DNS(如8.8.8.8
,114.114.114.114
)的作用是将公网域名(如www.google.com
)解析为公网IP,而专网DNS则需要处理两种情况:
1、解析内部域名:当设备请求内部域名(如erp.local
,gitlab.company.com
)时,DNS服务器能返回一个内部私有IP地址(如192.168.1.10
)。
2、转发外部请求:当设备请求公网域名时,DNS服务器能将其转发到公网DNS服务器去查询。
专网DNS服务器是网络内部的“地址簿”,它既知道内部服务的地址,也懂得如何向外部查询。
假设您正在为一个公司或组织部署专网DNS。
您需要选择一台服务器(物理机或虚拟机)来运行DNS服务,常用的DNS软件/服务有:
Linux/Unix 环境
BIND9功能最强大、最广泛使用的开源DNS软件。
dnsmasq轻量级,配置简单,适合小型网络或作为DHCP和DNS的集成方案。
Windows Server 环境
Windows DNS Server与Active Directory深度集成,是Windows域环境的标配。
这是最关键的一步,您需要创建一个“区域文件”来定义您的内部域名和IP的映射关系。
您的公司内部域名为company.local
,您需要创建这个域的区域文件。
一个简单的BIND区域文件示例 (/etc/bind/db.company.local
):
; ; BIND data file for company.local ; $TTL 604800 @ IN SOA ns1.company.local. admin.company.local. ( 2024070101 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; Name Servers @ IN NS ns1.company.local. ; A records - 将主机名指向IPv4地址 ns1 IN A 192.168.1.1 router IN A 192.168.1.1 oa IN A 192.168.1.10 erp IN A 192.168.1.11 gitlab IN A 192.168.1.12 nas IN A 192.168.1.100 ; CNAME records - 别名 www IN CNAME oa
解释:
SOA
记录起始授权机构,定义了域的基本信息。
NS
记录指明该域的DNS服务器是哪台主机。
A
记录最核心的记录,将主机名(如oa
)解析为IP地址(192.168.1.10
),这样,用户在公司网络内访问oa.company.local
就能连接到正确的服务器。
CNAME
记录别名,例如www.company.local
也会指向oa.company.local
。
为了让内部设备能正常上网,您需要配置转发器,将所有非内部域名的查询请求转发到公网DNS。
在BIND的配置文件 (/etc/bind/named.conf.options
) 中添加:
options { // ... 其他配置 ... // 设置转发器到公网DNS,如 114.114.114.114 和 8.8.8.8 forwarders { 114.114.114.114; 8.8.8.8; }; // ... 其他配置 ... };
启动BIND或Windows DNS服务,然后在本机或另一台客户端上进行测试。
使用 nslookup 或 dig 命令测试 nslookup oa.company.local 192.168.1.1 # 指定使用您刚搭建的DNS服务器(192.168.1.1)进行查询 nslookup www.google.com 192.168.1.1 如果返回正确的IP地址,说明配置成功。
对于网络中的普通电脑、手机等设备,不需要安装软件,只需要修改网络配置,将其DNS服务器指向您刚刚搭建的专网DNS服务器地址。
设置方法主要有两种:
在设备的网络设置中,手动填写DNS服务器地址。
Windows控制面板
->网络和 Internet
->网络和共享中心
->更改适配器设置
-> 右键点击当前网络连接 ->属性
->Internet 协议版本 4 (TCP/IPv4)
->属性
->使用下面的DNS服务器地址
。
macOS系统偏好设置
->网络
-> 选择当前连接 ->高级
->DNS
标签页。
Linux 编辑/etc/resolv.conf
文件(注意:在某些系统上它可能被其他服务管理),添加nameserver 192.168.1.1
。
手机/平板 在Wi-Fi设置中,长按或修改当前连接的Wi-Fi,将IP设置从DHCP改为静态,然后填写DNS服务器。
缺点:管理工作量大,设备移动时容易出错。
方法2:通过DHCP服务器自动分配(推荐)
这是最常用和最方便的方法,您需要在网络中的路由器或DHCP服务器上进行配置。
在DHCP服务的配置中,设置“DNS服务器”选项(通常叫Option 6
),将其值设置为您的专网DNS服务器IP(如192.168.1.1
)。
配置示例(以常见的家用/企业路由器为例):
1、 登录路由器管理后台(如192.168.1.1
)。
2、 找到“DHCP服务器”或“局域网设置”页面。
3、 在“首选DNS服务器”或“DNS 1”栏中,填写192.168.1.1
(您的专网DNS服务器IP)。
4、 在“备用DNS服务器”或“DNS 2”栏中,可以填写一个公网DNS作为备用,如114.114.114.114
。
5、 保存并重启DHCP服务或路由器。
完成此设置后,所有通过DHCP自动获取IP的设备,都会自动将DNS设置为您的专网DNS服务器。
1、高可用性:对于重要的生产环境,建议至少部署两台DNS服务器,一主一从,并在DHCP中同时分配给客户端,以避免单点故障。
2、域名规划:
* 建议使用一个未在公网注册的顶级域作为内部域,例如.local
,.internal
,.lan
或.corp
,这可以避免与公网域名冲突。
* 也可以使用一个您拥有的公网域名的子域,例如internal.company.com
,这样内外统一,管理更方便。
3、安全:配置防火墙,只允许内部网络的客户端向您的DNS服务器发起查询请求(UDP 53端口)。
4、与AD域集成:如果您使用Windows Active Directory,强烈建议直接使用Windows DNS Server,当您添加AD域控制器时,DNS服务会自动安装并配置与AD相关的重要记录(如_ldap._tcp.dc._msdcs
)。
5、定期维护:随着服务器IP的变更,及时更新DNS记录。
角色 | 核心任务 |
网络管理员 | 1.部署DNS服务(BIND/Windows DNS)。 2.创建区域文件,添加A记录等映射关系。 3.配置转发器到公网DNS。 4.在DHCP服务器上设置DNS服务器地址为专网DNS的IP。 |
普通用户 | 无需操作(如果DHCP已正确配置),设备联网后自动生效,如果需要手动配置,则在网络设置中指定DNS服务器地址。 |
通过以上步骤,您就可以成功设置并运行一个专网的DNS系统,让内部网络访问既便捷又高效。
文章摘自:https://idc.huochengrm.cn/dns/16826.html
评论