ubuntu命令行查看dns_MCSA学习指南-DNS故障排除

本文详述了如何在Ubuntu环境下使用Nslookup、DNSLint、Ipconfig、DNSCmd等工具进行DNS故障排除。通过这些命令,你可以查看DNS客户端设置、诊断DNS问题、刷新解析缓存、模拟区域传输,以及检查DNS日志,从而有效解决名称解析问题。
摘要由CSDN通过智能技术生成

故障排除DNS

在解决DNS问题时,请问自己以下基本问题:

  • 什么应用失败了? 什么有用? 什么不起作用?
  • 问题是基本的IP连接,还是名称解析? 如果问题是名称解析,失败的应用程序是否使用NetBIOS名称,DNS名称或主机名?
  • 那些与之相关的事情是如何相关的?
  • 在这台计算机或网络上有无法正常工作的东西吗? 如果是这样,自上次工作以来发生了什么变化?
  • Windows Server 2012 R2提供了几个有用的工具,将在以下各节中讨论,它们可以帮助您回答以下问题:
  • Nslookup用于执行DNS查询并检查本地和远程服务器上的区域文件的内容。
  • DNSLint是一个命令行实用程序,用于解决许多常见的DNS问题。
  • Ipconfig允许您执行以下任务:
  • 查看DNS客户端设置
  • 显示并刷新解析程序缓存
  • 强制动态更新客户端注册其DNS记录
  • DNS日志文件监视某些DNS服务器事件并记录它们以进行启发。

使用Nslookup

Nslookup是大多数DNS服务器实现中提供的标准命令行工具,包括Windows Server 2012 R2。 Windows Server 2012 R2使您能够从DNS管理单元启动nslookup。

从DNS管理单元启动nslookup时,将自动打开命令提示符窗口。 在此窗口中输入nslookup命令。

Nslookup为您提供了对DNS服务器执行查询测试并在命令提示符下获取详细响应的功能。 此信息可用于诊断和解决名称解析问题,验证是否在区域中正确添加或更新资源记录,以及调试其他与服务器相关的问题。

您可以使用nslookup执行许多有用的操作:

  • 在非交互模式下使用它来查找单个数据
  • 进入交互模式并使用调试功能

在交互模式下执行以下操作:

  • 设置查询选项
  • 查找名称
  • 在区域中查找记录
  • 执行区域传输
  • 退出nslookup

输入查询时,通常最好输入FQDN,以便控制提交给服务器的名称。 但是,如果要在将非后缀提交到服务器之前知道哪些后缀添加到非限定名称,则可以在调试模式下输入nslookup,然后输入非限定名称。

在命令行上使用Nslookup

要在普通的命令行模式下使用nslookup,请在命令提示符窗口中输入以下内容:

nslookup DNS_name_or_IP_address server_IP_address

此命令将使用您指定的IP地址的服务器查找DNS名称或地址.

在交互模式下使用Nslookup

Nslookup在交互模式下更有用,因为您可以按顺序输入多个命令。 单独输入nslookup(不指定查询或服务器)会将其置于交互模式,直到您键入exit并按Enter键为止。 在此之前,你可以查找很多有用的东西。 以下是您可以在交互模式下使用nslookup执行的一些任务:Setting Options with the set Command 在交互模式下,您可以使用set命令配置解析程序执行查询的方式。 表3.5显示了set中可用的一些选项。

d96b73666b6c4e83c15b33025dccc24d.png

表3.5 set命令可用的命令行选项

Looking Up a Name 在交互模式下,您只需键入一个名称即可查找名称:stellacon.com。 在此示例中,stellacon是您要搜索的记录的所有者名称,.com是您要查询的服务器.

您可以在查询中使用通配符(*)。 例如,如果要查找以k作为首字母的所有资源记录,只需键入k *作为查询.

Looking Up a Record Type 如果要查询特定类型的记录(例如,MX记录),请使用set type命令。 命令集type = mx告诉nslookup,您只对查看符合搜索条件的MX记录感兴趣.

Listing the Contents of a Domain 要获取整个域的内容列表,请使用lscommand。 要查找域中的所有主机,请键入set type = a,然后键入ls -t yourdomain.com。

Troubleshooting Zone Transfers 您可以使用带有-d开关的ls命令来模拟区域传输。 这可以帮助您确定要查询的服务器是否允许将区域传输到您的计算机。 为此,请键入以下内容: ls –d domain__name.

Nslookup响应和错误消息

A successful nslookup response looks like this:

Server: Name_of_DNS_serverAddress: IP_address_of_DNS_serverResponse_data

Nslookup也可能会返回错误消息。 表3.6列出了一些常见消息.

0fe36fa803dccf0b47485353f56b00e1.png

表3.6常见的nslookup错误消息

