Windows Server 2016 IPv6 DNS配置

从Windows Server 2008开始,DNS服务支持IPv6配置,并可以配置IPv6正向解析域和反向解析域,从而实现IPv6的正常解析服务。

1、Windows Server 2016 IPv6 DNS配置

image-20220312144833313

在本次实验中我们主要完成了以下功能(实验拓扑结构如上):在Windows Server 2016系统中添加DNS服务;建立正向和反向解析区域;通过Win10系统远程测试DNS。

好了、我们现在开始安装配置DNS;我们按照上图的拓扑图给Winserver2016-1和Winserver2016-2配置静态的IPv4和IPv6地址,IPv4的网关和DNS都是172.16.200.254。在虚拟机Winserver2016-1上,单击“开始”→“服务器管理器”,或单击任务栏上的“服务器管理器”图标,启动服务器管理器。在“服务器管理器”中单击“添加角色和功能”链接,打开“添加角色和功能向导”对话框,按照提示单击3次“下一步”按钮即可。

在“选择服务器角色”对话框中选择“DNS服务器”复选框,如下图所示。在弹出的“添加DNS服务器所需的功能”对话框中保持默认设置,单击“添加功能”按钮,然后在“选择功能”窗口中保持默认设置,单击“下一步”按钮。

image-202203121511568822

接下来的选项都保持默认设置,直至选择“安装”,等待安装完成,如下图所示。

image-202203121512422812

DNS安装完成以后我们开始新建正向查找区域,在“服务器管理器”窗口中单击菜单“工具”→“DNS”,打开“DNS管理器”窗口,如下图所示。

image-20220312151816178

在“DNS服务器”窗口中单击“正向查找区域”,将其展开,然后右键单击“正向查找区域”→“新建区域”,打开“新建区域向导”对话框,单击“下一步”按钮继续。在“区域类型”对话框中,选择“主要区域”,如下图所示。然后,单击“下一步”按钮继续。

image-20220312152243592

在“区域名称”字段中输入DNS的域名,这里因为是测试,我们随便输入一个测试域名test.com,如下图所示;单击“下一步”按钮继续。

image-20220312152316221

在“区域文件”对话框中输入DNS区域文件名,这里保持默认的test.com.dns,如下图所示。在下图的下方,显示该文件的存储位置为“%SystemRoot\system32\dns”文件夹,以后可以通过备份该文件来备份DNS的配置;单击“下一步”按钮继续。

image-20220312152401612

在“动态更新”中保持默认的“不允许动态更新”选项,单击“下一步”按钮继续。单击“完成”按钮,这样我们就完成DNS正向查找区域test.com的创建了。

正向查找区域创建完成以后,我们还需要给这个区域添加一个主机。展开下图中的“正向查找区域”,可以看到新建的test.com区域。右键单击test.com区域,从快捷菜单中选择“新建主机(A或AAAA)”,如下图所示。

image-20220312153712443

在“新建主机”对话框中输入主机名称和对应的IP地址,这里主机名称为www,IP地址为2001:da8:1005:1000::80,如下图所示;单击“添加主机”按钮,完成主机的新建。

image-20220312153758711

这样正常查找区域的配置就暂时告一段落,接下来我们开始创建反向查找区域。在“DNS管理器”窗口中,展开“反向查找区域”,然后右键单击“反向查找区域”→“新建区域”,打开“新建区域向导”对话框,单击“下一步”按钮继续。

在“区域类型”对话框中,选择“主要区域”,单击“下一步”按钮继续。在“反向查找区域名称”对话框中,选择“IPv6反向查找区域”,如下图所示;单击“下一步”按钮继续。

image-20220312153917491

在“IPv6地址前缀”字段中输入域名对应的前缀,这里为2001:da8:1005:1000::/64,如下图所示。反向查找区域列表框中自动填入了反转后的域名前缀,再加上ip6.arpa的后缀,IPv6前缀中的0不能省略;单击“下一步”按钮继续。

image-20220312153951319

在“创建新文件,文件名为”字段中输入反向查找区域的文件名,这里随便输入test.com.ptr,如下图所示,注意该文件的保存路径与正向查找区域文件名的保存路径相同;单击“下一步”按钮继续。

image-20220312154020111

同样选择“不允许动态更新”按钮。单击“下一步”按钮继续,完成反向查找区域的创建。然后我们需要添加反向查找资源记录,在新建的反向查找区域上单击右键,选择“新建指针(PTR)”,如下图所示。

image-20220312154217139

