网络排查,学习记录

墨言 05-11 423阅读 0评论

1、网络排错必备技术点你掌握了几个?

01 熟悉OSI与TCP/IP

这应该是网络排错必须知道的基本理论。

无论是OSI七层模型还是DoD模型,都是用来描述网络通信的一个过程,掌握它,能让你对网络数据的发送和接收有一个大致的认识。

OSI七层模型对应OSI七层模型的协议,DoD模型对应DoD模型的协议,也就是TCP/IP协议栈。

TCP/IP协议栈里面的协议,比如DNS、TCP、UDP、IP、ICMP、ARP,这些最基本的应该得知道。

不需要事无巨细,但至少对于这些协议的基本功能你是必须得要知道的。

 

02 掌握网络通信的基础设备

 基础设备,就包括交换机、三层交换机、路由器、防火墙这些玩意儿,还没搞懂,请先出门右拐去百度。

 作为网工你不仅要懂,而且你还必须知道它们对应的OSI层次以及作用。

 640.jpg


比如:普通的二层交换机对应OSI七层模型中的数据链路层,它可以隔绝冲突域。

同时,它可以通过虚拟局域网技术(VLAN)来隔绝广播域,二层交换机通过二层地址即MAC地址来实现数据帧的转发。

再比如:路由器对应网络层,可以提供路由寻址的功能等。

熟悉熟悉再熟悉,你才好提高你的工作效率。


03 了解中小型企业网络的基本架构

一般中小型企业网络的基本架构都是这样的:接入层--汇聚层--核心层--网络出口。

 640 (1).jpg


 如果网络环境比较庞大,汇聚层和核心层都会有,而我们这个张图,就没有汇聚层。

但是排错的底层逻辑都是一样,别担心。

本篇文章讲到的排错,其实都是针对用户PC来说明,数据中心中的网络排错也类似。

不管网络环境多么复杂,其实简化下来和这个是差不多的。

 

04 掌握常用的网络排错命令

如果用户使用的是Windows操作系统,图中涉及到的这些命令就很重要,如果使用的是Linux操作系统,那么也有对应的相关命令。

 640.png


 

说到底,你就是得熟悉你所使用的设备。当然,在实际网络排错的过程中,如果只是为了测试网络通信是否正常,你可以换上你熟悉的设备操作。


05 网络排错原则:关注数据的走向

网络排错,不就是要判断网络哪里出了问题,因此,你就必须要知道数据的走向。

我讲的网络排错思路,其实就是通过追踪数据的走向来一步步缩小网络故障点的。所以,这也是为什么我需要让你了解中小型企业网络基本架构的原因。



2、网络排错从这里学习入门到精通

上面讲完了网络排错需要掌握的技术,接下来,我会从0基础一步步告诉你,搞定网络排障你必须要理解的基础部分,循序渐进,慢慢来。

比如:网络的故障类型、对应的处理方法、如何在拓扑里发现故障,及时解决等等,该部分,非常适合转发收藏。

 

01 故障处理方法

 

(1)网络的复杂性

一般网络包括路由、拨号、交换、视频、WAN(ISDN、帧中继、ATM、…)、LAN、VLAN、…

 

(2)故障处理模型

① 界定问题(Define the Problem)

详细而精确地描述故障的症状和潜在的原因

 

②收集详细信息(Gather Facts)R>信息来源:

关键用户、网络管理系统、路由器/交换机

 

1) 识别症状

2) 重现故障:校验故障依然存在

3) 调查故障频率

4) 确定故障的范围:有三种方法建立故障范围

·    由外到内故障处理

(Outside-In Troubleshooting):通常适用于有多个主机不能连接到一台服务器或服务器集

·    由内到外故障处理

(Inside-Out Troubleshooting)

·    半分故障处理

(Divide-by-Half Troubleshooting)

 

③考虑可能情形(Consider Possibilities)考虑引起故障的可能原因

 

④ 建立一份行动计划(Create the Action Plan)

 

⑤部署行动计划(Implement the Action Plan)

用于纠正网络故障原因。从最象故障源处,想出处理方法每完成一个步骤,检查故障是否解决

 

⑥观察行动计划执行结果(Observe Results)

 

