AD出现问题50%是DNS所致,如何实现安全稳固的AD和DNS架构呢。
1、我们来回顾一下AD的安装验证
验证AD的安装
检查如下创建:
(1)、SYSVOL和共享
(2)、目录服务数据库和相关日志
(3)、默认活动目录结构
检查相关的事件日志
使用Dcdiag和Netdiag命令
SRV(服务资源记录)是服务和主机名之间做一个解析。
2、删除一台失效的DC,不能简单的把服务拿走,因为在其它的DC仍然保留着这台DC的信息。那么其它DC在复制的时候还会偿试着去找这台DC。
删除一台失效的DC
如果有两个DC,DC1和DC2,如果DC2坏掉了,如果不在DC1上删除DC2的相关信息,那么在数据复制时DC1还会偿试去联系DC2。那么就会出现复制错误,这是我们不愿意看到的。
如何在DC1上去删除DC2
不需要进到目录恢复模式,直接进到命令行。
使用ntdsutil这个工具
C:\>ntdsutil
ntdsutil:metadata cleanup(数据库的清理)
metadata cleanup:connections(进入到连接工具)
metadata cleanup:connections(进入到一个特定域控制器)
server connections:connect to damain lab.com(首先我连接到我这个域上)
server connections:connect toserver lab-dc1.lab.com(再连接到我这台服务器上)
server connections:quit(退到上一层目录)
netadata cleanup:slesct operation target(要指定那台DC无效了)
Slesct operation target:list current selections
Slesct operation target:list sites(要先看看当前计算机上都有那些站点)
Slesct operation target:select site 0(连接到其中的一个站点)
Slesct operation target:list servers in site(然后就可以看到有几台DC)
Slesct operation target:select server 1(1是代表坏掉的那台服务器)
Slesct operation target:list current selections
Slesct operation target:quit
Netadata cleanup:remove
Dcdiag和Netdiag进行检查,是否删除干净。
3、如果要实现安全稳固的AD和DNS架构我们必须先了解客户端是如何找到DC的?
当client想要登录到域中,他不并是直接找到DC,因为他并不知道谁是DC,那它会首先去查看DNS服务器,通过DNS解析SRV资源记录,他会向SRV记录去查询,谁是当前网络的DC,如果有SRV记录,client就会得到一个DC的地址,然后去访问DC.如果DNS里没SRV记录或SRV记录不正确,那么我们的client是无法联系到我们的DC的.
SRV叫服务资源记录,这种格式记录的意义在于,将我们计算机服务和主机名之间做一个解析.在DNS中的SRV记录是当每台DC在启动时,他会去注册自己的SRV记录.就是说:当管理员打开每台DC时,DC就会向他的DNS服务器去宣布我这台计算机究竟会做什么.他就会把他会做的写到DNS里去了.这样一个过程了.
4、如果想实现两台DC的冗余,那么两台DC都必须安装DNS服务,需要注意的是,DC1是AD的集成区域,那么在DC2上也建个AD的集成区域就可以了.
DNS的几个区域
主要区域:可以读可以写
辅助区域:为了实现冗余都会建好多辅助区域,辅助区域所有的信息都是从主要区域里复制过来的,如果主要区域坏了,辅助区域仍然可以提供查询,但不能再向区域里写任何信息了.所以微软在AD的布置当中,DNS即不用主要区域也不用辅助区域,用AD的集成区域,好处就是两台DC以蠖纪笔荄NS,并且如果有某一台DNS发生了修改,DNS会去互相同步,也就是说,DNS从原来的主从关系,变成了现在这种平行的关系.到现在才可以说,我们的DNS是带有冗余的,还可以说不管现在的DC任何一台关掉,不会影响我的一个DNS应用.
5、我们再了解一下活动目录的维护
(1)AD数据库的修改过程(读写过程)
例:我们到AD上去添加个用户,修改等事件
它首先会把这个事件做一个初始化,并且把它写到内存里的一个缓冲区里,然后呢它并不是直接来写数据库(Ntds.dit),而是内存写好后它会去写EDB.log(每天发生的事,所做的事都会被EDB.log记住),写完EDB.log才会把事件写到AD数据库(Ntds.dit)里面去,之后这个事件会被写到另外一个文件也就是最后一个文件Edb.chk,当Edb.chk写完后,就认为这此的修改过程就完成了.