在弹出的“新建资源记录”对话框中输入主机的IP地址,主机的IPv6地址不能采用缩写的方式,比如2001:da8:1005:1000::80,不能使用“::”缩写格式,需要输入完整格式的地址,即2001:0da8:1005:1000:0:0:0:0080,注意每个部分的首字符“0”和尾字符“0”都不能省略,如“0da8”和“0080”都要写完整格式。如果每个部分是“0”,那么可以用一个字符“0”表示,如中间的“0:0:0”,一种好记的方法是全部输入完整格式,即2001:0da8:1005:1000:0000:0000:0000:0080。在主机名中输入完整的域名www.test.com,如下图所示;单击“确定”按钮完成添加。

image-20220312154316072

在创建了反向查找区域后,以后新建主机时,可以直接选中前图中“创建相关的指针(PTR)记录”复选框;这样在新建主机时,也将创建对应的反向资源记录。

配置完成之后我们现在开始测试,我们配置Win10计算机的IPv4地址为172.16.200.3/24,网关为172.16.200.254,DNS为172.16.200.1;IPv6地址为2001:da8:1005:1000::100/64,DNS为2001:da8:1005: 1000::200,没有网关;我们通过nslookup命令进行测试,结果如下所示。

Microsoft Windows [版本 10.0.10240]
(c) 2015 Microsoft Corporation. All rights reserved.

C:\Users\Administrator>nslookup
默认服务器:  UnKnown
Address:  2001:da8:1005:1000::200

> www.test.com
服务器:  UnKnown
Address:  2001:da8:1005:1000::200

名称:    www.test.com
Address:  2001:da8:1005:1000::80

> 2001:da8:1005:1000::80
服务器:  UnKnown
Address:  2001:da8:1005:1000::200

名称:    www.test.com
Address:  2001:da8:1005:1000::80

> www.edu.cn
服务器:  UnKnown
Address:  2001:da8:1005:1000::200

DNS request timed out.
    timeout was 2 seconds.
DNS request timed out.
    timeout was 2 seconds.
DNS request timed out.
    timeout was 2 seconds.
名称:    www.edu.cn
Address:  2001:da8:20d:22::10

>

从上面的输出信息我们可以看到,Win10在配置了IPv4和IPv6双DNS的情况下,默认使用的是IPv6 DNS;正确地解析了www.test.com对应的IPv6和IPv4地址;正确地反向解析了2001:da8:1005:100::80对应的域名;正确地解析了互联网域名www.edu.cn对应的IPv6和IPv4地址。

这里解释一下www.edu.cn域名的解析。Win10把域名www.edu.cn请求发往DNS服务器2001:da8:1005:100::200,DNS服务器本地的域名是test.com。由于该域名不是本地的域名,因此DNS服务器把请求发往全球顶级的13台DNS服务器,最后把结果返回给Win10。右键单击“DNS管理器”界面中的计算机名,从快捷菜单中选择“属性”,打开“属性”对话框。选择“根提示”选项卡,如下图所示。可以看到全球顶级的13台DNS服务器,其中很多DNS服务器已经支持双栈。

image-20220312160800641

2、配置DNS转发

在上面的实验中,Win10主机向DNS服务器询问www.edu.cn域名对应的IP地址,然后再由DNS服务器向根提示服务器转发请求。这虽然实现了域名解析,但效率并不高;毕竟是国内的域名,没必要去询问国外的DNS服务器。在有些默认不允许访问国外网络的环境中,由于不能访问根提示服务器,所以非本域的域名解析将失败。

难道这个问题就没有办法解决嘛?其实,我们可以通过配置DNS转发来优化效率,配置步骤如下;选择下图中的“转发器”选项卡,如下图所示。单击“编辑”按钮,编辑转发器。输入要转发的DNS服务器的IP地址,系统会自动进行反向解析,尝试查出IP地址对应的域名,如下图所示。有的DNS服务器可能没有配置反向解析,那么FQDN查询会失败,但不影响使用。

image-20220312160942156

image-20220312161344535

转发的IP地址既可以IPv4,也可以是IPv6;由于本实验环境不支持IPv6,所以IPv6 DNS 2001:470:20::2的转发失败。我们可调整转发DNS服务器的顺序,把效率高的DNS服务器上移。

3、DNS域名封杀

企业通常会出于工作原因而屏蔽某些网站,这些网站的域名对了非常多的IP,因此很难把所有IP都列出来。此时可借助企业内部的DNS服务器轻松实现域名封杀。例如,假设企业阻止员工访问*.163.com。在实验5-4的基础上,可在DNS服务器Winserver2016-1上新增一个正向查找区域163.com,不添加任何主机记录。在Win10上执行命令ping www.163.com,发现解析失败。因为DNS服务器本身有正向区域163.com,因此即使解析不出www.163.com,也不会转发DNS查询到其他DNS服务器上(这也是公司内部没有注册的DNS不能随便新建正向区域的原因。比如,如果新建了正向查找区域edu.cn,将导致不能解析中国的所有教育网网址)。

