Windows Server提供易于操作和部署DNS服务器功能。可以使用Windows版本的BIND(互联网上的标准DNS服务器软件),但Windows Server提供的标准DNS服务器便于管理并且与Active Directory集成度极高。在公司内部网络里一般使用”标准DNS服务器”比使用BIND更为方便。

介绍在Windows服务器上,安装DNS服务的方法。在Linux上安装DNS(BIND)的方法,参照Rocky Linux9上,安装及设定DNS服务(BIND)

标准DNS服务器的特点

  1. 可作为权威服务器和缓存服务器运行
    DNS服务器主要有两种运行方式。 第一种是权威服务器,负责响应自己管理的域名的查询;第二种是缓存服务器,负责查询其他DNS服务器(权威服务器),以获取DNS客户端的域名解析请求的响应。标准DNS服务器可在两种模式下运行,也可以同时使用。
  2. 可与BIND和WINS等常见DNS服务器配合使用
    标准DNS服务器符合各种RFC标准,因此可以与 BIND 等普通 DNS 服务器配合使用。 还可以将 BIND 指定为转发器,这可视为名称解析的转发功能。 它还可以与 WINS 服务器协同工作,因此如果 DNS 服务器无法解析某个名称,它可以查询 WINS。
  3. 支持Active Directory
    在域控制器上运行标准DNS服务器时,zone(区域)信息可包含在Active Directory信息中((Active Directory集成zone)。一般DNS服务器的zone是通过主从(master,slave)架构设计高可用,但当配置为Active Directory集成zone时,这些zone就会成为彼此的主区域既Multi master的架构。
  4. 支持条件转发
    除标准转发器外,标准DNS还支持一种称为”条件转发器”的功能,该功能能将指定域名的解析请求转发到不同的DNS服务器。例如公司内部的特定域名的解析转发至公司内部的DNS服务器,而因特网上的特定域名的解析转发到ISP的DNS服务器。目前很多企业在使用云上开展业务,本地DNS服务器和云上域名解析的集成也使用该功能。

  5. 支持DNSSEC
    Windows Server 2008 R2以后的DNS服务器,支持DNSSEC(Domain Name System Security Extensions)。该功能允许签署zone和托管已签署的zone。

实际项目上构筑DNS服务器时,包括和云上资源的DNS解析的集成等需要考虑的内容较多。下面是需要考虑的观点,仅供参考。

  • DNS服务器的台数及运行方式
  • 转发的利用
  • 是否允许递归查询
  • DNS轮询(RoundRobin)的必要性
  • zone传送
  • 正向查询的构成
  • 反向查询的构成
  • 使用的资源条目
  • 子域名的构成
  • 是否使用stab zone

准备

在Windows服务器上安装DNS服务之前,需要确认该服务器是否设定为静态IP,如果使用DHCP分配IP的话,修改为静态IP。

打开cmd之后,输入下面的命令确认是否使用了DHCP。

cmd> ipconfig /all

执行如下, DHCP Enabled 的值为”No”。

如果 DHCP Enabled 的值为 “Yes”,需要修改为静态IP地址。依次访问”Windows设置” -> “网络和Internet” -> “以太网” -> “更改适配器选项” -> 选择以太网的属性 -> Internet协议版本4(TCP/IPv4) -> 属性后,手动设定IP地址及DNS服务器。

安装DNS服务

以管理员权限登录Windows服务器之后,打开”服务器管理器”。在”仪表板”上,点击”添加角色和功能”。

点击 “下一步”。

选择 “基于角色或基于功能的安装” 后,点击 “下一步”。

选择服务器 ad001 后,点击”下一步”。

勾选 “DNS服务器”。

点击 “添加功能”。

点击 “下一步”。

点击 “下一步”。

点击 “下一步”。

点击 “安装”。

点击 “关闭”。

可以确认到,在Server Manager的左侧栏多了DNS服务,至此DNS服务的安装完成。

创建主要区域(Primary Zone)

DNS服务器的主要区域有把FQDN转换为IP地址的”正向查找”及把IP地址转换为FQDN的”反向查找”的2种。(在这里把名称统一为向导的正向查找和反向查找)

创建正向查找区域

DNS服务器管理使用”DNS管理器”来进行管理。启动”服务器管理器”之后,依次点击”工具”->”DNS”,启动”DNS管理器”。

选择DNS服务器 AD001 之后,右击之后点击”新建区域”,接下来根据向导进行设定即可。

点击”下一步”。

选择”主要区域”后,点击”下一步”。

选择”正向查找区域”后,点击”下一步”。

区域名称,在这里输入”sys-blog.local”后,点击”下一步”。

选择”创建新文件,文件名为”之后,点击”下一步”。没有特别的理由的话,使用默认文件名,不需要进行修改。如果想导入其他DNS服务器的区域文件的话,把该文件保存到”%SystemRoot%\system32\dns”文件夹后,选择”使用此现存文件”。

选择”不允许动态更新”之后,点击”下一步”。如向导提示,”只允许安全的动态更新(适合Active Directory使用)”和”允许非安全和安全动态更新”有一定的风险,因此禁用动态更新。动态更新是指,哪些客户端可更新DNS记录。而禁用动态更新会增加DNS服务器管理员的工作负荷,如果是公司内部的DNS服务器,考虑是否启用动态更新。

点击”完成”。

接下来创建反向查找。

创建反向查找区域

创建反向查找区域的方法,和创建正向查找区域的方法基本一样。

选择”反向查找区域”之后,点击”新建区域”。

点击”下一步”。

选择”主要区域”后,点击”下一步”。

选择”IPv4反向查找区域”之后,点击”下一步”。

选择”网络ID”之后输入”192.168.64″,点击”下一步”。在这里需要管理的本地IP网段为192.168.64.0/24。

选择”创建新文件,文件名为”之后,点击”下一步”。文件名使用默认文件名,没有特殊的理由,不需要修改。

选择”不允许动态更新”之后,点击”下一步”。

点击”完成”。

DNS记录的管理

创建正向查找区域和反向查找区域后,需要添加或更新DNS记录。DNS记录的类型比较多,在这里介绍常用的DNS记录。

DNS记录 内容
SOA Start Of Authority
NS Name Server
A/AAAA 定义属于正向查找区域里的主机名的名称。A为IPv4,AAAA为IPv6
PTR 定义属于反向查找区域的主机名的IP地址
CNAME 定义属于正向查找区域或反向查找区域的DNS记录的别名
MX 定义邮件服务器,用于接收发送给域(Domain)内用户的邮件
SRV Service Location,用于定义提供各种服务的服务器、其服务、协议编号等的记录。在Windows Server环境中,用于标识域控制器等。
WINS Lookup 在DNS域空间中无法查找的信息,查询WINS服务器的记录。

SOA

SOA(Start Of Authority)记录是关于区域(Zone)的权威信息。当我们创建新区域时,会自动创建SOA相关信息。

选择区域名称,右击之后点击”属性”可查看SOA信息。

在”起始授权机构(SOA)”标签显示该区域的SOA信息。

名称 内容
序列号(serial) 此区域文件的版本号。次(Secondary)DNS服务器确认主(Primary)DNS服务器上的序列号,仅在主DNS服务器的序列号高于次DNS服务器序列号时次DNS服务器更新区域副本。
主服务器 该区域的主(Primary)DNS服务器的主机名
负责人 该区域的负责人的邮箱地址。不能指定@后的域名。
刷新间隔(refresh) 次DNS服务器进行更新的间隔。既次DNS服务器向主DNS服务器查询是否有更新的时间间隔
重试间隔(retry) 当次DNS服务器在连接主DNS服务器失败后,重试连接主DNS服务器的时间间隔。
过期时间(expire) 当次DNS服务器无法连接主DNS服务器时,该区域在次DNS服务器的有效时间。默认为1天,既因维护作业等停止主DNS服务器1天,次DNS服务器可提供该区域的DNS查询服务。
最小TTL 在DNS客户端或者DNS缓存服务器上,该区域的DNS记录缓存时长。
此记录的TTL SOA记录的缓存时长。

NS记录

该区域的权威DNS服务器的记录。当创建区域时DNS服务器会登录自己的主机名。在区域的属性的”名称服务器”标签里可确认NS记录。

A记录

给属于正向查找区域的计算机主机名定义IP地址。选择正向查找区域的域名,右击之后点击”新建主机(A或AAAA)”,可添加记录。

输入名称为ad002,IP地址为192.168.64.200的计算机,并勾选”创建相关的指针(PTR)记录”后,点击”添加主机”。

如下显示表示成功创建了A记录。

在正向查找区域和反向查找区域,确认已添加的内容。

PTR记录

给属于反向查找区域的计算机IP地址定义主机名。选择反向查找区域的域名,右击之后点击”新建指针(PRT)”,可添加记录。

IP地址为192.168.64.157的计算机的主机名定义为sys-blog。

添加PRT记录后的结果如下。

CNAME记录

CNAME是给属于正向查找区域和反向查找区域的DNS记录,定义别名记录。例如Web服务器的FQDN为”web001.sys-blog.local”时,设定别名为”www.sys-blog.local”,用户访问的时候使用该别名。给主机设定别名后,当系统管理员替换Web服务器为”web002.sys-blog.local”时,只需修改CNAME记录即可。

选择区域,右击之后点击”新建别名(CANME)”。

Web服务器”web001.sys-blog.local”的别名设定为”www.sys-blog.local”。

MX记录

该域名的邮箱服务器的DNS记录。例如,当给admin@sys-blog.local用户发邮件时,邮箱服务器为mail@sys-blog.local,邮箱转发服务器可通过查找该域名的MX记录,知道该邮件应该转发给哪个邮件服务器。

选择区域,右击之后点击”新建邮件交换器(MX)”。

一般指定”邮件服务器的完全限定的域名(FQDN)”,在这里指定为mail.sys-blog.loca。而在该邮件服务器的FQDN的正向查找和反向查找是需要提前设定。

SRV记录

创建SRV记录,选择正向查找区域里的区域,右击之后点击”其他新纪录”。

资源记录类型里选择”服务位置(SRV)”之后,点击”创建记录”。

管理员可手动添加SRV记录,但一般使用动态更新功能。手动添加域控服务器的服务位置时如下需要使用LDAP服务。

WINS Lookup记录

选择区域,右击属性之后在”WINS”标签上进行确认和设定。目前使用场景较少。

介绍了在Windows服务器上安装标准DNS服务器及创建Primary Zone及添加DNS记录的方法。