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 Install Done
主要区域:用来存储此区域的主副本,当你在DNS服务器内创建主要区域后,便可以直接在此区域内添加、删除、修改记录。
辅助区域:用来存储此区域的副本,利用区域传送方式从其主服务器复制过来。辅助区域内的记录是只读的、不可以修改的。
DNS客户端所提出的请求大多是正向解析,即通过hostname来解析IP地址。下面的步骤就是添加一个正向解析区域。
Step1:新建正向查找区域
Step3:选择主要区域后单击下一步
注意:如果DNS服务器本身也是一个域控制器的话(含有AD服务),则默认会勾选在AD中存储区域记录,区域记录会被存储在AD的数据库中。否则区域记录会会被存储在区域文件(Zone File)中。并且如果DNS服务器本身也是一个AD服务器的话,还可以通过Step4来选择将DNS区域记录复制到其他不同的DNS服务器中。
Step4:选择传送作用域
传送作用域用于在不同的DNS服务器中同步DNS记录。
Step6:选择动态更新模式
若DNS客户端的主机名、IP地址有变动的时候,当这些变动数据发送到DNS服务器之后,DNS服务器便会自动的更新DNS区域内的相关记录。
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服务器中去查询MX这条邮件交换器资源记录,MX记录着某个域中的邮件交换器。
主域或子域:若在二级域jmilk.com下面还存在一个子域fan.jmilk.com并且smtp邮箱交换器在子域中,则在主域或子域栏中填入fan。表示stmp.fan.jmilk.com是子域的邮件交换器,否认不需要填写。
邮件服务器优先级:当在同一个域中存在多台邮箱交换器时,可以新建多条MX记录,并为其设定优先级,最大为0,默认为10。
当完成新建MX记录后,会出现(与父文件夹相同),父文件夹就是jmilk.com,表示负责jmilk.com域的邮件服务器就是刚刚新建好的smtp.jmilk.com。
反向解析可以让DNS服务端通过IP地址找到相应的hostname。反向解析区域并不是一定要存在的,但是在一些特定的环境下就需要反向解析的支撑。例如:IIS服务器通过hostname来限制访问的客户端时,需要反向解析来获取客户端的hostname。除此之外,新建辅助区域也需要反向解析区域。
创建反向解析区域
Step1:新建反向解析区域,进入新建区域向导,并点击下一步
新建反向解析记录
Step1:在反向解析区域内新建指针(PTR)
注意:也可以在正向解析区域新建主机(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记录。
Step4:选择区域jmilk.com点击属性,点击区域传送选项卡,勾选只允许到下列服务器,点击编辑,输入辅助服务器的IP地址回车,最后点击确定。
这样就实现了辅助区域的创建,存储辅助区域的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服务器hostname
Address: 202.106.195.68 #DNS服务器IP
> www.baidu.com #输入希望查询的hostname
服务器: gjjdial.bta.net.cn
Address: 202.106.195.68
非权威应答:
名称: www.a.shifen.com #对应HOST的hostname
Addresses: 61.135.169.125 #hostname映射的IP地址
61.135.169.121
Aliases: www.baidu.com #别名设置信息
反向解析:通过输入IP来查询hostname。
> 192.168.0.100
服务器: UnKnown
Address: ::1
名称: win_pc1.jmilkfan.com
Address: 192.168.0.100
在有些情况下,明明DNS服务器中的hostname与IP的映射是正确的,但是却得不到正确的解析。这时可能会由于存在不正确的缓存区数据,清楚缓存区后再尝试,获取就能够得到正确的结果。
运行:Run –> cmd
输入ipconfig/flushdns指令就可以清楚当前客户端的DNS缓存。
除此之外,还可以输入ipconfig/displaydns指令来查看DNS客户端当前的缓存记录