把Win10的DNS改成外网中的其他合法DNS,发现www.163.com解析成功。也就是说,通过在DNS管理器中新建一个正向区域仅仅能阻止内部使用该DNS服务器的用户对外进行域名解析,对不使用该DNS的用户则不起作用。为了阻止用户配置外网的DNS,可以在企业出口设备上进行限制,不允许内网中除DNS服务器以外的IP访问外网UDP的53号端口(DNS服务端口),这样内网用户就只能配置内部的DNS服务器。依次添加多个正向区域,可以限制企业内部用户对这些外部网站的访问。但此方法无法限制用户通过IP地址对外网进行访问,如果域名对应的IP可知,则可以在网关型设备上封锁IP的访问。

4、DNS委派

看到这里,我们思考一个问题。如果一个部门很大(如管理中国众多高校的中国教育网edu.cn),虽然可以通过新建子域的方法在edu.cn这台DNS服务器上为每一所高校新建一个子域;如为嘿嘿克工业大学创建z0ukun子域,再在z0ukun子域中为嘿嘿克工业大学的每台服务器创建主机名。如www,也就是 www.z0ukun.edu.cn 指向IP地址2001:DA8:1011:3242::13,blog.z0ukun.edu.cn指向IP地址2001:da8:1011:248::20等。但是在同一台服务器上维护全国所有大学的域名和主机名,并将给服务器的管理工作带来麻烦;而且也给各个高校主机名的管理带来很大困难,因为每所高校主机名的开通、更新、删除都需要上报到中国教育网管理中心。那么上述问题通过技术层面如何来解决呢?这就是我们要提到的DNS委派技术,既把各个子域的管理委派给各所高校。

上面描述的问题可以抽象成我们上面所示的拓扑,Winserver2016-1是DNS服务器,管理着test.com域;Winserver2016-2也是DNS服务器,管理着xy.test.com域;Winserver2016-1服务器把子域xy.test.com的管理委派给Winserver2016-2服务器。Win10充当客户端,用来完成测试,Winserver2016-2的配置步骤如下。

我们首先把IPv4和IPv6的DNS都指向本机的IP地址;然后我们开始安装DNS服务,新建正向区域xy.test.com。在xy.test.com中新建主机www,使其指向IP地址2001:da8:1005:1000::201。配置转发器。我们按照上面介绍的方法,添加查询转发到2001:da8:1005:1000::200(即Winserver2016-1的DNS服务器地址)。这一步很关键,如果不添加该转发,则客户端在使用Winserver2016-2的DNS服务时无法正确解析出www.test.com,原因是如果Winserver2016-2解析失败,Winserver2016-2将把查询转发到根提示,而在根提示中找到的test.com域并不是指向本实验中Winserver2016-1这台DNS服务器。这里强调一点,在实际的工作环境中,假如test.com是公司申请的合法域名,主DNS服务器把xy.test.com子域委派给下一层DNS服务器管理,则下一层DNS服务器上没必要配置这里的转发(当然配置转发也没问题)。

接下来我们开始Winserver2016-1的配置步骤;我们同样也把把IPv4和IPv6的DNS都指向本机的IP地址。然后新建正向区域test.com。在test.com中新建主机www,使其指向IP地址2001:da8:1005:1000::80;如果前面已经完成该步骤,则忽略。在test.com中新建主机xiangyang,使其指向IP地址2001:da8:1005:1000::201。

在test.com中新建委派,将xy.test.com委派给Winserver2016-2管理。单击下图中所示的快捷菜单中的“新建委派”。打开“新建委派向导”对话框,单击“下一步”按钮,输入受委派的域名,这里输入xy,如下:

image-20220312161858790

单击“下一步”按钮,在弹出的“名称服务器”页面中添加名称服务器,如下图所示。单击“添加”按钮,打开“新建名称服务器记录”对话框。在“服务器完全限定的域名”字段中输入xiangyang.test.com,然后单击“解析”按钮,结果如下图所示。单击“确定”按钮返回。单击“下一步”按钮继续,完成子域的委派。

image-20220312161948402

image-20220312165726980

在Win10上进行如下测试。更改Win10的IPv6地址为2001:da8:1005:1000::100/64,DNS为2001:da8:1005: 1000::200,没有网关。在Win10上分别执行命令ping www.xy.test.com和ping xiangyang.test.com,都可以成功地解析出IPv6地址,输出信息如下:

Microsoft Windows [版本 10.0.10240]
(c) 2015 Microsoft Corporation. All rights reserved.

C:\Users\Administrator>ping www.xy.test.com