练习3.6:使用NSLOOKUP命令

  • 按键盘上的Windows键,然后选择计算机。 导航到C: Windows System32文件夹,然后双击CMD.exe。 (当您访问此文件时,可以右键单击该文件并选择“发送到桌面”。然后,桌面上将始终显示该快捷方式。)
  • 键入nslookup并按Enter键。 (对于本练习的其余部分,使用Enter键终止每个命令。)
  • 尝试查找一个众所周知的地址:输入www.microsoft.com。
  • 尝试查找不存在的主机:键入www.example.ccccc。 请注意,您的服务器指示它找不到地址并超时。 这是正常行为。
  • 在提示符下键入Exit。 再次键入Exit退出命令提示符。

使用DNSLint

Microsoft Windows Server 2012 R2 DNS可以使用DNSLint命令行实用程序来帮助诊断一些常见的DNS名称解析问题,并帮助诊断错误委派的潜在问题。 您需要从Microsoft下载中心下载DNSLint。

DNSLint使用三个主要功能来验证DNS记录并以HTML格式生成报告:

dnslint /d 此功能有助于诊断“跛脚委派”和其他相关DNS问题的原因.

dnslint /ql 此功能有助于验证多个DNS服务器上的用户定义的DNS记录集.

dnslint /ad 此功能有助于验证与Active Directory复制有关的DNS记录.

这是DNSLint的语法:

dnslint /d domain_name | /ad [LDAP_IP_address] | /ql input_file[/c [smtp,pop,imap]] [/no_open] [/r report_name][/t] [/test_tcp] [/s DNS_IP_address] [/v] [/y]

以下是一些示例查询:

dnslint /d stellacon.comdnslint /ad /s 192.168.36.201dnslint /ql dns_server.txtdnslint /ql autocreatednslint /v /d stellacon.comdnslint /r newfile /d stellacon.comdnslint /y /d stellacon.comdnslint /no_open /d stellacon.com
da9880619d2dbc5d4a399f5257e91266.png

表3.7 DNSLint命令选项

使用Ipconfig

您可以使用命令行工具ipconfig查看DNS客户端设置,查看和重置本地用于解析DNS名称查询的缓存信息,以及注册动态更新客户端的资源记录。 如果使用不带参数的ipconfig命令,则会显示每个适配器的DNS信息,包括用于该适配器的域名和DNS服务器。 表3.8显示了ipconfig可用的一些命令行选项。

f1e0a442b3c8db51f053d006417b00e0.png

表3.8 ipconfig命令可用的命令行选项

您应该知道并熟悉与DNS相关的ipconfig命令。

使用DNSCmd

DNSCmd允许您通过使用命令行命令显示和更改DNS服务器,区域和资源记录的属性。 DNSCmd实用程序允许您手动修改,创建和删除资源记录和/或区域,并允许您强制在两个DNS服务器之间进行复制。

表3.9列出了一些DNSCmd命令及其解释。

83e7bfc7b295fc6d82e0de066ad605ef.png

表3.9 DNSCmd命令行选项

使用DNS日志

您可以配置DNS服务器以创建记录以下信息的日志文件:

  • 查询
  • 来自其他服务器的通知消息
  • 动态更新
  • DNS查询消息的问题部分的内容
  • DNS查询消息的答案部分的内容
  • 此服务器发送的查询数
  • 此服务器已收到的查询数
  • 通过UDP端口接收的DNS请求数
  • 通过TCP端口接收的DNS请求数
  • 服务器发送的完整数据包数
  • 服务器写入并返回区域的数据包数

DNS日志显示在systemroot System32 dns Dns.log中。 由于日志采用RTF格式,因此必须使用写字板或Word进行查看。

一旦日志文件达到最大大小,Windows Server 2012 R2就会在文件的开头写入。 您可以更改日志的最大大小。 如果增加大小值,数据会持续较长时间,但日志文件会占用更多磁盘空间。 如果减小该值,则日志文件使用较少的磁盘空间,但数据会持续较短的时间段.

在正常操作期间不要打开DNS日志记录,因为它会占用处理和硬盘资源。 仅在诊断和解决DNS问题时启用它。

排除.(根)区域

DNS根区域是DNS层次结构中的顶级DNS区域。 当无法找到与Internet的连接时,基于Windows Server 2012 R2的DNS服务器将构建.(根)区域。

因此,.(根)区域可能会阻止访问Internet。 DNS转发选项和DNS根提示将不可配置。 如果您希望DNS作为DNS转发器工作,或者您希望使用根提示,则必须删除。(根)区域。

非Microsoft DNS服务器的问题

您可能遇到的另一个故障排除问题是使用Microsoft DNS服务器和非Microsoft DNS服务器。 最常见的非Microsoft DNS服务器之一是基于Unix的BIND DNS服务器。

如果需要完成从Microsoft DNS到BIND DNS服务器的区域传输,则需要在Microsoft DNS服务器上启用BIND辅助节点(请参阅图3.16)。

284843a46ef0b57ed86a3314e1d0af05.png

图3.16启用BIND辅助节点

如果需要启用Bind Secondaries,请完成以下步骤:

  • 开放DNS管理。
  • 右键单击服务器名称,然后选择“属性”。
  • 单击“高级”选项卡。
  • 选中Enable BIND Secondaries框。
  • 单击确定。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值