中午的时候强元突然提出说,app部门要求dc上面做的dns转发用命令实现,通过查选以后发现可以通过以下方式实现。

以下是五个用个DNSCMD命令在命令行里创建正向搜索区域的举例。如果用户的DNS服务器正运行Windows Server Core,那么用DNSCMD命令创建正向搜索区域,请看示例:


  1.用此命令在名为SEA-SC4的服务器上创建一个名为research.fabrikam.com正向搜索标准主域,然后将用于该区域的数据库保存到research.dns文件中。该命令用来完成此保存:


  dnscmd SEA-SC4 /zoneadd research.fabrikam.com /primary /file research.dns


  2.用此命令在名为SEA-SC 1的DNS服务器上创建一个名为marketing.fabrikam.com正向搜索AD DS集成主域,此服务器同样是域控制器,然后将区域信息保存在AD DS的域DNS中:


  dnscmd SEA-SC1 /zoneadd marketing.fabrikam.com /dsprimary


  3.使用该命令在SEA-SC1 DNS服务器上创建一个名为research.fabrikam.com的正向搜索标准二级域,此服务器同样是域控制器。把该区域的数据库保存到AD DS的域DNS部分并指定该区域的地址为172.16.11.33作为复制用的DNS主服务器:


  dnscmd SEA-SC1 /zoneadd research.fabrikam.com /secondary 172.16.11.33 /file research.dns


  4.只用此命令在SEA-SC4 DNS服务器上创建名为marketing.fabrikam.com的正向搜索标准存根区域,将用于该区域的数据库保存在marketing.dns文件夹中,然后指定区域地址为172.16.11.30,作为复制用的DNS主服务器:


  dnscmd SEA-SC4 /zoneadd marketing.fabrikam.com /stub 172.16.11.30 /file marketing.dns


  5.用此命令在SEA-SC1 DNS服务器上创建正向搜索AD DS集成存根区域,该服务器同样是域控制器,将该区域的数据库保存在AD DS的域DNS部分,然后指定区域地址为172.16.11.33,作为复制用的DNS主服务器:


  dnscmd SEA-SC1 /zoneadd finance.fabrikam.com /stub 172.16.11.33


  用DNSCMD命令创建反向搜索区域


  如果你的DNS服务器运行的是Windows Server Core,那么可以用DNSCMD创建反向搜索区域。虽然正向搜索区域正式域名来命名,但是反向搜索区域是按如下惯例命名:


  [octet address form of network ID in reverse order].in-addr.arpa.


  例如,如果正向搜索区域中用户网络ID是172.16.11.24(也就是172.16.11.0,子网掩码为255.255.255.0),那么反向搜索区域通常为11.16.172.in-addr.arpa 。


  作为示例,你可以使用如下命令在SEA-SC4 DNS服务器上创建一个名为11.16.172.in-addr.arpa的反向搜索标准主域:


  dnscmd SEA-SC4 /zoneadd 11.16.172.in-addr.arpa /primary


  用DNSCMD创建资源记录


  举例,假设要在授权的DNS服务器SEA-SC1上,为SEA-SRV8服务器创建一个主机A在fabrikam.com的记录,而且SEA-SRV8服务器的IP地址为172.16.11.75,可进行如下操作:


  dnscmd SEA-SC1 /recordadd fabrikam.com SEA-SRV8.fabrikam.com. /aging /openacl A 172.16.11.75


  列出主机A在所需区域中的全部记录,然后对其进行检查:


  dnscmd SEA-SC1 /enumrecords fabrikam.com fabrikam.com. /type A


  返回的记录如下:


  @ [Aging:3571189] 600 A 172.16.11.30


  SEA-DESK155 [Aging:3571191] 1200 A 172.16.11.80


  sea-sc1 [Aging:3571238] 3600 A 172.16.11.30


  SEA-SC4 [Aging:3571189] 1200 A 172.16.11.33


  SEA-SRV4 [Aging:3571192] 1200 A 172.16.11.81


  SEA-SRV8 [Aging:3571246] 3600 A 172.16.11.75


  上述命令中/aging交换机指示新资源的记录可以被删除。如果我们删除这些参数,那么资源记录会保留在DNS数据库中直到它被更新或手动移出。/openacl交换机指出任何用户都可以修改这一记录。没有这些参数的时候,只有管理员可以修改此记录。


  用DNSCMD配置转发器


  转发器是我们用来处理客户需求的特殊DNS,它可以解决一般DNS服务器解决不了的问题,如对异地域名或外部DNS域名的请求。DNS客户通常会进行递归查询,响应这些查询的DNS服务器必须返回一个有效回应。当DNS服务器收到客户请求的时候,如果在DNS服务器上配置了转发器,那么DNS服务器会对转发器发出递归查询的请求,要求得到有效响应。


  我们可以使用DNSCMD命令在Server Core DNS服务器上配置一个或多个转发器。例如,将外部DNS服务器192.0.2.25配置为DNS 服务器 SEA-SC4的转发器,可进行如下操作:


  dnscmd SEA-SC4 /ResetForwarders 192.0.2.25 /timeout 5 /slave


  此命令中的/timeout参数指定了DNS服务器等待转发器作出响应的时长。/slave参数表明如果转发器未能完成查询,那DNS服务器也不会把自己作为迭代查询来执行。所谓迭代查询是指DNS服务器对其他DNS服务器进行非递归查询,并使用转介来完成原来的查询。要想在转发器未能完成查询的时候让DNS服务器执行自己的迭代查询,可以使用/noslave。使用/noslave替换,意味着DNS会在无法用转发器完成查询的时候使用自己的根提示文件。根提示文件包含根服务器连接互联网的入口。这些根服务器成为迭代查询的起始点。


  用DNSCMD配置条件转发器


  条件转发器用来为指定域名完成查询。有条件的转发可以让一个DNS服务器用不同域名对不同DNS服务器进行正向查询,通过向转发过程中添加二级条件来改进传统转发。要配置条件转发器,我们可以指定一个域以及DNS服务器的一个或多个地址。


  可以使用DNSCMD来完成配置。例如,如果希望条件转发器能将microsoft.com域中的所有查询都转发到外部DNS 服务器 207.68.160.190,可做如下操作:


  dnscmd SEA-SC4 /zoneadd microsoft.com /forwarder 207.68.160.190


  如果你的DNS服务器位于域控制器删个,可以用/dsforwarder来代替此命令中的/forwarder。


  用DNSCMD配置区域转换


  AD DS集成区域将其DNS信息保存在了AD DS中,并使用AD DS目录复制在域控制器之间复制这一信息。标准区域将其信息保存在区域文件中,然后通过一个名为区域转换的进程在DNS服务器之间复制这一信息。区域转换发生的时候,该区域的DNS基础服务器为二级DNS服务器提供了此区域的信息。在这种情况下,DNS基础服务器就被称为该区域的主控DNS服务器。


  创建二级区域的时候主控服务器就被指定了。不过,你可以用DNSCMD命令指定一个不同的主控服务器。例如,如果你要对hr.fabrikam.com区域的主控服务器进行更改,从SEA-SC2(072.16.11.31)改为SEA-SC4(172.16.11.33),那么可以使用下面的命令在SEA-SC1(二级DNS服务器)上配置新的主控服务器:


  dnscmd SEA-SC1 /zoneresetmasters hr.fabrikam.com 172.16.11.33


  在二级DNS服务器有能力从主控DNS服务器加载信息前,你必须对主控服务器进行配置以便二级服务器实现区域转换。例如,将SEA-SC4配置为hr.fabrikam.com的主控服务器,这样,就只对SEA-SC1发生区域转换:


  dnscmd SEA-SC4 /zoneresetsecondaries hr.fabrikam.com /securelist 172.16.11.30


  区域转换会依据自己的默认进程自动发生,但是你也可以使用DNSCMD迫使二级服务器启动区域转换。例如,可以用如下命令迫使SEA-SC1从SEA-SC4处更新其区域信息:


  dnscmd SEA-SC1 /zonerefresh hr.fabrikam.com

