在IT领域工作了很长时间的人会发现许多网络问题,其中一些易于诊断和纠正,但有些问题却难以理解。如果遇到这些问题,可以通过一些简单的步骤来消除网络故障,以收集信息并减少问题。
步骤1:验证网络设置
可以通过验证您知道的主机来实施网络故障排除过程。该方法是在两台主机上执行IPCONFIG命令,以确保它们使用相同的IP地址。尽管该操作是基本操作,但是执行IPCONFIG命令可以揭示问题的根源。例如,如果系统未收到IP地址,则可能是因为DHCP范围已用尽。
IPCONFIG命令的执行仅显示分配给每个网络适配器的IP地址,子网掩码和默认网关。如果这些值正确,则可以进一步执行IPCONFIG/ALL命令,该命令显示每个网络适配器的DNS服务器分配。确认系统正在使用预期的DNS服务器非常重要。
步骤2:测试名称解析
验证源主机和目标主机的IP地址设置,验证名称解析是否正确,并测试几种工具的DNS名称解析,但是最简单的方法是输入NSLOOKUP命令并输入域名从其他主机完成。
NSLOOKUP命令可以显示正在使用的DNS服务器,并告诉您DNS服务器是否具有指定主机的权限。
从NSLOOKUP收到结果后,请验证结果是否符合预期。 DNS服务器IP地址必须与主机网络适配器配置使用的DNS服务器IP地址匹配。同样,名称解析地址必须与分配给远程主机(或远程主机上运行的服务)的IP地址匹配。
步骤3:验证网络路径
如果到目前为止,您的验证是正确的,并且已经实现了预期的结果,则该过程的下一步是验证远程主机的网络路径。最简单的方法是输入Tracert命令并输入远程主机的标准域名。 Tracert命令将显示数据包在路由到远程主机时所采用的路由。
如果将某些中断报告为“请求超时”,请不要太担心,因为这仅意味着主机已设置为不响应ICMP消息。重要的是要确保Tracert不会显示目的地不可达(有时由!H指示符指示)。来自目标主机的不可达消息表明没有到目标的路由,或者IP地址无法解析为L2地址。
第4步:测试远程主机的响应能力
故障排除过程的下一步是测试是否可以与远程主机通信。这样做可能意味着ping远程主机。不幸的是,通常将主机配置为不响应ping请求,因此此测试可能不可行。在这种情况下,您必须执行某种测试以查看是否可以使主机响应。毕竟,响应会验证两个主机之间是否存在连接,并且远程主机仍处于联机状态。
根据远程主机的配置,可以使用的响应性测试的类型差异很大。如果无法使用ping命令,则还可以通过建立远程PowerShell会话来验证远程主机的响应性。
步骤5:测试远程服务
如果您确认正确配置了本地和远程主机,并且名称解析和基本连接在两个方向上均有效,则该问题很可能在网络堆栈中更高级别存在。例如,如果目标主机是Web服务器,则即使基本通信测试成功,系统服务也已停止或存在权限问题。此时,您必须测试远程主机提供的服务。
重要的是要记住,有时服务可能会受到较低级别的依赖关系的负面影响。例如,我在Exchange Server中遇到了一些严重的通信问题。经过详尽的故障排除后,我终于将问题归结为系统时间错误设置。
网络故障排除:不仅是科学
不幸的是,没有解决网络问题的更有效的解决方案(尽管有一些出色的第三方诊断工具可用)。每当遇到网络问题时,您都可以尽可能地忽略网络的复杂性,并专注于验证基础知识。即使这些步骤不能揭示问题的原因,它们也可以帮助您减少问题。