⑦ 如有行动计划不能解决问题,重复上述过程(Iterate as Needed)

 

(3)记录所做修改

在通过行动计划解决问题后,建议把记录作为故障处理的一部分,记录所有的配置修改。

 

02 网络文档

(1)网络基线

解决网络问题的最简单途径是把当前配置和以前的配置相比较。

基线文档由不同的网络和系统文档组成,它包括:

·         网络配置表

·         网络拓扑图

·         ES 网络配置表

·         ES 网络拓扑图

 

创建网络的注意事项:

·         确定文档覆盖的范围;

·         保持一致:收集网络中所有设备的相同信息;

·         明确目标:了解文档的用途;

·         文档易于使用和访问;

·         及时维护更新文档。

 

(2)网络配置表

网络配置表的通常目标是提供网络中使用的硬件和软件组成的列表,其组成有:

分级 项目

杂项信息 设备名、设备型号、CPU 类型、FLASH、DRAM、接口描述、用户名口令

 

第 1 层 介质类型、速率、双工模式、接口号、连接插座或端口

第 2 层 MAC 地址、STP 状态、STP 根桥、速端口信息、VLAN、Etherchannel 配置、封装、中继状态、接口类型、端口安全、VTP 状态、VTP 模式

第 3 层 IP 地址、IPX 地址、HSRP 地址、子网掩码、路由协议、ACL、隧道信息、环路接口

在多数情形下,存储这些信息的最佳方式是电子表格或数据库,电子表格用于较小的网络,数据库用于较大的网络。

 

(3)网络拓扑图

网络拓扑图是图示网络的各组成部分之间如何在逻辑上和物理上相互连接。

 

①网络拓扑图的组成

分级 项目

杂项信息 设备名、设备型号、设置间连接、接口描述

第 1 层 介质类型、接口号

第 2 层 MAC 地址、VLAN、封装、中继状态、接口类型、DLCI

第 3 层 IP 地址、子网掩码、路由协议

对于大型的网络,可以制作多个网络拓扑图,每个网络拓扑图反映一个分离的部分。

 

②建立网络拓扑图

 

(4)发现网络配置信息

①收集路由器和第 3 层交换机网络配置信息

640 (1).png


②收集交换机配置信息

交换机网络配置表包含的信息:设备名、型号、位置、Flash、DRAM、CATOS 版本、管理地址、VTP 域、VTP 模式、端口号、端口速率、端口双工、VLAN、STP 状态、速端口状态、中继状态……

640.png


③发现相邻 CISCO 设备的信息

 

CDP(Cisco Discovery Protocol)是 CISCO 的专用协议,用于识别直接相邻的 CISCO 设备信息,CDP 工作在第 2 层。

 640 (1).png


(5)创建网络文档的过程

①LOGIN :登录到设备进入特权模式。

 

②接口发现 :发现关于设备的所需信息

 

③document:在网络配置表中记录发现的信息。

 

④ Diagram:从网络配置表传输所需信息到网络拓扑图

 

⑤设备发现:判断是否有相邻设备没有记录文档。

 

03  ES 文档和故障处理

(1)ES 网络配置表

ES 网络配置表是 ES 的硬件和软件组成的列表。ES 网络配置常包括以下项目:

分级 项目

杂项信息 系统名、系统厂商/型号、CPU 速率、RAM、存储器、系统功能

第 1、2 层 介质类型、接口速率、VLAN、MAC、网络接头

第 3 层 IP 地址、缺省网关、子网掩码、WINS、DNS、

第 7 层 操作系统(版本)、基于网络的应用程序、高带宽应用程序、低延时应用程序、特定考虑

 

(2)ES 网络拓扑图

ES 网络拓扑图的典型项目有:系统名、网络连接、物理位置、系统目标、VLAN、IP 地址、子网掩码、操作系统、网络应用程序大多数 ES 网络拓扑图都建立在网络拓扑图中,其中还可加入 ES 网络配置表数据的子集。

 

(3)收集 ES 网络配置信息

①通用命令

· ping host/ip-address ;发送和接收 ICMP 响应,校验网络的连通性
· arp -a ;查看修改 ES 的 MAC-IP 映射表(同一子网)
· telnet host/ip-address ;登录远程 ES 或特定 TCP 端口

 