正在 Ping www.xy.test.com [2001:da8:1005:1000::201] 具有 32 字节的数据:
来自 2001:da8:1005:1000::201 的回复: 时间=1ms
来自 2001:da8:1005:1000::201 的回复: 时间=1ms
来自 2001:da8:1005:1000::201 的回复: 时间=1ms
来自 2001:da8:1005:1000::201 的回复: 时间=1ms

2001:da8:1005:1000::201 的 Ping 统计信息:
    数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
    最短 = 1ms,最长 = 1ms,平均 = 1ms

C:\Users\Administrator>ping xiangyang.test.com

正在 Ping xiangyang.test.com [2001:da8:1005:1000::201] 具有 32 字节的数据:
来自 2001:da8:1005:1000::201 的回复: 时间<1ms
来自 2001:da8:1005:1000::201 的回复: 时间<1ms
来自 2001:da8:1005:1000::201 的回复: 时间=1ms
来自 2001:da8:1005:1000::201 的回复: 时间=1ms

2001:da8:1005:1000::201 的 Ping 统计信息:
    数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
    最短 = 0ms,最长 = 1ms,平均 = 0ms

C:\Users\Administrator>

这里需要特别说明一下,如果出现故障。可能是先前的配置错误导致的。这时候我们需要先检查配置信息是否正确,如果检查了配置信息无误之后还是解析失败。此时我们需要在客户端使用命令ipconfig/flushdns清除客户机上的DNS缓存记录;同时也要清除DNS服务器上的缓存记录。

Microsoft Windows [版本 10.0.10240]
(c) 2015 Microsoft Corporation. All rights reserved.

C:\Users\Administrator>ipconfig /all

Windows IP 配置

   主机名  . . . . . . . . . . . . . : DESKTOP-831NFS0
   主 DNS 后缀 . . . . . . . . . . . :
   节点类型  . . . . . . . . . . . . : 混合
   IP 路由已启用 . . . . . . . . . . : 否
   WINS 代理已启用 . . . . . . . . . : 否

以太网适配器 以太网:

   连接特定的 DNS 后缀 . . . . . . . :
   描述. . . . . . . . . . . . . . . : Intel(R) PRO/1000 MT Network Connection
   物理地址. . . . . . . . . . . . . : 50-00-00-01-00-00
   DHCP 已启用 . . . . . . . . . . . : 否
   自动配置已启用. . . . . . . . . . : 是
   IPv6 地址 . . . . . . . . . . . . : 2001:da8:1005:1000::100(首选)
   本地链接 IPv6 地址. . . . . . . . : fe80::d57c:b6c:cf69:cec6%4(首选)
   IPv4 地址 . . . . . . . . . . . . : 172.16.200.3(首选)
   子网掩码  . . . . . . . . . . . . : 255.255.255.0
   默认网关. . . . . . . . . . . . . : 172.16.200.254
   DHCPv6 IAID . . . . . . . . . . . : 55574528
   DHCPv6 客户端 DUID  . . . . . . . : 00-01-00-01-24-11-8E-AE-50-00-00-01-00-00
   DNS 服务器  . . . . . . . . . . . : 2001:da8:1005:1000::201
                                       172.16.200.1
   TCPIP 上的 NetBIOS  . . . . . . . : 已启用


C:\Users\Administrator>ping www.xy.test.com

正在 Ping www.xy.test.com [2001:da8:1005:1000::201] 具有 32 字节的数据:
来自 2001:da8:1005:1000::201 的回复: 时间=1ms
来自 2001:da8:1005:1000::201 的回复: 时间=1ms
来自 2001:da8:1005:1000::201 的回复: 时间=1ms
来自 2001:da8:1005:1000::201 的回复: 时间=1ms

2001:da8:1005:1000::201 的 Ping 统计信息:
    数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
    最短 = 1ms,最长 = 1ms,平均 = 1ms

C:\Users\Administrator>ping xiangyang.test.com

正在 Ping xiangyang.test.com [2001:da8:1005:1000::201] 具有 32 字节的数据:
来自 2001:da8:1005:1000::201 的回复: 时间=1ms
来自 2001:da8:1005:1000::201 的回复: 时间=1ms
来自 2001:da8:1005:1000::201 的回复: 时间<1ms
来自 2001:da8:1005:1000::201 的回复: 时间<1ms

2001:da8:1005:1000::201 的 Ping 统计信息:
    数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
    最短 = 0ms,最长 = 1ms,平均 = 0ms

C:\Users\Administrator>

我们更改Win10的DNS为2001:da8:1005:1000::201,使用命令ipconfig /flushdns清除虚拟机上的DNS缓存记录,执行前面步骤中的所有测试,可成功解析出所有域名;至此,DNS委派配置成功。

推荐文章