一、任务场景
在本任务中,熟悉华为eNSP模拟器的基本使用,并使用模拟器自带的抓包软件捕获网络中的报文,以便更好地理解IP网络的工作原理。
二、任务列表
掌握eNSP模拟器的基本使用方法。
使用eNSP搭建简单的端到端网络。
在eNSP中使用Wireshark捕获IP报文。
三、工作实施
1.eNSP 安装(略)
关于在 eNSP 中使用几个特殊设备时的操作:
1) 只要用到以下设备,都需去官网上下载相应的镜像文件
2) 例如在 eNSP 中选用 USG6000V 后,右键点击启动:
3) 启动设备后会弹出导入设备包的对话框:
4) 点击“浏览” 找到从官网上下载的镜像文件导入即可。
2.启动 eNSP
本步骤介绍eNSP模拟器的启动与初始化界面。通过模拟器的使用将能够帮助您快速学习与掌握TCP/IP的原理知识,熟悉网络中的各种操作。
开启eNSP后,您将看到如下界面。左侧面板中的图标代表eNSP所支持的各种产品及设备。中间面板则包含多种网络场景的样例。
单击窗口左上角的“新建”图标,创建一个新的任务场景。
您可以在弹出的空白界面上搭建网络拓扑图,练习组网,分析网络行为。在本示例中,您需要使用两台终端系统建立一个简单的端到端网络。
3.建立拓扑
在左侧面板顶部,单击“终端”图标。在显示的终端设备中,选中“PC”图标,把图标拖动到空白界面上。
使用相同步骤,再拖动一个PC图标到空白界面上,建立一个端到端网络拓扑。PC设备模拟的是终端主机,可以再现真实的操作场景。
4.建立一条物理连接
在左侧面板顶部,单击“设备连线”图标。在显示的媒介中,选择“Copper (Ethernet)”图标。单击图标后,光标代表一个连接器。单击客户端设备,会显示该模拟设备包含的所有端口。单击“Ethernet 0/0/1”选项,连接此端口。
单击另外一台设备并选择“Ethernet 0/0/1”端口作为该连接的终点,此时,两台设备间的连接完成。
可以观察到,在已建立的端到端网络中,连线的两端显示的是两个红点,表示该连线连接的两个端口都处于Down状态。
5.进入终端系统配置界面
右击一台终端设备,在弹出的属性菜单中选择“设置”选项,查看该设备的系统配置信息。
弹出的设置属性窗口包含“基础配置”、“命令行”、“组播”与“UDP发包工具”四个标签页,分别用于不同需求的配置。
6.配置终端系统
选择“基础配置”标签页,在“主机名”文本框中输入主机名称。在“IPv4配置”区域,单击“静态”选项按钮。在“IP地址”文本框中输入IP地址。建议按照下图所示配置IP地址及子网掩码。配置完成后, 单击窗口右下角的“应用”按钮。再单击“CLIENT1”窗口右上角的X关闭该窗口。
使用相同步骤配置CLIENT2。建议将CLIENT2的IP地址配置为192.168.1.2,子网掩码配置为255.255.255.0。
完成基础配置后,两台终端系统可以成功建立端到端通信。
7.启动终端系统设备
可以使用以下两种方法启动设备:
右击一台设备,在弹出的菜单中,选择“启动”选项,启动该设备。
拖动光标选中多台设备(如下图),通过右击显示菜单,选择“启动”选项,启动所有设备。
设备启动后,线缆上的红点将变为绿色,表示该连接为UP状态。
当网络拓扑中的设备变为可操作状态后,您可以监控物理链接中的接口状态与介质传输中的数据流。
8.捕获接口报文
选中设备并右击,在显示的菜单中单击“数据抓包”选项后,会显示设备上可用于抓包的接口列表。从列表中选择需要被监控的接口。
接口选择完成后,Wireshark 抓包工具会自动激活,捕获选中接口所收发的所有报文。如需监控更多接口,重复上述步骤,选择不同接口即可,Wireshark 将会为每个接口激活不同实例来捕获数据包。
根据被监控设备的状态,Wireshark 可捕获选中接口上产生的所有流量,生成抓包结果。在本实例的端到端组网中,需要先通过配置来产生一些流量,再观察抓包结果。
9.生成接口流量
可以使用以下两种方法打开命令行界面:
双击设备图标,在弹出的窗口中选择“命令行”标签页。
右击设备图标,在弹出的属性菜单中,选择“设置”选项,然后在弹出的窗口中选择“命令行” 标签页。
产生流量最简单的方法是使用ping命令发送ICMP报文。在命令行界面输入ping<ip address>命令,其中<ip address>设置为对端设备的IP地址。
生成的流量会在该界面的回显信息中显示,包含发送的报文和接收的报文。 生成流量之后,通过 Wireshark 捕获报文并生成抓包结果。您可以在抓包结果中查看到 IP 网络的协议的工作过程,以及报文中所基于 OSI 参考模型各层的详细内容。
10.观察捕获的报文
查看 Wireshark 所抓取到的报文的结果。
Wireshark 程序包含许多针对所捕获报文的管理功能。其中一个比较常用的功能是过滤功能,可用来显示某种特定报文或协议的抓包结果。在菜单栏下面的“Filter”文本框里输入过滤条件就可以使用该功能。最简单的过滤方法是在文本框中先输入协议名称(小写字母),再按回车键。在本示例中,Wireshark 抓取了 ICMP 与 ARP 两种协议的报文。在“Filter”文本框中输入 icmp 或 arp 再按回车键后,在回显中就将只显示 ICMP 或 ARP 报文的捕获结果。
Wireshark 界面包含三个面板,分别显示的是数据包列表、每个数据包的内容明细以及数据包对应的十六进制的数据格式。报文内容明细对于理解协议报文格式十分重要,同时也显示了基于 OSI 参考模型的各层协议的详细信息。
例子-配置静态路由和缺省路由
任务场景
您是公司的网络管理员。现在公司有一个总部与两个分支机构。其中R1为总部路由器,R2、R3为分支机构,总部与分支机构间通过以太网实现互连,且当前公司网络中没有配置任何路由协议。
由于网络的规模比较小,您可以配置通过静态路由和缺省路由来实现网络互通。IP编址信息如拓扑图所示。
拓扑图
任务列表
配置静态路由。
测试静态路由连通性。
通过配置缺省路由实现本地网络与外部网络间的访问。
配置静态备份路由。
工作实施
步骤一 基础配置和 IP 编址
在R1、R2和R3上配置设备名称和IP地址。
R1配置
<Huawei>system view
Enter system view, return user view with Ctrl+Z.
[Huawei]sysname R1
[R1]interface GigabitEthernet 0/0/0
[R1 GigabitEthernet0/0/0]ip address 10.0.13.1 24
[R1 GigabitEthernet0/0/0]quit
[R1]interface GigabitEthernet 0/0/1
[R1 GigabitEthernet0/0/1]ip address 10.0.12.1 24
[R1 GigabitEthernet0/0/1]quit
[R1]interface LoopBack 0
[R1 LoopBack0]ip address 10.0.1.1 24
执行display current-configuration命令,检查配置情况。
R2配置
<Huawei>system view
Enter system view, return user view with Ctrl+Z.
[Huawei]sysname R2
[R2]interface GigabitEthernet 0/0/1
[R2 GigabitEthernet0/0/1]ip address 10.0.12.2 24
[R2 GigabitEthernet0/0/1]quit
[R2]interface GigabitEthernet0/0/2
[R2 GigabitEthernet0/0/2]ip add 10.0.23.2 24
[R2 GigabitEthernet0/0/2]quit
[R2]interface LoopBack0
[R2 LoopBack0]ip address 10.0.2.2 24
执行display current-configuration命令,检查配置情况。
R3配置
<Huawei>system view
Enter system view, return user view with Ctrl+Z.
[Huawei]sysname R3
[R3]interface GigabitEthernet 0/0/0
[R3 GigabitEthernet0/0/0]ip address 10.0.13.3 24
[R3 GigabitEthernet0/0/0]quit
[R3]interface GigabitEthernet0/0/2
[R3 GigabitEthernet0/0/2]ip address 10.0.23.3 24
[R3 GigabitEthernet0/0/2]quit
[R3]interface LoopBack 0
[R3 LoopBack0]ip address 10.0.3.3 24
执行display current-configuration命令,检查配置情况。
执行ping命令,检测R1与其它设备间的连通性。
执行ping命令,检测R2与其它设备间的连通性。
步骤二 测试 R2 到目的网络 10.0.13.0/24、10.0.3.0/24 的连通性
R2如果要与10.0.3.0/24网络通信,需要R2上有去往该网段的路由信息,并且R3上也需要有到R2相应接口所在IP网段的路由信息。
上述检测结果表明,R2不能与10.0.3.3和10.0.13.3网络通信。
执行display ip routing-table命令,查看R2上的路由表。可以发现路由表中没有到这两个网段的路由信息。
步骤三 在 R2 上配置静态路由
配置目的地址为10.0.13.0/24和10.0.3.0/24的静态路由,路由的下一跳配置为R3的G0/0/0接口IP地址10.0.23.3。默认静态路由优先级为60,无需额外配置路由优先级信息。
[R2]ip route static 10.0.13.0 24 10.0.23.3 [R2]ip route static 10.0.3.0 24 10.0.23.3
注意:在ip route-static命令中,24代表子网掩码长度,也可以写成完整的掩码形式如
255.255.255.0。
步骤四 配置备份静态路由
R2与网络10.0.13.3和10.0.3.3之间交互的数据通过R2与R3间的链路传输。如果R2和R3间的链路发生故障,R2将不能与网络10.0.13.3和10.0.3.3通信。
但是根据拓扑图可以看出,当R2和R3间的链路发生故障时,R2还可以通过R1与R3通信。所以可以通过配置一条备份静态路由实现路由的冗余备份。正常情况下,备份静态路由不生效。当R2和R3间的链路发生故障时,才使用备份静态路由传输数据。
配置备份静态路由时,需要修改备份静态路由的优先级,确保只有主链路故障时才使用备份路由。本任务中,需要将备份静态路由的优先级修改为80。
[R1]ip route static 10.0.3.0 24 10.0.13.3
[R2]ip route static 10.0.13.0 255.255.255.0 10.0.12.1 preference 80
[R2]ip route static 10.0.3.0 24 10.0.12.1 preference 80
[R3]ip route static 10.0.12.0 24 10.0.13.1
步骤五 验证静态路由
在R2的路由表中,查看当前的静态路由配置。
路由表中包含两条静态路由。其中,Protocol字段的值是Static,表明该路由是静态路由。Preference字段的值是60,表明该路由使用的是默认优先级。
当R2和R3之间链路正常时,R2与网络10.0.13.3和10.0.3.3之间交互的数据通过R2与R3间的链路传输。执行tracert命令,可以查看数据的传输路径。
命令的回显信息证实R2将数据直接发送给R3,未经过其他设备。
步骤六 验证备份静态路由
关闭R2上的G0/0/2接口,模拟R2与R3间的链路发生故障,然后查看IP路由表的变化。
[R2]interface GigabitEthernet 0/0/2 [R2 GigabitEthernet0/0/2]shutdown [R2 GigabitEthernet0/0/2]quit
注意与关闭接口之前的路由表情况作对比。
在R2的路由表中,灰色所标记出的两条路由的下一跳和优先级均已发生变化。 检测R2到目的地址10.0.13.3以及R3上的10.0.3.3的连通性。
网络并未因为R2与R3之间的链路被关闭而中断。
执行tracert命令,查看数据包的转发路径。
命令的回显信息表明,R2发送的数据经过R1抵达R3设备。
步骤七 配置缺省路由实现网络的互通
打开R2上在步骤6中关闭的接口。
[R2]interface GigabitEthernet 0/0/2
[R2 GigabitEthernet0/0/2]undo shutdown
验证从R1到10.0.23.3网络的连通性。
因为R1上没有去往10.0.23.0网段的路由信息,所以报文无法到达R3。
可以在R1上配置一条下一跳为10.0.13.3的缺省路由来实现网络的连通。
[R1]ip route static 0.0.0.0 0.0.0.0 10.0.13.3
配置完成后,检测R1和10.0.23.3网络间的连通性。
R1通过缺省路由实现了与网段10.0.23.0间的通信。
步骤八 配置备份缺省路由
当R1与R3间的链路发生故障时,R1可以使用备份缺省路由通过R2实现与10.0.23.3和10.0.3.3网络间通信。
配置两条备份路由,确保数据来回的双向都有路由。
[R1]ip route static 0.0.0.0 0.0.0.0 10.0.12.2 preference 80
[R3]ip route static 10.0.12.0 24 10.0.23.2 preference 80
步骤九 验证备份缺省路由
查看链路正常时R1上的路由条目。
关闭R1与R3上的G0/0/0接口模拟链路故障,然后查看R1的路由表。比较关闭接口前后的路由表变化情况。
[R1]interface GigabitEthernet0/0/0
[R1 GigabitEthernet0/0/0]shutdown
[R1 GigabitEthernet0/0/0]quit
[R3]interface GigabitEthernet0/0/0
[R3 GigabitEthernet0/0/0]shutdown
[R3 GigabitEthernet0/0/0]quit
上述路由表中,缺省路由0.0.0.0的Preference值为80,表明备用的缺省路由已生效。
网络并未因为R1与R3之间的链路被关闭而中断。执行tracert命令,查看数据包的转发路径。
结果显示报文通过R2(10.0.12.2)到达R3(10.0.23.3)。
配置文件
<R1>display current configuration
[V200R007C00SPC600]
#
sysname R1
#
interface GigabitEthernet0/0/0 shutdownip address 10.0.13.1 255.255.255.0 # interface GigabitEthernet0/0/1 ip address 10.0.12.1 255.255.255.0
#
interface LoopBack0
ip address 10.0.1.1 255.255.255.0
#
ip route static 0.0.0.0 0.0.0.0 10.0.13.3 ip route static 0.0.0.0 0.0.0.0 10.0.12.2 preference 80 ip route static 10.0.3.0 255.255.255.0 10.0.13.3 # user interface con 0 authentication mode password set authentication password cipher %$%$+L'YR&IZt'4,)> *#lH",}%K oJ_M9+'lOU~bD (\WTqB}%N,%$%$user interface vty 0 4
#
return
<R2>display current configuration
[V200R007C00SPC600]
#
sysname R2
interface GigabitEthernet0/0/1 ip address 10.0.12.2 255.255.255.0
#
interface GigabitEthernet0/0/2 ip address 10.0.23.2 255.255.255.0 # interface LoopBack0 ip address 10.0.2.2 255.255.255.0 # ip route static 10.0.3.0 255.255.255.0 10.0.23.3 ip route static 10.0.3.0 255.255.255.0 10.0.12.1 preference 80 ip route static 10.0.13.0 255.255.255.0 10.0.23.3 ip route static 10.0.13.0 255.255.255.0 10.0.12.1 preference 80
#
user interface con 0
authentication mode password set authentication password cipher %$%$1=cd%b%/O%Id 8X:by1N,+s}'4wD6TvO<I|/pd# #44C@+s#,%$%$user interface vty 0 4 #
return
<R3>display current configuration
[V200R007C00SPC600]
#
sysname R3
#
interface GigabitEthernet0/0/0 shutdownip address 10.0.13.3 255.255.255.0 # interface GigabitEthernet0/0/2 ip address 10.0.23.3 255.255.255.0
#
interface LoopBack0
ip address 10.0.3.3 255.255.255.0
#
ip route static 10.0.12.0 255.255.255.0 10.0.13.1 ip route static 10.0.12.0 255.255.255.0 10.0.23.2 preference 80 # user interface con 0 authentication mode password set authentication password cipher %$%$ksXDMg7Ry6yUU:63:DQ),#/sQg"@*S\U#.s.bHW xQ,y%#/v,%$%$ user interface vty 0 4
#
return