②Windows 平台命令

· ipconfig /all :查看修改 ES 的 IP 信息(适用所有 Windows 平台)
· winipcfg:查看修改 ES 的 IP 信息(仅适用于 Win9x 平台)
· tracert host/ip-address:校验到主机的连接并显示路径上的设备 IP
· route print:显示本设备 IP 路由表的内容
· netstat :显示当前网络连接

 

③Unix、Linux 和 Mac OS 系统命令

· ifconfig -a :查看 UNIX 和 MAC 主机的 IP 信息
· traceroute host/ip ;
· route –n ;
· cat /etc/resolv.conf :查看 DNS 服务器信息

 

(4)通用的故障处理过程

①通用的故障处理过程

收集症状:收集网络、用户、ES 的症状

·         分析现存症状

·         判断所属

·         窄化范围

·         判定症状

·         记录症状


分离问题

·         Bottom-Up troubleshooting

从物理层开始向上排查,直到应用层。常用于怀疑问题发生在物理层,或在处理复杂网络问题时使用。

·         Top-Down troubleshooting

从应用层开始向下排查故障,用于怀疑问题发生在软件部分。

·         Divide-and-Conquer troubleshooting


选择 OSI 模型的特定层(数据链路层、网络层、传输层)开始故障处理,确定问题是在该层、还是上层或下层。适于具有丰富的经验的人员使用。常用 traceroute 命令检查下 4 层(从物理层到应用层)。

 

纠正问题

②ES 故障处理命令

· ping
连续 Ping:ping –t 192.168.0.1 ;Windows 系统
ping –s 192.168.0.1 ;Unix 环境
记录路由:ping –r 192.168.0.1 ;Windows
ping –s –nRv 192.168.0.1 ;Unix

· Trace Route
Tracert 10.0.0.1 ;Windows 系统
Tracerout 10.0.0.1 ;Unix
Ping 记录路由器的出接口,而 traceroute 通常记录进入的接口。

· Arp
显示第 2 层和第 3 层地址的映射表:Arp –a ;Windows/Unix

· Route
显示路由表:route print ;windows 系统
route –n ;Unix
· Netstat
显示到 ES 的当前连接及端口:netstat –n ;Windowx & Unix

· Ipconfig&Ifconfig
显示 ES 的 IP 配置:ipconfig /all ;windows
ifconfig –a ;unix
 
· Nbtstat
显示当前名称解析缓存:nbtstat –c ;
清除当前名称解析缓存:nbtstat –r ;

 

04 协议属性

(1)OSI 参考模型

应用层

表示层

会话层

传输层

网络层

数据链路层

物理层

  

(2)全局协议分类

①面向连接的协议

windows size:在需要目标系统确认的传输的数据包数。

队列数据传送:对进入和发送的 PDU 指定序号,在目的地再按序号重排数据;

流控:确保发送的速率不超过目标接收的速率,通过为传输建立窗口尺寸实现;

错误控制:确保接收到的数据连续并无错,如有丢失或损失的 PDU,则不发送 ACK 包。

面向连接的协议有:ATM、TCP、Novell SPX、Apple Talk ATP;

 

②非连接的协议

不包括连接设置和终止,没有流控和错误控制。

非连接的协议有:UDP、Apple Talk DDP、Novell IPX;

 

(3)第 2 层:数据链路层

·         Ethernet/IEEE802.3

·         Token Ring/IEEE802.5

 

(4)PPP

(5)SDLC

(6)Frame Relay

(7)ISDN

(8)第 3、4 层:IP 路由协议

·         IP

·         ICMP

·         TCP

·         UDP

 

05 测试命令和 TCP/IP 连接故障处理

(1)故障处理命令

①show 命令

·  全局命令

 640.png

 

· 接口相关命令

接口.png


 

·  进程相关命令

进程相关.png


 

·  TCP/IP 协议相关命令

 tcp.png


 

②debug 命令

DEBUG 不应在 CPU 使用率超过 50%的路由器上运行。

·         限制 debug 输出

 

在使用 DEBUG 获得所需数据后,要关闭 Debug

使路由器对所有消息都配置使用时间戳:

d.png


