本文共 6621 字,大约阅读时间需要 22 分钟。
Windows 2008 R2平台下搭建AD(Active Directory)和DNS(Domain Name System)服务。
DNS主要提供了主机名解析的功能,其在网络中作为域名和IP地址相互映射的一个分布式数据库,能够使用户更简单、方便的访问互联网站点,而不用去记住虽然能被机器直接识别但却非常不便于人记忆的IP地址。简单而言,DNS的作用就是——IP地址<—>主机名(域名)的映射。而且在Win08R2中,DNS是AD环境正常运行的基础。
DNS中的域名解析(主机名解析):通过访问Hostname,最终能得到Hostname对应的IP地址的过程叫做域名解析。
Hostname到IP address映射有两种方式:
1) 静态映射(hosts文件),每台电脑上都存在一个hosts文件(C:\Windows\System32\drivers\etc\hosts)。配置了主机名到IP地址的映射,不同的电脑之间独立维护自己的映射表,而且只供本设备使用;2) 动态映射,部署域名解析系统(DNS),在DNS服务器上配置了hostname到IP地址的映射,当你需要通过hostname来访问目标主机时,就需要到DNS服务器查询hostname所对应的IP地址。而且若DNS客户端的主机名、IP地址有变动的时候,当这些变动数据发送到DNS服务器之后,DNS服务器便会自动的更新DNS区域内的相关记录。
注意:在解析域名时,首先会采用静态域名解析的方法,如果静态域名解析不成功,再采用动态域名解析。可以将一些常用的域名放入静态域名解析表中,这样能够有效的提高域名解析效率。
FQDN:(Fully Qualified Domain Name)完全合格域名/全称域名,是指主机名加上全路径,全路径中列出了序列中所有域成员。全域名可以从逻辑上准确地表示出主机在什么地方,也可以说全域名是主机名的一种完全表示形式。从全域名中包含的信息可以看出主机在域名树中的位置。FQDN=主机名.DNS后缀
例如:www.jmilk.fan.com中www为主机名,jmilk.fan.com为域名。DNS架构就是一个层次树状结构,这个树状结构称之为DNS域名空间。
域名空间结构
1) 位于树状结构最顶层的域名空间就是根,一般使用”.”来表示。根内有多台DNS服务器,分别由不同的机构来管理。
2) 根之下为顶级域,每一个顶级域都有多台DNS服务器,顶级域用来将组织分类。顶级域
3) 顶级域之下的就是二级域,二级域提供给公司或者组织使用,例如:microsoft.com就是由Microsoft公司所申请的域名。
4) 在二级域之下还能够细分为多层子域。例如:FQDN:www.jmilk.fan.com中,jmilk.fan.com就是二级域fan.com的子域。DNS区域可以将域名空间划分为易于管理的小区域。在这个DNS区域内的主机数据(解析条目),被存储在DNS服务中的区域文件中(zone file)。在Zone File中每一条数据都被称之为一条资源记录。
上面我们划分了两个区域:
1) 区域1(涵盖了子域sales.sayms.com) 区域1的Zone File存储着子域sales.sayms.com内包含的所有主机(pc1~pc50)的资源记录 2) 区域2(涵盖了二级域sayms.com和子域mkt.sayms.com) 区域2的Zone File存储着二级域saymms.com和子域sales.sayms.com内包含的所有主机(ps51~ps100,www,ftp)的资源记录。 这两个区域文件可以放在同一个DNS服务器中 ,也可以分别放在两个不同的DNS服务器中。 注意:一个区域所划分的范围必须是域名空间中连续的区域。不能将两个不同的子域划分到同一个区域中。主服务器:当你在DNS服务器中新创建了一个区域后,如果可以直接在这个区域内添加、删除、修改资源记录的话,那么这台DNS服务器就是此区域的主服务器。
辅助服务器:当你在DNS服务器中新创建了一个区域后,这个区域内的所有资源记录都是从另一台DNS服务器复制过来的,也就是说DNS服务器存储着这个区域内的副本记录,而且这些记录是不能被修改的,那么这台DNS服务器就被称之为此区域的辅助服务器。 主机服务器:为辅助服务器提供主副本的DNS服务器就是主机服务器。将该区域内的资源记录从主机服务器复制带辅助服务器的操作称之为区域传送。1) 递归查询:DNS客户端直接要求得到完整的解析结果,即:DNS客户端发出查询请求后,若DNS服务器内没有所需记录的话,DNS服务器会代替DNS客户端向其他DNS服务器查询。
2) 迭代查询:DNS客户端只能得到下一个DNS服务器的地址。DNS服务器如有DNS客户端请求数据则返回正确地址,若DNS服务器没有请求记录则返回一个指针(指向下一个DNS服务器)给DNS客户端,DNS客户端向指针所指向的DNS服务器继续发出请求,以此逐层查询。如下图所示3)反向查询:利用IP找到Hostname。要使用反向查询,必须在DNS服务器内创建反向查找区域。反向查找区域的名称最后为in-addr.arpa。例如:如果需要为192.168.0网段提供反向查询功能,就必选先创建反向查找区域0.168.192.in-addr.arpa。反向查找区域文件名为0.168.192.in-addr.arpa.dns。
缓存文件内存储着根内DNS服务器的主机名与IP地址对应数据。每一台DNS服务器内的缓存文件应该是一样的,公司内的DNS服务器要想外部DNS服务器查询时,需要用到这些数据。DNS服务器缓存文件的存放路径为%systemroot%\Sysem32\DNS\cache.dns 。
• 配置DNS服务器的静态IP
• 开始菜单 –>管理工具 –>服务器管理器
选择左侧树形菜单”角色”节点,右键”添加角色”• 点击下一步
• 进入服务器角色页面
• 勾选DNS 服务器,点击下一步
• 点击下一步
• 点击安装
• 点击关闭,重启服务器
DNS Install Done
DNS客户端所提出的请求大多是正向解析,即通过hostname来解析IP地址。下面的步骤就是添加一个正向解析区域。
Step1:新建正向查找区域Step2:在欢迎使用新建区域向导中点击下一步
Step3:选择主要区域后单击下一步
注意:如果DNS服务器本身也是一个域控制器的话(含有AD服务),则默认会勾选在AD中存储区域记录,区域记录会被存储在AD的数据库中。否则区域记录会会被存储在区域文件(Zone File)中。并且如果DNS服务器本身也是一个AD服务器的话,还可以通过Step4来选择将DNS区域记录复制到其他不同的DNS服务器中。Step4:选择传送作用域
传送作用域用于在不同的DNS服务器中同步DNS记录。Step5:输入区域名称后,点击下一步
Step6:选择动态更新模式
若DNS客户端的主机名、IP地址有变动的时候,当这些变动数据发送到DNS服务器之后,DNS服务器便会自动的更新DNS区域内的相关记录。Step7:点击完成,技结束新建区域安装向导
Step1:新建主机资源记录(A或AAAA记录)
将hostname与对应的IP地址(也就是资源记录类型为A或AAAA的记录)新建到区域后,DNS服务器就可以实现主机名解析功能。点击新建主机Step2:输入A或AAAA记录,即主机名和对应的IP地址
再重复Step1和Step2新建另一条IP映射记录win__pc2 <–> 192.168.0.101。 在HOST win_pc1.jmilk.com中Ping win_pc2.jmilk.com 如果出现请求超时,则考虑是否开放了防火墙;如果出现了无法访问主机,则考虑对方主机是否开启。注意:如果在同一个DNS区域中存在多条名称相同但是IP不同的记录时,则DNS服务器会使用RR(轮询)功能来实现解析。DNS服务器会将多条IP地址都返回给DNS客户端,但是DNS会根据一定的顺序来返回。而DNS客户端会优先使用第一个返回来的IP地址。
如果你需要为一台HOST新建多个hostname,例如:有一台Apache服务器www.jmilk.com,同时也是一台FTP服务器ftp.jmilk.com。此时可以利用别名CNAME记录实现这一目的。
上图就是在win_pc.jmilkcom这台HOST上同时指定了FQDN:ftp.jmilk.com ,也就是说当我们访问win_pc.jmilk.com或者访问ftp.jmilk.com的时候,其实是访问了同一台HOST。反向解析可以让DNS服务端通过IP地址找到相应的hostname。反向解析区域并不是一定要存在的,但是在一些特定的环境下就需要反向解析的支撑。例如:IIS服务器通过hostname来限制访问的客户端时,需要反向解析来获取客户端的hostname。除此之外,新建辅助区域也需要反向解析区域。
创建反向解析区域 Step1:新建反向解析区域,进入新建区域向导,并点击下一步Step2:选择主要区域
Step3:选择传送作用域
Step4:选择IPV4的反向解析
Step5:输入需要反向解析的区域网段
Step6:选择动态更新模式,并最后完成创建。
新建反向解析记录
Step1:在反向解析区域内新建指针(PTR)Step2:写入反向解析记录
注意:也可以在正向解析区域新建主机(A或AAAA记录)的同时,勾选创建相关的指针记录。这样就会自动的创建反向解析记录。但前提是,反向解析区域必须事先存在。
在二级域jmilk.com下创建子域fan.jmilk.com
Step1:在jmilk.com下创建子域,点击新建域Step2:然后就可以在子域fan.jmilk.com中写入资源记
辅助区域在另外一个DNS服务器中创建,用于存储主DNS服务器中对应的区域的副本记录。这些副本记录是只读的,不能在辅助DNS服务器中被修改。
我们尝试在dns2中创建jmilk.com的辅助区域,该辅助区域是从主服务器dns1中通过区域传送复制过来的。
Step1:在dns1中的jmilk.com区域中添加dns2.jmilk.com的A记录。Step2:在dns2中安装DNS服务器角色
Step3:在dns1中建立与dns2的区域传送
Step4:选择区域jmilk.com点击属性,点击区域传送选项卡,勾选只允许到下列服务器,点击编辑,输入辅助服务器的IP地址回车,最后点击确定。
成功在dns1中建立dns2区域传送
Step5:在dns2中新建辅助区域
这样就实现了辅助区域的创建,存储辅助区域的dns2服务器默认会每隔15分钟自动请求dns1主服务器执行区域传送操作。当然你也可以在dns2中手动的请求操作。点击从主服务器传输或从主服务器传送区域的新副本即可。DNS服务器的区域类型有:主要区域、辅助区域、存根区域、AD集成区域。
右击区域名称 –> 选择属性 点击更改,可以重新选择区域类型来将区域内的记录复制到其他扮演域控制器的角色DNS服务器中。启动DNS服务器的动态更新功能
需要针对DNS区域来启动动态更新的功能。 右击区域名称 –> 选择属性 你可以选择安全、非安全、无等动态更新的模式,其中安全模式仅在AD集成区域(在域中有AD服务)中有效,表示只有被授权的用户才能够更改区域或记录,也只有域成员的计算机才能实现动态更新。DNS客户端的动态更新设置
客户端动态更新的设置方法: 控制面板 –> 网络和Internal –>网络共享中心 –> 本地连接 –> 属性 –> Internal协议版本4(TCP/IPv4) –> 属性 –> 高级 –> 勾选在 DNS 中注册此连接的地址(R) DNS客户端默认会将其完整的计算机名与IP地址注册到DNS服务器中。nslookup指令能够指定查询的类型,在已安装了TCP/IP协议的电脑上都可以使用此命令。主要用于诊断DNS的解析实现、域名查询。是一个用于查询 Internet域名信息或诊断DNS 服务器问题的工具.
运行:Run –> cmd –> nslookup 正向解析:nslookup最简单的用法就是查询域名对应的IP地址,包括A记录和CNAME记录,如果查到的是CNAME记录还会返回别名记录的设置情况。C:\Users\JmilkFan>nslookup默认服务器: gjjdial.bta.net.cn #DNS服务器hostnameAddress: 202.106.195.68 #DNS服务器IP> www.baidu.com #输入希望查询的hostname服务器: gjjdial.bta.net.cnAddress: 202.106.195.68非权威应答:名称: www.a.shifen.com #对应HOST的hostnameAddresses: 61.135.169.125 #hostname映射的IP地址 61.135.169.121Aliases: www.baidu.com #别名设置信息
反向解析:通过输入IP来查询hostname。
> 192.168.0.100服务器: UnKnownAddress: ::1名称: win_pc1.jmilkfan.comAddress: 192.168.0.100
在有些情况下,明明DNS服务器中的hostname与IP的映射是正确的,但是却得不到正确的解析。这时可能会由于存在不正确的缓存区数据,清楚缓存区后再尝试,获取就能够得到正确的结果。
运行:Run –> cmd
输入ipconfig/flushdns指令就可以清楚当前客户端的DNS缓存。 除此之外,还可以输入ipconfig/displaydns指令来查看DNS客户端当前的缓存记录