我们的需求只是对dns转发设置

dns转发设置

dnscmd abdcy1.ab.com   /ResetForwarders 10.35.15.33   10.35.15.23   /timeout 5 /slave 

查询dns


C:\Users\administrator.AB>dnscmd /info

Query result:

Server info
        server name              = ABDCY1.AB.com
        version                  = 1DB10106 (6.1 build 7601)
        DS container             = cn=MicrosoftDNS,cn=System,DC=AB,DC=com
        forest name              = AB.com
        domain name              = AB.com
        builtin forest partition = ForestDnsZones.AB.com
        builtin domain partition = DomainDnsZones.AB.com
        read only DC             = 0
        last scavenge cycle      = not since restart (0)
  Configuration:
        dwLogLevel               = 00000000
        dwDebugLevel             = 00000000
        dwRpcProtocol            = 00000005
        dwNameCheckFlag          = 00000002
        cAddressAnswerLimit      = 0
        dwRecursionRetry         = 3
        dwRecursionTimeout       = 8
        dwDsPollingInterval      = 180
  Configuration Flags:
        fBootMethod                  = 3
        fAdminConfigured             = 1
        fAllowUpdate                 = 1
        fDsAvailable                 = 1
        fAutoReverseZones            = 1
        fAutoCacheUpdate             = 0
        fSlave                       = 0
        fNoRecursion                 = 0
        fRoundRobin                  = 1
        fStrictFileParsing           = 0
        fLooseWildcarding            = 0
        fBindSecondaries             = 0
        fWriteAuthorityNs            = 0
        fLocalNetPriority            = 1
  Aging Configuration:
        ScavengingInterval           = 0
        DefaultAgingState            = 0
        DefaultRefreshInterval       = 168
        DefaultNoRefreshInterval     = 168
  ServerAddresses:

        Ptr          = 00000000005183A0
        MaxCount     = 2
        AddrCount    = 2
                Addr[0] => af=23, salen=28, [sub=0, flag=00000000] p=13568, addr
=fe80::802b:672c:b265:e7cf
                Addr[1] => af=2, salen=16, [sub=0, flag=00000000] p=13568, addr=
10.35.15.11

  ListenAddresses:
        NULL IP Array.
  Forwarders:

        Ptr          = 0000000000518460
        MaxCount     = 2
        AddrCount    = 2
                Addr[0] => af=2, salen=16, [sub=0, flag=00000000] p=13568, addr=
10.35.15.13
                Addr[1] => af=2, salen=16, [sub=0, flag=00000000] p=13568, addr=
10.35.15.23

        forward timeout  = 5
        slave            = 0
Command completed successfully.
 

 参考链接:

http://wenku.baidu.com/view/433f26a5b0717fd5360cdcc0.html
http://www.betasoft.com.cn/btzsk/2011-06-03/1494.html

http://msdn.microsoft.com/en-us/cc772069(WS.10).aspx