缺省,error 和 debug 信息仅发送到 console,telnet 到路由器上看不到 debug 和 log 的信息。

想在 telnet 中看到 debug 和 log 信息:

 ddd.png


 

可以应用 ACL 到 debug 以限定仅输出要求的 debug 信息。

如仅查看从 10.0.1.1 到 10.1.1.1 的 ICMP 包:

 640.png

·         全局 debug 命令

·         接口 debug

·         协议 debug

·         IP debug:debug ip packets

 

③logging 命令

输出 error 和其它信息到 console、terminal、路由器内部 buffer 或一台 syslog 服务器:

Router>show logging

 

Cisco 路由器有 8 种可能的 logging 级:0-7

Logging 级别 名称 描述

1 Emergencies 系统不能用的信息

2 Alerts 直接行动

3 Critical 紧急情形

4 Errors 错误信息

5 Warnings 警告信息

6 Notifications 正常但重要的情形

7 Informational 信息

8 Debugging 调试

缺省地,console、monitor、buffer 的 logging 被设置为 debugging 级,而 trap(syslog)服务器的 logging 被设置为 informational。

 

④执行路由核心复制

core dump 包含一份当前系统内存中信息的精确拷贝。捕捉包含在内存中信息的方法有:

·  配置路由器在崩溃时执行 Core Dump,存储到 TFTP、FTP、RCP 服务器:

 

对 TFTP 协议,只需指定 TFTP 服务器 IP,不需要任何附加的配置:

640 (1).png


对 FTP 协议的配置:

 640 (2).png


对 RCP 协议的配置:

640 (3).png

 

·         在系统没有崩溃的情况下,执行 Core Dump 命令。

640 (4).png

Core Dump 仅在 Cisco 工程师测试和解决路由器问题时有用。

 

⑤ping 命令

ping 用于测试整个网络可达性和连通性。可在用户 EXEC 模式和特权 EXEC 模式下使用。

IP 的 ping 使用 ICMP 协议提供连通性和可能性信息,缺省只发送 5 个 echo 信息。

扩展 Ping 的选项有:源 IP 地址;服务类型;数据;包头选项。

Ping 的响应字符集

字符 解释 字符 解释

640.png


⑥traceroute 命令

traceroute 用于显示到达目标的包路径。可在用户模式和特权模式下使用。

Traceroute 的响应:

字符 解释 字符 解释

640 (1).png


 

(2)LAN 连接问题

①获得 IP 地址

主机可以动态或静态获得 IP 地址。

·         DHCP:DHCP 比 BootP 多了地址池和租期。

·         BootP

·         Helper Addresses:指定集中放置的 DHCP 服务器的 IP 地址:Ip helperaddress ip-address ;No ip forward-protocol udp 137 。

·         路由器上的 DHCP 服务:配置路由器为一台 DHCP 服务器

·         DHCP 和 BootP 故障处理:Show dhcp server ;Show dhcp lease 。

 

②ARP

ARP 映射第 2 层 MAC 地址到第 3 层地址。Show arp ;显示路由器的 ARP 表;Debug arp ;

·         ARP 代理

 

缺省 Cisco 路由器的 ARP 代理是启用的

在下列情况下,CISCO 路由器将用自身的 MAC 地址响应 ARP 请求:

o    接收到 ARP 的接口上的 Proxy ARP 是启用的;

o    ARP 请求的地址不在本地子网;

o    路由器的路由表中包含 ARP 请求地址的子网;

 

③TCP 连接示例

 

(3)IP 访问列表

①标准 ACL:

基于 IP 包的源 IP 地址允许或禁用

 

②扩展 ACL:

提供源地址、目标地址、端口号、会话层协议进行过滤。

 

③命名 ACL:

可以是标准 ACL,也可以是扩展 ACL。

 

命名 ACL 与编号 ACL 的区别:命名 ACL 有一个逻辑名,可以删除命名 ACL 中单独一行。

 640 (2).png 

免责声明:本文来自综合网络,不代表莫不过一饮溪云的观点和立场,如有侵权请联系本平台处理。

发表评论

快捷回复: 表情:
验证码
评论列表 (暂无评论,423人围观)

还没有评论,来说两句吧...

目录[+]

取消
微信二维码
微信二维码
支付宝二维码