windows 利用dnscmd实现对dns的命令管理

Posted on 2012-10-29 11:04  mykison  阅读(948)  评论(0)    收藏  举报

  此帖转自够了论坛:www.bbs.lgole.com/

  以下是五个用个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.

博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3