本文主要用于快速熟悉ensp操作,完成网络工程设计拓扑设计部分,详细教程请参考:https://wwf.lanzoue.com/iB0iW0fir80j

数据传输网络-三层结构体系:

  • 核心层:

    核心层是互连网络的高速主干网,在设计中应增加冗余组件,使其具备高可靠性,能快速适应通信流量的变化。 设计核心层设备的功能时应避免使用数据包过滤、策略路由等降低转发速率的功能特性,使得核心层具有高速率、低延迟和良好的可管理性。核心层设备覆盖的地理范围不宜过大,连接的设备不宜过多,否则会使得网络的复杂度增大,导致网络性能降低。核心层应包括一条或多条连接外部网络的专用链路,使得可以高效地访问互联网。

  • 汇聚层:

    汇聚层是核心层与接入层之间的分界点,应实现资源访问控制和流量控制等功能。汇聚层应该对核心层隐藏接入层的详细信息,不管划分了多少个子网,汇聚层向核心路由器发布路由通告时,只通告各个子网汇聚后的超网地址。 如果局域网中运行了以太网和弹性分组环等不同类型的子网,或者运行了不同路由算法的区域网络,可以通过汇聚层设备完成路由汇总和协议转换功能。

  • 接入层:

    接入层提供网络接入服务,并解决本地网段内用户之间互相访问的需求,要提供足够的带宽,使得本地用户之间可以高速访问;接入层还应提供一部分管理功能,例如MAC地址认证、用户认证、计费管理等;接入层要负责收集用户信息(例如用户U地址、MAC地址、访问日志等),作为计费和排错的依据。

接口配置比较简单,正文中实验步骤都跳过了,不清楚可以百度

1、VRP基础操作

//关闭信息提示
undo info en//查看路由器基本信息
<R1>display version//使用 display ip interface brief 命令查看接口与 IP 相关摘要信息
[R1-GigabitEthernet0/0/0]display ip interface brief
dis ip int br//查看路由器配置信息
<R1>display ip routing-table

1.1、通过Telent登录系统

为了方便公司员工对机房设备进行远程管理和维护,需要在路由器上配置 Telnet 功能。为了提高网络安全性,用户在 Telnet 时使用密码认证,只有通过认证的用户才有权限登录设备。

拓扑及设备信息:

1、配置 Telnet 的密码验证

//配置Telnet的密码验证
[R1]user-interface vty 0 4
[R1-ui-vty0-4]authentication-mode password
Please configure the login password (maximum length 16):[此处输入密码]
//在其他设备连接
<PC-1>telnet 10.1.1.254
Trying 10.1.1.254 ...
Press CTRL+K to abor
Connected to 10.1.1.254 ...
Login authentication
Password:[此处输入密码]
//登录成功后,可以继续使用命令 display users 查看已经登录的用户信息。
[R1]display users
User-Intf Delay Type Network Address AuthenStatus AuthorcmdFlag
+ 0 CON 0 00:00:00 no Username : Unspecified
34 VTY 0 00:01:26 TEL 10.1.1.2 pass no U
sername : Unspecified
35 VTY 1 00:00:30 TEL 10.1.1.1 pass no U
sername : Unspecified

2、 配置 Telnet 区分不同用户的权限

//在 R1 上配置 Telnet 的用户级别为 1(监控级)。普通员工仅使用密码登录设备,只能使用 display 等命令监控设备。
[R1]user-interface vty 0 4
[R1-ui-vty0-4]authentication-mode password
[R1-ui-vty0-4]set authentication password cipher [此处输入密码]
[R1-ui-vty0-4]user privilege level 1

默认情况下,VTY 用户界面的用户级别为 0(参观级),只能使用 ping、 tracert 等这些网络诊断命令。 配置完成后,将 R2 模拟成普通用户设备,测试到 R1 的 Telnet 连接。

<R2>telnet 10.1.1.254
Trying 10.1.1.254 ...
Press CTRL+K to abort
Connected to 10.1.1.254 ...
Login authentication
Password:
<R1>system-view
^
Error: Unrecognized command found at '^' position.
//试图进入R1的系统视图的时候被拒绝,原因是用户等级不够

STELNET登陆系统本次项目暂时用不上,就不写了

1.2、通过FTP进行文件操作

拓扑及设备信息:

1、配置路由器为FTP Client

在电脑上创建文件夹"FTP-Huawei"作为FTP服务器的文件夹,在该路径下再创建子文件夹"Config",该文件夹下创建测试文件test.txt。

创建完成后,将"FTP-Huawei"的路径设置为FTP服务器配置的文件根目录。

FTP Server上没有默认用户名和密码,每次在R1上连接服务器时,会自动创建新用户。

//本次使用用户名 10.0.2.1,密码 huawei
//此处设置用户名
<R1>ftp 10.0.2.1
Trying 10.0.2.1 ...
Press CTRL+K to abort
Connected to 10.0.2.1.
220 FtpServerTry FtpD for free
User(10.0.2.1:(none)):10.0.2.1
331 Password required for 10.0.2.1 .
//此处输入密码
Enter password://[密码]
230 User 10.0.2.1 logged in , proceed
[R1-ftp]

连接服务器后的操作:

//使用命令 ls 查看 FTP 服务器文件夹状态。
[R1-ftp]ls
200 Port command okay.
150 Opening ASCII NO-PRINT mode data connection for ls -l.
Config
226 Transfer finished successfully. Data connection closed.
FTP: 12 byte(s) received in 0.180 second(s) 66.66byte(s)/sec.//使用命令 cd 进入Config文件夹。
[R1-ftp]cd Config
250 "/config" is current directory.//使用命令 dir 查看详细的文件属性。
[R1-ftp]dir
200 Port command okay.
150 Opening ASCII NO-PRINT mode data connection for ls -l.
drwxrwxrwx 1 10.0.2.1 nogroup 3 Aug 21 2013 test.txt
226 Transfer finished successfully. Data connection closed.
FTP: 66 byte(s) received in 0.050 second(s) 1.32Kbyte(s)/sec.//使用 get 命令下载 test 到本地路由器。
[R1-ftp]get test.txt
200 Port command okay.
150 Sending test.txt (3 bytes). Mode STREAM Type BINARY
226 Transfer finished successfully. Data connection closed.
FTP: 3 byte(s) received in 17.450 second(s) .17byte(s)/sec//使用 put 命令上传 test 到 FTP 服务器,命名为 new.txt。
[R1-ftp]put test.txt new.txt
200 Port command okay.
150 Opening BINARY data connection for new.txt
226 Transfer finished successfully. Data connection closed.
FTP: 3 byte(s) sent in 0.070 second(s) 42.85byte(s)/sec.

2、配置路由器为FTP Server

将路由器配置为 FTP 服务器,可以使得路由器下行的客户端能够上传文件到路由
器上,并可直接从 Server 上获取文件。

//打开路由器 R1 的 FTP 服务器功能
<R1>system-view
[R1]ftp server enable
//设置 FTP 登录的用户名为 ftp, 密码为 huawei,设置文件夹目录 flash: //配置 FTP 用户可访问的目录为 fash:,用户优先级为 15,服务类型为 ftp
[R1]aaa
[R1-aaa]local-user ftp password cipher hawei
[R1-aaa]local-user ftp ftp-directory flash:
[R1-aaa]local-user ftp service-type ftp
[R1-aaa]local-user ftp privilege level 15

配置完成后, 在本地创建测试文件 test-user.txt,并设置客户端信息如下图。配置服务器地址为 10.0.1.254,用户名为 ftp,密码为 huawei,然后点击“登录”按钮。

登录成功后,可选择文件 test-user,并点击向右箭头传送至 FTP 服务器,可观察到上传文件成功。

//在R1上查看目录下的文件。
[R1]dir
Directory of flash:/
Idx Attr Size(Byte) Date Time(LMT) FileName
……
3 -rw- 0 Sep 09 2013 03:32:58 test-user.txt
4 -rw- 0 Sep 09 2013 03:25:47 test.txt
980,052 KB total (700,320 KB free)

2、交换机基础配置

2.1、交换机基础配置

拓扑及设备信息:

S1 和 S2 为接入层交换机, S3为汇聚层交换机。

对三台新交换机进行基本配置, 保证交换机间的接口使用全双工模式,并根据需要配置接口速率。

###1、配置交换机双工模式

在自协商模式下,接口的双工模式是和对端接口协商得到的,但协商得到的双工模式可能与实际要求不符。可通过配置双工模式的取值范围来控制协商的结果。例如互连的两个设备对应的接口都支持全/半双工,经自协商后工作在半双工模式,与实际要求的全双工模式不符,这时就可以执行命令 auto duplex full 使得接口的可协商双工模式为全双工模式。

缺省情况下,以太网接口自协商双工模式范围为接口所支持的双工模式。

//在S1,S2,S3三台交换机接口下先通过 undo negotiation auto 命令关掉自协商功能,再手工指定双工模式为全双工
[S1]interface GigabitEthernet 0/0/1
[S1-GigabitEthernet0/0/1]undo negotiation auto
[S1-GigabitEthernet0/0/1]duplex full[S2]interface GigabitEthernet 0/0/2
[S2-GigabitEthernet0/0/2]undo negotiation auto
[S2-GigabitEthernet0/0/2]duplex full[S3]interface GigabitEthernet 0/0/1
[S3-GigabitEthernet0/0/1]undo negotiation auto
[S3-GigabitEthernet0/0/1]duplex full
[S3-GigabitEthernet0/0/1]interface GigabitEthernet 0/0/2
[S3-GigabitEthernet0/0/2]undo negotiation auto
[S3-GigabitEthernet0/0/2]duplex full

2、配置接口速率

在自协商模式下,以太网接口的速率是和对端接口协商得到的。如果协商的速率与实际要求不符,可通过配置速率的取值范围来控制协商的结果。例如互连的两个设备对应的接口经自协商后的速率为10Mbit/s,与实际要求的100Mbit/s不符,可通过执行命令auto speed 100配置使得接口可协商的速率为 100Mbit/s。

缺省情况下,以太网接口自协商速率范围为接口支持的所有速率。在非自协商模式下,需手动配置接口速率,避免发生无法正常通讯的情况。在非自协商模式时,缺省情况下,以太网接口的速率为接口支持的最大速率。

根据网络需要调整接口速率。由于网络用户较少,配置 GE 接口速率为 100Mbit/s,Ethernet 接口配置速率为 10Mbit/s。

//在三台交换机接口下配置速率。首先关闭接口自协商模式,并配置以太网接口的速率。
[S1]inter Ethernet 0/0/1
[S1-Ethernet0/0/1]undo negotiation auto
[S1-Ethernet0/0/1]speed 10
//用同样的方法配置另外两台设备接口的速率。
[S2]interface ethernet 0/0/1
[S2-Ethernet0/0/1]undo negotiation auto
[S2-Ethernet0/0/1]speed 10
[S2-Ethernet0/0/1]interface GigabitEthernet 0/0/2
[S2-GigabitEthernet0/0/2]undo negotiation auto
[S2-GigabitEthernet0/0/2]speed 100[S3]interface GigabitEthernet 0/0/1
[S3-GigabitEthernet0/0/1]undo negotiation auto
[S3-GigabitEthernet0/0/1]speed 100
[S3-GigabitEthernet0/0/1]interface GigabitEthernet 0/0/2
[S3-GigabitEthernet0/0/2]undo negotiation auto
[S3-GigabitEthernet0/0/2]speed 100

2.2、ARP及Proxy ARP

本项目暂时用不上,了解即可。

ARP( Address Resolution Protocol)是用来将 IP 地址解析为 MAC 地址的协议。 ARP 表项可以分为动态和静态两种类型。 动态 ARP 是利用 ARP 广播报文,动态执行并自动进行 IP地址到以太网 MAC 地址的解析,无需网络管理员手工处理。静态 ARP,建立 IP 地址和 MAC地址之间固定的映射关系,在主机和路由器上不能动态调整此映射关系, 需要网络管理员手工添加。 设备上有一个 ARP 高速缓存( ARP cache),用来存放 IP 地址到 MAC 地址的映射表,利用 ARP 请求和应答报文来缓存映射表,以便能正确的把三层数据包封装成二层数据正,达到快速封装数据帧,正确转发数据的目的。 另外 ARP 还有扩展应用功能,比如 Proxy ARP 功能。

Proxy ARP,即代理 ARP, 当主机上没有配置缺省网关地址(即不知道如何到达本地网络的网关设备),可以发送一个广播 ARP 请求(请求目的主机的 MAC 地址),使能 Proxy ARP功能的路由器收到这样的请求后, 在确认请求地址可达后,会使用自身的 MAC 地址作为该ARP 请求的回应,使得处于不同物理网络的同一网段的主机之间可以正常的相互通信。

3、VLAN

比较简单,快速过一遍即可

3.1、VLAN 基础配置及 Access 接口

原理概述:

​ 早期的局域网技术是基于总线型结构的,总线型拓扑结构是由一根单电缆连接着所有主机,这种局域网技术存在着冲突域问题,即所有用户都在一个冲突域中,那么同一时间内只有一台主机能发送消息,从任意设备发出的消息都会被其他所有主机接收到,用户可能收到大量不需要的报文,而且所有主机共享一条传输通道,任意主机之间都可以直接互相访问,无法控制信息的安全。

​ 为了避免冲突域,同时扩展传统局域网,以接入更多计算机,可以采用在局域网中使用二层交换机,交换机能有效隔离冲突域,但是由于所有计算机仍处于同一个广播域,任意设备都能接收到所有报文,不但降低了网络的效率,而且还降低了安全性,即广播域和信息安全问题依旧存在。 为了能减少广播,提高局域网安全性,人们使用虚拟局域网即 VLAN 技术把一个物理的 LAN 在逻辑上划分成多个广播域。 VLAN 内的主机间可以直接通信,而VLAN 间不能直接互通。这样,广播报文被限制在一个 VLAN 内,同时也提高了网络安全性。 不同的 VLAN 使用不同的 VLAN ID 区分, VLAN ID 的范围是 0- 4095,可配置的值为1- 4094, 0 和 4095 为保留值。

​ Access 接口是交换机上用来连接用户主机的接口。当 Access 接口从主机收到一个不带VLAN 标签的数据帧时,会给该数据帧加上与PVID 一致的VLAN 标签( PVID 可手工配置,默认是 1,即所有交换机上的接口默认都属于 VLAN 1)。当 Access 接口要发送一个带 VLAN标签的数据帧给主机时,首先检查该数据帧的 VLAN ID 是否与自己的 PVID 相同,若相同,则去掉 VLAN 标签后发送该数据帧给主机;若不相同,直接丢弃该数据帧。

拓扑及设备信息:

1、创建VLAN

//在 S1 上使用两条命令分别创建 VLAN 10 和 VLAN 20。
[S1]vlan 10
[S1-vlan10]vlan 20
//在 S2 上使用一条命令 vlan batch 创建 VLAN 30 和 VLAN 40。
[S2]vlan batch 30 40//配置完成后,在 S1 和 S2 上使用 display vlan 命令查看 VLAN 的相关信息。
[S1]display vlan
The total number of vlans is : 3
...
1 common UT: ...
10 common
20 common[S2]display vlan
The total number of vlans is : 3
...
1 common UT:...
30 common
40 common
//可以观察到, S1 和 S2 都已经成功创建了相应 VLAN,但目前没有任何接口加入所创建的 VLAN 10 与 20 中,默认情况下交换机上所有接口都属于 VLAN 1。

2、配置Access接口

按照拓扑,使用命令 port link-type access 配置所有 S1 和 S2 交换机上连接 PC 的接口类型为 Access 类型接口,并使用命令 port default vlan 配置接口的缺省 VLAN 并同时加入相应 VLAN 中。 缺省情况下,所有接口的缺省 VLAN ID 为1 。

[S1]interface ethernet0/0/1
[S1-Ethernet0/0/1]port link-type access
[S1-Ethernet0/0/1]port default vlan 10
[S1-Ethernet0/0/1]interface ethernet0/0/2
[S1-Ethernet0/0/1]port link-type access
[S1-Ethernet0/0/1]port default vlan 10
[S1-Ethernet0/0/1]interface ethernet0/0/3
[S1-Ethernet0/0/1]port link-type access
[S1-Ethernet0/0/1]port default vlan 20[S2]interface ethernet0/0/1
[S2-Ethernet0/0/1]port link-type access
[S2-Ethernet0/0/1]port default vlan 30
[S2-Ethernet0/0/1]interface ethernet0/0/2
[S2-Ethernet0/0/1]port link-type access
[S2-Ethernet0/0/1]port default vlan 40//配置完成后,查看 S1 与 S2 上的 VLAN 信息
[S1]display vlan
The total number of vlans is : 3
...
10 common UT:Eth0/0/1(D) Eth0/0/2(D)
20 common UT:Eth0/0/3(D)[S2]display vlan
The total number of vlans is : 3
...
30 common UT:Eth0/0/1(D)
40 common UT:Eth0/0/2(D)

3、检查配置结果

​ 在交换机上将不同接口加入各自不同的 VLAN 中后,属于相同 VLAN 的接口处于同一个广播域,相互之间可以直接通信。属于不同 VLAN 的接口是处于不同的广播域,相互之间不能直接通信。

​ 在本实验环境中,只有同属于 IT 部门 VLAN10 的两台主机 PC-1 和 PC-2 之间可以互相通信。其他不同部门间的 PC 之间将无法通信。

​ 在 IT 部门的终端 PC-1 上分别测试与同部门的终端 PC-2,HR 部门的 PC-3 间的连通性。

PC>ping -c 1 10.1.1.2
PING 10.0.1.2: 56 data bytes, press CTRL_C to break
Reply from 10.1.1.2: bytes=56 Sequence=1 ttl=255 time=50 ms
--- 10.1.1.2 ping statistics ---
1 packet(s) transmitted
1 packet(s) received
0.00% packet loss
round-trip min/avg/max = 50/50/50 msPC>ping 1 10.1.1.2
From 0.0.0.0: Destination host unreachable
From 0.0.0.0: Destination host unreachable
From 0.0.0.0: Destination host unreachable
From 0.0.0.0: Destination host unreachable
From 0.0.0.0: Destination host unreachable
……
//可以观察到,相同 VLAN 内的 PC 可以互相通信,不同 VLAN 内的 PC 间无法通信。

3.2、配置Trunk接口

原理概述

​ 在以太网中,通过划分 VLAN 来隔离广播域和增强网络通讯的安全性。以太网通常由多台交换机组成,为了使 VLAN 的数据帧跨越多台交换机传递,交换机之间互连的链路需要配置为干道链路( Trunk Link)。 和接入链路不同,干道链路是用来在不同的设备之间(如交换机和路由器之间、交换机和交换机之间)承载多个不同 VLAN 数据的,干道链路是不属于任何一个具体的 VLAN 的, 干道链路可以承载所有的 VLAN 数据,也可以配置为只能传输指定 VLAN 的数据。

​ Trunk 端口一般用于交换机之间连接的端口, Trunk 端口可以属于多个 VLAN,可以接收和发送多个 VLAN 的报文。

​ 当 Trunk 端口收到数据帧时, 如果该帧不包含 802.1Q 的 VLAN 标签,将打上该 Trunk端口的 PVID;如果该帧包含 802.1Q 的 VLAN 标签,则不改变。

​ 当 Trunk 端口发送数据帧时, 当该所发送帧的 VLAN ID 与端口的 PVID 不同时, 检查是否允许该 VLAN 通过,若允许的话直接透传,不允许就直接丢弃;当该帧的 VLAN ID 与端口的 PVID 相同时,则剥离 VLAN 标签后转发。

拓扑及设备信息:

​ 本实验模拟某公司网络场景,公司规模较大,员工 200 余名,内部网络是一个大的局域网。公司放置了多台接入交换机(如 S1 和 S2)负责员工的网络接入。接入交换机之间通过汇聚交换机 S3 相连。公司通过划分 VLAN 来隔离广播域,由于员工较多,相同部门的员工通过不同交换机接入。为了保证在不同交换机下相同部门的员工能互相通信,需要配置交换机之间链路为干道模式,实现相同 VLAN 跨交换机通信。

1、创建VLAN,配置Access接口

公司内网需要通过 VLAN 的划分来隔离不同的部门。需要在三台交换机 S1, S2, S3上都分别创建 VLAN 10 和 VLAN 20,研发部员工属于 VLAN 10,市场部员工属于 VLAN 20。

[S1]vlan 10
//标记命令:description (参数)
[S1-vlan10]description R$D
[S1-vlan10]vlan 20
[S1-vlan20]description Market[S2]vlan 10
[S2-vlan10]description R$D
[S2-vlan10]vlan 20
[S2-vlan20]description Market[S3]vlan 10
[S3-vlan10]description R$D
[S3-vlan10]vlan 20
[S3-vlan20]description Market//查看VLAN信息,此处以S3为例
<S3>display vlan
The total number of vlans is : 3
...
1 enable default enable disable VLAN 0001
10 enable default enable disable R$D
20 enable default enable disable Market
//可以观察到相关的 VLAN 都已经配置好。也可以使用命令 display vlan summary 查看所配置 VLAN 的简要信息。
<S3>display vlan summary
static vlan:
Total 3 static vlan.
1 10 20
dynamic vlan:
Total 0 dynamic vlan.
reserved vlan:
Total 0 reserved vlan.//在 S1 上配置 E 0/0/2 和 E 0/0/3 为 Access 接口,并划分到相应的 VLAN 10 内。
[S1]interface Ethernet0/0/2
[S1-Ethernet0/0/2]port link-type access
[S1-Ethernet0/0/2]port default vlan 10
[S1]interface Ethernet0/0/3
[S1-Ethernet0/0/3]port link-type access
[S1-Ethernet0/0/3]port default vlan 20
//在 S2 上配置 E 0/0/3 和 E 0/0/4 为 Access 接口,并划分到相应的 VLAN。
//与S1相同,此处略//使用命令 display port vlan 检查 VLAN 和接口配置情况。
[S1]display port vlan
Port Link Type PVID Trunk VLAN List
---------------------------------------------------------------------------
Ethernet0/0/1 hybrid 1 -
Ethernet0/0/2 access 10 -
Ethernet0/0/3 access 20 -
[S2]display port vlan
...

2、配置Trunk接口

​ 在上个步骤中已经将 PC 机所连入的交换机接口划入到了相应的部门 VLAN,现在测试相同部门中的 PC 是否能够通信。

几个PC互相ping,此处省略过程

​ 可以观察到此时同部门的 PC 机间不能通信。
​ 目前在该跨交换机实现不同 VLAN 通信的二层组网拓扑中,虽然与 PC 端相连的交换机接口上创建并划分了 VLAN 信息,但是在交换机与交换机之间相连的接口上并没有相应的VLAN 信息,不能够识别和发送跨越交换机的 VLAN 报文,此时 VLAN 只具有在每台交换机上的本地意义,无法实现相同 VLAN 的跨交换机通信。

​ 为了使得交换机间能够识别和发送跨越交换机的 VLAN 报文,需要用到 Trunk 技术,将交换机间相连的接口配置成为 Trunk 接口。 Trunk 接口是交换机上用来与其他交换机连接的接口,能实现同时传递多个VLAN 的流量。在配置的时候要明确配置被允许通过的VLAN,实现对 VLAN 流量传输的控制。

配置Trunk:

//在 S1 上配置 E 0/0/1 为 Trunk 接口,允许 VLAN 10 和 VLAN 20 通过。
[S1]interface Ethernet0/0/1
[S1-Ethernet0/0/1]port link-type trunk
[S1-Ethernet0/0/1]port trunk allow-pass vlan 10 20
//在 S2 上配置 E 0/0/2 为 Trunk 接口,允许 VLAN 10 和 VLAN 20 通过。
[S2]interface Ethernet0/0/2
[S2-Ethernet0/0/2]port link-type trunk
[S2-Ethernet0/0/2]port trunk allow-pass vlan 10 20//在 S3 上配置 GE 0/0/1 和 GE 0/0/2 为 Trunk 接口,允许所有 VLAN 通过。
[S3]interface GigabitEthernet 0/0/1
[S3-GigabitEthernet0/0/1]port link-type trunk
[S3-GigabitEthernet0/0/1]port trunk allow-pass vlan all
[S3]interface GigabitEthernet 0/0/2
[S3-GigabitEthernet0/0/2]port link-type trunk
[S3-GigabitEthernet0/0/2]port trunk allow-pass vlan all//配置完成后可以使用命令 display port vlan 来检查 trunk 的配置情况,这里以 S3 为例。
[S3]display port vlan
Port Link Type PVID Trunk VLAN List
----------------------------------------------------------------------------
GigabitEthernet0/0/1 trunk 1 1-4094
GigabitEthernet0/0/2 trunk 1 1-4094//再次验证发现所有PC都能互通

3.3、利用单臂路由实现 VLAN 间路由

这部分不一定需要,没有VLAN跨路由通信的需求可以跳过。

原理概述

以太网中,通常会使用 VLAN 技术隔离二层广播域来减少广播的影响,并增强网络安全性和网络的可管理性,但同时也严格的隔离了不同 VLAN 之间的任何二层流量,分属于不同 VLAN 的用户不能直接互相通信。在现实中,经常会出现某些用户需要跨越 VLAN 实现通信的情况,单臂路由技术就是解决 VLAN 间通信的一种方法。

单臂路由的原理是通过一台路由器,使 VLAN 间互通数据通过路由器进行三层转发。如果在路由器上为每个 VLAN 分配一个单独的路由器物理接口,随着 VLAN 数量的增加,必然需要更多的接口,而路由器能提供的接口数量比较有限,所以在路由器的一个物理接口上通过配置子接口(即逻辑接口)的方式来实现以一当多的功能,将是一种非常好的方式,路由器同一物理接口的不同的子接口作为不同 VLAN 的缺省网关,当不同 VLAN 间的用户主机需要通信时,只需将数据包发送给网关,网关处理后再发送至目的主机所在 VLAN,从而实现 VLAN 间通信。 由于从拓扑结构图看,在交换机与路由器之间,数据仅通过一条物理链路传输,故形象的称之为“单臂路由”。

拓扑及设备信息:

本实验模拟公司网络场景,路由器 R1 是公司的出口网关,员工 PC 通过接入层交换机(如 S2 和 S3)接入公司网络,接入层交换机又通过汇聚交换机 S1 与路由器 R1 相连。公司内部网络通过划分不同的 VLAN 隔离了不同部门之间的二层通信,保证各部门间的信息安全,但是由于业务需要,经理、市场部和人事部之间需要能实现跨 VLAN 通信,网络管理员决定借助路由器的三层功能,通过配置单臂路由实现三个部门之间跨VLAN 通信的需求。

1、创建VLAN并配置Access、Trunk接口

​ 公司为保证隔离不同部门间的二层通信,保障各部门的信息安全,规划不同部门的终端属于不同的 VLAN。 并对 PC 配置相应 IP 地址。

此处配置过程省略,可参考前两小节

(1)在 S2 上创建 VLAN 10 和 VLAN 20,把连接 PC-1 的 E 0/0/1 和连接 PC-2 的 E 0/0/2 接口配置为 Access 类型接口,并分别划分到相应的 VLAN 中。

(2)在 S3 上创建 VLAN 30,把连接 PC-3 的 E 0/0/1 接口配置为 Access 类型接口,并划分到 VLAN 30。

(3)交换机之间或交换机和路由器之间相连的接口需要传递多个 VLAN 信息,需要配置成为 Trunk 接口。将 S2 和 S3 的 GE 0/0/2 接口配置成为 Trunk 类型接口,并允许所有 VLAN 通过。

(4)在 S1 上创建 VLAN 10、 VLAN 20 和 VLAN 30,并配置交换机和路由器相连的接口为Trunk,允许所有 VLAN 通过

2、配置路由器子接口和IP地址

由于路由器 R1 只有一个实际的物理接口与交换机 S1 相连,可以在路由器上配置不同的逻辑子接口来作为不同 VLAN 的网关,从而达到节省路由器接口的目的。

//在 R1 上创建子接口 GE 0/0/1.1,配置 IP 地址 10.1.1.254/24,作为人事部网关地址。
[R1]interface GigabitEthernet 0/0/1.1
[R1-GigabitEthernet0/0/1.1]ip address 10.1.1.254 24
//在 R1 上创建子接口 GE 0/0/1.2,配置 IP 地址 20.1.1.254/24,作为市场部网关地址。
[R1]interface GigabitEthernet 0/0/1.2
[R1-GigabitEthernet0/0/1.2]ip address 20.1.1.254 24
//在 R1 上创建子接口 GE 0/0/1.3,配置 IP 地址 30.1.1.254/24,作为经理的网关地址。
[R1]interface GigabitEthernet 0/0/1.3
[R1-GigabitEthernet0/0/1.3]ip address 30.1.1.254 24
//在 PC-1, PC-2 和 PC-3 上配置 IP 和相应的网关地址后,在 PC-1 上测试与 PC-2 和 PC-3间的连通性。结果是无法通信,原因见3.3概述

3、配置路由器子接口封装VLAN

​ 虽然目前已经创建了不同的子接口,并配置了相关 IP 地址,但是仍然无法通信。是由于处于不同VLAN下,不同网段的PC间要实现互相通信,数据包必须通过路由器进行中转。由 S1 发送到 R1 的数据都加上了 VLAN 标签,而路由器作为三层设备,默认无法处理带了VLAN 标签的数据包。因此需要在路由器上的子接口下配置对应 VLAN 的封装,使路由器能够识别和处理 VLAN 标签,包括剥离和封装 VLAN 标签。

在 R1 的子接口 GE 0/0/1.1 上封装 VLAN 10,在子接口 GE 0/0/1.2 上封装 VLAN 20,在子接口 GE 0/0/1.3 上封装 VLAN 30。并开启子接口的 ARP 广播功能。

使用 dot1q termination vid 命令配置子接口对一层 tag 报文的终结功能。即配置该命令后,路由器子接口在接收带有 VLAN tag 的报文时,将剥掉 tag 进行三层转发,在发送报文时,会将与该子接口对应 VLAN 的 VLAN tag 添加到报文中。

[R1-GigabitEthernet0/0/1.1]dot1q termination vid 10

使用 arp broadcast enable 命令开启子接口的 ARP 广播功能。如果不配置命令,将会导致该子接口不发送携带有 VLAN tag 的报文

[R1-GigabitEthernet0/0/1.1]arp broadcast enable//同理配置 R1 的子接口 GE 0/0/1.2 和 GE 0/0/1/.3。
[R1]interface GigabitEthernet0/0/1.2
[R1-GigabitEthernet0/0/1.2]dot1q termination vid 20
[R1-GigabitEthernet0/0/1.2]arp broadcast enable
[R1-GigabitEthernet0/0/1.2]interface Ethernet0/0/1.3
[R1-GigabitEthernet0/0/1.3]dot1q termination vid 30
[R1-GigabitEthernet0/0/1.3]arp broadcast enable

配置完成后,在路由器 R1 上查看接口状态。

[R1]display ip interface brief
*down: administratively down
……
Interface IP Address/Mask Physical Protocol
GigabitEthernet0/0/0 unassigned down down
GigabitEthernet0/0/1 unassigned up down
//三个子接口的物理状态和协议状态都正常。
GigabitEthernet0/0/1.1 10.1.1.254/24 up up
GigabitEthernet0/0/1.2 20.1.1.254/24 up up
GigabitEthernet0/0/1.3 30.1.1.254/24 up up
NULL0 unassigned up up(s)//查看路由器 R1 的路由表。
[R1]display ip routing-table
Route Flags: R - relay, D - download to fib
----------------------------------------------------------------------------
Routing Tables: Public
Destinations : 13 Routes : 13
Destination/Mask Proto Pre Cost Flags NextHop Interface
//路由表中已经有了 10.1.1.0/24、 20.1.1.0/24、 30.1.1.0/24 的路由条目,并且都是路由器 R1 的直连路由, 类似于路由器上的直连物理接口。
10.1.1.0/24 Direct 0 0 D 10.1.1.254 GigabitEthernet0/0/1.1
...
20.1.1.0/24 Direct 0 0 D 20.1.1.254 GigabitEthernet0/0/1.2
...
30.1.1.0/24 Direct 0 0 D 30.1.1.254 GigabitEthernet0/0/1.3
...

在PC1上分别测试与网关地址10.1.1.254和PC2之间的连通性。结果是都能通信。

//在 PC-1 上 Tracert PC-2。
PC>tracert 20.1.1.1
traceroute to 20.1.1.1, 8 hops max
(ICMP), press Ctrl+C to stop
1 10.1.1.254 62 ms 47 ms 31 ms
2 20.1.1.1 125 ms 94 ms 94 ms

​ 可以观察到,PC-1先把ping包发送给自身的网关10.1.1.254,然后再由网关发送到PC-2。
​ 现以 PC-1 ping PC-2 为例,分析单臂路由的整个运作过程。
两台 PC 由于处于不同的网络中,这时 PC-1 会将数据包发往自己的网关,即路由器 R1的子接口 GE 0/0/1.1 的地址 10.1.1.254。数据包到达路由器 R1 后,由于路由器的子接口 GE 0/0/1.1 已经配置了 VLAN 封装,当接收到 PC-1 发送的 VLAN 10 的数据帧时,发现数据帧的 VLAN ID 跟自身 GE 0/0/1/1 接口配置的 VLAN ID 一样,便会剥离掉数据帧的 VLAN 标签后后通过三层路由转发。通过查找路由表后,发现数据包中的目的地址 20.1.1.1 所属的 20.1.1.0/24 网段的路由条目,已经是路由器 R1 上的直连路由,且出接口为 GE 0/0/1.2,便将该数据包发送至 GE 0/0/1.2接口。当 GE 0/0/1.2 接口接收到一个没有带 VLAN 标签的数据帧时,便会加上自身接口所配置的 VLAN ID 20 后再进行转发,然后通过交换机将数据帧顺利转发给 PC-2。
​ 以上便是通过配置单臂路由实现不同 VLAN 间的路由的整个过程。

常用操作:

//以下操作都在交换机进行
vlan 20 //创建vlan
vlan batch  //批量创建vlan
port link-type trunk    //配置接口类型为Trunk
port link-type access   //配置接口类型为Access
port trunk allow-pass 10 20
port trunk allow-pass vlan all  //允许所有或部分vlan通过
display vlan    //检查VLAN配置情况
display port vlan   //检查VLAN、Trunk和接口配置情况
[S1-vlan10]description [描述] //标记命令
//以下操作均在路由器下进行
display ip interface brief  //查看路由器接口状态
display ip routing-table    //查看路由表

4、生成树

4.1、STP配置和选路规则

生成树协议 Spanning Tree Protocol

原理概述

​ STP 是用来避免数据链路层出现逻辑环路的协议。使用 BPDU 传递网络信息计算出一根无环的树状网络结构,并阻塞特定端口。在网络出现故障的时候, STP 能快速发现链路故障,并尽快的找出另外一条路径用来进行数据传输。

​ 交换机上运行的 STP 通过 BPDU 信息的交互,选举根交换机,然后每台非根交换机选择用来与根交换机通信的根端口,之后每个网段选择用来转发数据至根交换机的指定端口,最后剩余端口则被阻塞。

​ 在 STP 工作过程中,根交换机的选举,根端口、指定端口的选举都非常重要。华为 VRP提供了各种命令,用来调整 STP 的参数,用以优化网络。例如,交换机优先级、端口优先级、端口代价值等等。

拓扑及设备信息:

​ 公司购置了 4 台交换机,组建网络。考虑到网络的可靠性,将四台交换机如拓扑图搭建。由于默认情况下,交换机之间运行 STP 后,根交换机、根端口、指定端口的选择将基于交换机的 MAC 地址的大小,带来了不确定性,极可能由此产生隐患。
​ 公司网络规划,需要 S1 作为主根交换机, S2 作为 S1 的备份根交换机。同时对于 S4交换机, E 0/0/1 接口应该作为根端口对于 S2 和 S3 之间的链路,应该保证 S2 的 E 0/0/3接口作为指定端口。同时在交换机 S3 上,存在两个接口 E 0/0/10- 11 连接到测试 PC,测试PC 经常上下线网络,需要将交换机 S3 与之相连的对应端口定义为边缘端口,避免测试电脑上下线对网络产生的影响

1、基本配置

根据实验拓扑图,在交换机上启用 STP(华为交换机默认启用 MSTP),将交换机的 STP模式更改为普通生成树 STP。

//有一丢丢不严谨,四个交换机都这么配置就行
[S1 S2 S3 S4]stp enable
[S1 S2 S3 S4]stp mode stp//配置完成后,缺省情况下需要等待 30s 生成树重新计算时间( 15s Forward Delay 加 15sLearning 状态时间),使用命令 display stp 查看 S1 的生成树状态。
[S1]display stp
-------[CIST Global Info][Mode STP]-------
CIST Bridge :32768.4c1f-cceb-beac
……
Last TC occurred :Ethernet0/0/1
----[Port1(Ethernet0/0/1)][FORWARDING]----
Port Protocol :Enabled
Port Role :Root Port
Port Priority :128
Port Cost(Dot1T ) :Config=auto / Active=1
Designated Bridge/Port :32768.4c1f-ccbf-cbb5 / 128.1
……
BPDU Received :50
TCN: 0, Config: 50, RST: 0, MST: 0
----[Port2(Ethernet0/0/2)][DISCARDING]----
Port Protocol :Enabled
Port Role :Alternate Port
Port Priority :128
Port Cost(Dot1T ) :Config=auto / Active=1
Designated Bridge/Port :32768.4c1f-cceb-658f / 128.2
……
//可以观察到 S1 的 E 0/0/1 端口为转发状态、端口角色为根端口, E 0/0/2 端口为丢弃状态,端口角色 Alternate,即替代端口。//使用命令 display stp brief 在 S2, S3, S4 上仅查看摘要信息。//在交换机 S2 上面所有的端口为转发状态,观察到 E0/0/1 和 E0/0/3 端口角色为指定端口,E0/0/2 为根端口
[S2]display stp brief
MSTID Port Role STP State Protection
0 Ethernet0/0/1 DESI FORWARDING NONE
0 Ethernet0/0/2 ROOT FORWARDING NONE
0 Ethernet0/0/3 DESI FORWARDING NONE//在交换机 S3 上 E 0/0/3 端口角色为 Alternate 端口,且状态为丢弃状态,该端口将不会转发数据流量
[S3]display stp brief
MSTID Port Role STP State Protection
0 Ethernet0/0/1 ROOT FORWARDING NONE
0 Ethernet0/0/2 DESI FORWARDING NONE
0 Ethernet0/0/3 ALTE DISCARDING NONE
……//在交换机 S4 上所有的端口角色都为指定端口,且端口状态都为转发。
[S4]display stp brief
MSTID Port Role STP State Protection
0 Ethernet0/0/1 DESI FORWARDING NONE
0 Ethernet0/0/2 DESI FORWARDING NONE//初步判断四台交换机中 S4 为根交换机,因为该交换机所有端口都为指定端口。通过命令 display stp 查看生成树详细信息
[S4]display stp
-------[CIST Global Info][Mode STP]-------
CIST Bridge :32768.4c1f-ccac-3733
Config Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
Active Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
CIST Root/ERPC :32768.4c1f-ccac-3733 / 0
CIST RegRoot/IRPC :32768.4c1f-ccac-3733 / 0
……
//可以观察到“CIST Root”和“CIST Bridge”相同,即目前根交换机 ID 与自身的交换机ID 相同,说明目前 S4 为根交换机。

​ 生成树运算第一步就是通过比较每台交换机的交换机 ID 选举根交换机,交换机 ID 由交换机优先级和 MAC 地址组成。首先比较交换机优先级,数值最低的为根交换机,如果优先级一样,则比较 MAC 地址,同样数值最低的选举为根交换机。
​ 目前在该公司的二层拓扑中,四台交换机的生成树都刚刚开始运行,交换机优先级都为默认值,即都相同,故根据每台交换机的 MAC 地址来选举,通过比较,最终 S4 为根交换机。

2、配置网络中的根交换机

​ 根交换机的在网络当中的位置是非常重要的,如果选择了一台性能较差的交换机,或者是部署在接入层的交换机作为根交换机,会影响到整个网络的通信质量及数据传输。所以确定根交换机的位置极为重要,根交换机选举依据是根交换机 ID(优先级与 MAC 地址组成),值越小越优先,交换机默认的优先级为 32768,当然该值是可以修改的。

//现在将 S1 配置为主根交换机, S2 为备份根交换机,将 S1 的优先级改为 0, S2 的优先级改为 4096。
[S1]stp priority 0[S2]stp priority 4096//配置完成后查看 S1 和 S2 的 STP 状态信息。
[S1]display stp
-------[CIST Global Info][Mode STP]-------
CIST Bridge :0 .4c1f-cceb-beac
Config Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
Active Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
CIST Root/ERPC :0 .4c1f-cceb-beac / 0
CIST RegRoot/IRPC :0 .4c1f-cceb-beac / 0
……[S2]display stp
-------[CIST Global Info][Mode STP]-------
CIST Bridge :4096 .4c1f-ccbf-cbb5
Config Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
Active Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
CIST Root/ERPC :0 .4c1f-cceb-beac / 1
CIST RegRoot/IRPC :4096 .4c1f-ccbf-cbb5 / 0
……
//通过观察发现 S1 的优先级变为了 0,为根交换机,而 S2 的优先级变为了 4096,为备份根交换机。

也可以使用另外一种方式配置主根交换机和备份根交换机。

//删除在 S1 上所配置的优先级,使用命令 stp root primary 配置主根交换机。
[S1]undo stp priority
[S1]stp root primary//删除在 S2 上所配置的优先级,使用命令 stp root secondary 配置备份根交换机。
[S1]undo stp priority
[S2]stp root secondary//配置完成后查看 STP 的状态信息。——结果与第一种方法一样,此处不展示了
...

到这里配置部分就结束了,需要的功能都已经基本实现,之后3、4的部分是理解STP原理以及端口选举的详细设置,不需要的话可跳过。

3、理解根端口的选举

​ 生成树在选举出根交换机之后,将在每台非根交换机上选举根端口。选举时首先比较该交换机上每个端口到达根交换机的根路径开销,路径开销最小的端口将成为根端口。如果根路径开销值相同,则比较每个端口所在链路上的上行交换机的交换机 ID,如果该交换机 ID也相同,则比较每个端口所在链路上的上行端口的端口 ID。每台交换机上只能拥有一个根端口。

//根据上一步骤,目前 S1 为主根交换机,而 S2 为备份根交换机,查看 S4 上生成树信息。
[S4]display stp brief
MSTID Port Role STP State Protection
0 Ethernet0/0/1 ALTE DISCARDING NONE
0 Ethernet0/0/2 ROOT FORWARDING NONE
//可以观察到,现在 S4 的 E 0/0/2 为根端口,状态为转发状态。这是由于在 S4 选举根端口时,首先比较根路径开销,由于拓扑中所有链路都是相同的百兆以太网链路, S4 经过 S3到 S1 与经过 S2 到 S1 的开销值相同,接下来比较 S4 的两台上行链路的交换机 S2 和 S3 的交换机标识, S2 目前的交换机优先级为 4096,而 S3 为默认的 32768,所以与 S2 连接 S4的 E0/0/2 接口被选为根端口。
//查看 S4 的 E 0/0/2 接口开销值。
<S4>display stp interface Ethernet 0/0/2
----[Port2(Ethernet0/0/2)][FORWARDING]----
Port Protocol :Enabled
Port Role :Root Port
Port Priority :128
Port Cost(Dot1T ) :Config=auto / Active=1
Designated Bridge/Port :4096.4c1f-ccbf-cbb5 / 128.2
……
//可以观察到,接口路径开销采用的是 Dot1t 的计算方法, Config 是指手工配置的路径开销, Active 是实际使用的路径开销,开销值为 1//配置 S4 的 E 0/0/2 接口的代价值为 2000,即增加该接口默认的代价值。
[S4]interface ethernet0/0/2
[S4-Ethernet0/0/2]stp cost 2000//配置完成后再次查看 S4 的 E 0/0/2 接口开销值以及 STP 状态摘要信息。
<S4>display stp interface Ethernet 0/0/2
----[Port2(Ethernet0/0/2)][DISCARDING]----
Port Protocol :Enabled
Port Role :Alternate Port
Port Priority :128
Port Cost(Dot1T ) :Config=2000 / Active=2000
Designated Bridge/Port :4096.4c1f-ccbf-cbb5 / 128.2
……
[S4]display stp brief
MSTID Port Role STP State Protection
0 Ethernet0/0/1 ROOT FORWARDING NONE
0 Ethernet0/0/2 ALTE DISCARDING NONE//发现此时 E 0/0/1 端口角色变成了根端口,而 E 0/0/2 变成了 Alternate 端口。这是由于将 E 0/0/2 接口的开销修改为 2000 之后,在选举根端口时,其到根路径开销大于 E 0/0/1 的根路径开销。

4、理解指定端口的选举

​ 生成树协议在每台非根交换机选举出根端口之后,将在每个网段上选举指定端口,选举的比较规则和选举根端口类似。

​ 现在网络管理员需要确保 S2 连接 S3 的 E 0/0/3 接口被选择为指定端口,可以通过修改端口开销值来实现。

//为了模拟该场景,将 S2 的优先级恢复为默认的 32768。
[S2]undo stp root
//配置完成后,查看 S2 的 STP 状态信息。
[S2]display stp
-------[CIST Global Info][Mode STP]-------
CIST Bridge :32768.4c1f-ccfa-a769
Config Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
...
//S2 的优先级已经变成了 32768//查看 S2 与 S3 的 STP 状态摘要信息。
[S2]display stp brief
MSTID Port Role STP State Protection
0 Ethernet0/0/1 ROOT FORWARDING NONE
0 Ethernet0/0/2 DESI FORWARDING NONE
0 Ethernet0/0/3 ALTE DISCARDING NONE
[S3]display stp brief
MSTID Port Role STP State Protection
0 Ethernet0/0/1 DESI FORWARDING NONE
0 Ethernet0/0/2 ROOT FORWARDING NONE
0 Ethernet0/0/3 DESI FORWARDING NONE
0 Ethernet0/0/10 DESI FORWARDING NONE
0 Ethernet0/0/11 DESI FORWARDING NONE
//通过观察发现在 S2 与 S3 间的链路上,选择了 S3 的 E 0/0/3 接口为指定端口,而 S2 的E 0/0/3 接口为 Alternate 端口。这是由于在选举指定端口时,首先比较两个端口的根路径开销,目前都相同,接着比较上行交换机的交换机 ID,此时 S2 和 S3 的交换机优先级相同,故比较 MAC 地址,最后通过比较 MAC 地址得出//查看 S2 和 S3 的 E 0/0/3 接口信息。
<S2>display interface Ethernet 0/0/3
Ethernet0/0/3 current state : UP
……
Current system time: 2013-08-30 13:48:06-08:00
Hardware address is 4c1f-ccbf-cbb5
Last 300 seconds input rate 0 bytes/sec, 0 packets/sec
……
<S3>display interface Ethernet 0/0/3
Ethernet0/0/3 current state : UP
……
Current system time: 2013-08-30 13:49:15-08:00
Hardware address is 4c1f-cc00-58df
Last 300 seconds input rate 0 bytes/sec, 0 packets/sec
……
//可以观察到, S2 上 E 0/0/3 接口的 MAC 地址大于 S3 上 E0/0/3 接口的 MAC 地址,所以该网段上 S3 的 E0/0/3 接口成为指定接口。//修改 S3 的 E 0/0/2 接口的开销值,将该值增大(默认为 1),即增大该端口上的根路径开销,确保让 S2 的 E 0/0/3 接口成为指定端口
[S3]interface Ethernet 0/0/2
[S3-Ethernet0/0/2]stp cost 2//配置完成后查看 S2 的 STP 状态摘要信息。
[S2]display stp brief
MSTID Port Role STP State Protection
0 Ethernet0/0/1 ROOT FORWARDING NONE
0 Ethernet0/0/2 DESI FORWARDING NONE
0 Ethernet0/0/3 DESI FORWARDING NONE
//根据 STP 计算规则选择指定端口时,最终选择 S2 的 E0/0/3 接口作为指定端口。//为了验证现在能够确保S2的E0/0/3接口能成为指定端口,将S3的优先级调整为4096,并查看。
[S3]stp priority 4096
[S3]display stp
-------[CIST Global Info][Mode STP]-------
CIST Bridge :4096 .4c1f-cc00-58df
Config Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
……
//配置完成后观察到 S3 的优先级已调整为 4096。//再次查看 S2 和 S3 的 STP 状态。
[S2]display stp brief
MSTID Port Role STP State Protection
0 Ethernet0/0/1 ROOT FORWARDING NONE
0 Ethernet0/0/2 DESI FORWARDING NONE
0 Ethernet0/0/3 DESI FORWARDING NONE
[S3]display stp brief
MSTID Port Role STP State Protection
0 Ethernet0/0/1 DESI FORWARDING NONE
0 Ethernet0/0/2 ROOT FORWARDING NONE
0 Ethernet0/0/3 ALTE DISCARDING NONE
……
//通过观察,即使修改了 S3 的优先级,目前比 S2 的优先级值更低,但是 S2 的 E 0/0/3接口仍然为指定端口,而 S3 的 E 0/0/3 接口还是 Alternate 端口。验证了在选举指定端口时首先比较根路径开销的规则。

在选举指定端口时首先比较根路径开销

RSTP和MSTP在STP的基础上进行了改进,本次项目暂时不需要新增的功能,因此跳过这一部分。

5、其他交换技术

5.1、Eth-Trunk链路交换技术

原理概述:

​ 在没有使用 Eth-Trunk 前,百兆以太网的双绞线在两个互连的网络设备间的带宽仅为100Mbit/s。若想达到更高的数据传输速率,则需要更换传输媒介,使用千兆光纤或升级成为千兆以太网。这样的解决方案成本较高。如果采用 Eth-Trunk 技术把多个接口捆绑在一起,则可以以较低的成本满足提高接口带宽的需求。例如,把 3 个 100Mbit/s 的全双工接口捆绑在一起,就可以达到 300Mbit/s 的最大带宽。

​ Eth-Trunk 是一种捆绑技术,它将多个物理接口捆绑成一个逻辑接口,这个逻辑接口就称为 Eth-Trunk 接口,捆绑在一起的每个物理接口称为成员接口。 Eth-Trunk 只能由以太网链路构成。 Trunk 的优势在于:

​ 负载分担, 在一个 Eth-Trunk 接口内,可以实现流量负载分担;

​ 提高可靠性, 当某个成员接口连接的物理链路出现故障时,流量会切换到其他可用的链路上,从而提高整个 Trunk 链路的可靠性;

​ 增加带宽,Trunk 接口的总带宽是各成员接口带宽之和。

​ Eth-Trunk 在逻辑上把多条物理链路捆绑等同于一条逻辑链路,对上层数据透明传输。所有 Eth-Trunk 中物理接口的参数必须一致, Eth-Trunk 链路两端要求一致的物理参数有:Eth-Trunk 链路两端相连的物理接口类型、物理接口数量、 物理接口的速率、 物理接口的双工方式以及物理接口的流控方式

###拓扑及设备信息:

本实验模拟企业网络环境, S1 和 S2 为企业核心交换机, PC-1 属于 A 部门终端设备,PC-2 属于 B 部门终端设备。 根据企业规划, S1 和 S2 之间线路原由 1 条光纤线路相连,但是由于带宽和冗余角度考虑需要对其进行升级, 需要使用 Eth-Trunk 实现此需求。

1、基本配置

检测连通性,此处省略

由于本实验场景需要,请首先将 S1 与 S2 上互连的 GE 0/0/2 和 GE 0/0/5 接口关闭。

[S1]interface GigabitEthernet 0/0/2
[S1-GigabitEthernet0/0/2]shutdown
[S1-GigabitEthernet0/0/2]interface GigabitEthernet 0/0/5
[S1-GigabitEthernet0/0/5]shutdown[S2]interface GigabitEthernet 0/0/2
[S2-GigabitEthernet0/0/2]shutdown
[S2-GigabitEthernet0/0/2]interface GigabitEthernet 0/0/5
[S2-GigabitEthernet0/0/5]shutdown

2、未配置Eth-Trunk时的现象验证

通过增加链路的方式来提升带宽。在原有的网络基础上再增加一条链路来提高带宽,原链路只有一条,带宽为 1Gb/s,再增加一条链路,将带宽增加到 2Gb/s。

//模拟链路增加,开启 S1 和 S2 上的 GE 0/0/2 接口。
[S1]interface GigabitEthernet 0/0/2
[S1-GigabitEthernet0/0/2]undo shutdown
[S2]interface GigabitEthernet 0/0/2
[S2-GigabitEthernet0/0/2]undo shutdown//增加链路后,在该组网拓扑下,默认开启的 STP 协议一定会将其中一条链路阻塞掉
//查看 S1 和 S2 的 STP 状态信息。
[S1]display stp brief
MSTID Port Role STP State Protection
0 GigabitEthernet0/0/1 DESI FORWARDING NONE
0 GigabitEthernet0/0/2 DESI FORWARDING NONE
0 GigabitEthernet0/0/3 DESI FORWARDING NONE
[S2]display stp brief
MSTID Port Role STP State Protection
0 GigabitEthernet0/0/1 ROOT FORWARDING NONE
0 GigabitEthernet0/0/2 ALTE DISCARDING NONE
0 GigabitEthernet0/0/3 DESI FORWARDING NONE
//可以观察到 S2 的 GE 0/0/2 接口处于丢弃状态。如果要实质性的增加 S1 和 S2 之间的带宽,显然单靠增加链路条数是不够的。 生成树会阻塞多余接口, 使得目前 S1 与 S2 之间的数据仍然仅通过 GE 0/0/1 接口传输。

3、配置Eth-Trunk实现链路聚合(手工负载分担模式)

​ 通过上一步骤,发现仅靠简单增加互联的链路,不但无法解决目前带宽不够用的问题,还会再切换时带来断网的问题,显然是不合理的。此时通过配置 Eth-Trunk 链路聚合来增加链路带宽,并可确保冗余链路被使用。

Eth-Trunk 工作模式可以分为两种:

  • 手工负载分担模式:需要手动创建链路聚合组,并配置多个接口加入到所创建的Eth-trunk 中。
  • 静态 LACP 模式:该模式通过 LACP 协议协商 Eth-trunk 参数后并自主选择活动接口。
//在 S1 和 S2 上配置链路聚合,创建 Eth-Trunk 1 接口,并指定为手工负载分担模式。
[S1]interface Eth-Trunk 1
[S1-Eth-Trunk1]mode manual load-balance[S2]interface Eth-Trunk 1
[S2-Eth-Trunk1]mode manual load-balance//将 S1 和 S2 的 GE 0/0/1 和 GE 0/0/2 分别加入到 Eth-Trunk 1 接口。
[S1]interface GigabitEthernet 0/0/1
[S1-GigabitEthernet0/0/1]eth-trunk 1
[S1-GigabitEthernet0/0/1]interface GigabitEthernet 0/0/2
[S1-GigabitEthernet0/0/2]eth-trunk 1[S2]interface GigabitEthernet 0/0/1
[S2-GigabitEthernet0/0/1]eth-trunk 1
[S2-GigabitEthernet0/0/1]interface GigabitEthernet 0/0/2
[S2-GigabitEthernet0/0/2]eth-trunk 1//配置完成后, 使用 display eth-trunk 命令查看 S1 和 S2 的 Eth-Trunk 1 接口状态。
[S1]display eth-trunk 1
Eth-Trunk1's state information is:
WorkingMode: NORMAL Hash arithmetic: According to SIP-XOR-DIP
Least Active-linknumber: 1 Max Bandwidth-affected-linknumber: 8
Operate status: up Number Of Up Port In Trunk: 2
----------------------------------------------------------------------------
PortName Status Weight
GigabitEthernet0/0/1 Up 1
GigabitEthernet0/0/2 Up 1
[S2]display eth-trunk 1
Eth-Trunk1's state information is:
WorkingMode: NORMAL Hash arithmetic: According to SIP-XOR-DIP
Least Active-linknumber: 1 Max Bandwidth-affected-linknumber: 8
Operate status: up Number Of Up Port In Trunk: 2
----------------------------------------------------------------------------
PortName Status Weight
GigabitEthernet0/0/1 Up 1
GigabitEthernet0/0/2 Up 1
//可以观察到,S1与S2的工作模式为NORMAL(手工负载分担方式),GE 0/0/1与GE 0/0/2接口已经添加到 Eth-Trunk 1 中,并且处于 UP 状态。//使用 display interface eth-trunk 命令查看 S2 的 Eth-Trunk 1 接口信息。
[S2]display interface Eth-Trunk 1
Eth-Trunk1 current state : UP
Line protocol current state : UP
Description:
Switch Port, PVID : 1, Hash arithmetic : According to SIP-XOR-DIP,Maximal BW:
4294967.29G, Current BW: 4294967.29G, The Maximum Frame Length is 9216
IP Sending Frames' Format is PKTFMT_ETHNT_2, Hardware address is 4c1f-cc71-68d4
Current system time: 2013-06-29 22:34:26-08:00
Input bandwidth utilization : 0%
Output bandwidth utilization : 0%
-----------------------------------------------------
PortName Status Weight
-----------------------------------------------------
GigabitEthernet0/0/1 UP 1
GigabitEthernet0/0/2 UP 1
-----------------------------------------------------
The Number of Ports in Trunk : 2
The Number of UP Ports in Trunk : 2
//可以观察到,目前该接口的总带宽,是 GE 0/0/1 和 GE 0/0/2 接口带宽之和:Maximal BW:
4294967.29G//查看 S2 接口的生成树状态。
[S2]display stp brief
MSTID Port Role STP State Protection
0 GigabitEthernet0/0/3 DESI FORWARDING NONE
0 Eth-Trunk1 ROOT FORWARDING NONE
//可以观察到, S2 的 2 个接口被捆绑成一个 Eth-Trunk 接口,并且该接口现在处于转发状态。//使用 ping 命令持续测试,同时将 S2 的 GE 0/0/1 或者 GE 0/0/2 接口关闭模拟故障发生。
PC>ping 10.0.1.2 -t
Ping 10.0.1.2: 32 data bytes, Press Ctrl_C to break
From 10.0.1.2: bytes=32 seq=1 ttl=128 time=63 ms
From 10.0.1.2: bytes=32 seq=2 ttl=128 time=31 ms
From 10.0.1.2: bytes=32 seq=3 ttl=128 time=31 ms
From 10.0.1.2: bytes=32 seq=4 ttl=128 time=16 ms
From 10.0.1.2: bytes=32 seq=5 ttl=128 time=31 ms
Request timeout!
From 10.0.1.2: bytes=32 seq=7 ttl=128 time=47 ms
From 10.0.1.2: bytes=32 seq=8 ttl=128 time=15 ms
From 10.0.1.2: bytes=32 seq=9 ttl=128 time=31 ms
From 10.0.1.2: bytes=32 seq=10 ttl=128 time=16 ms
//可以观察到,当链路故障发生时,链路立刻进行切换,数据包仅丢了一个,并且只要物理链路有一条是正常的, Eth-Trunk 接口就不会断开,仍然可以保证数据的转发。 Eth-Trunk在提高了带宽的情况下,也实现了链路冗余。 模拟完成后将 S2 接口恢复。

4、配置Eth-Trunk实现链路聚合(静态LACP模式)

 在上一步骤中,两条链路中,假设一条链路出现了故障,只有一条链路正常工作的情况

下无法保证带宽。现在再部署一条链路作为备份链路,并采用静态 LACP模式配置 Eth-Trunk 实现两条链路同时转发,一条链路备份,当其中一条转发链路出现问题的时候,备份链路可立即进行数据转发 。

//开启 S1 与 S2 上的 GE 0/0/5 接口模拟增加了一条新链路。
[S1]interface GigabitEthernet 0/0/5
[S1-GigabitEthernet0/0/5]undo shutdown
[S2]interface GigabitEthernet 0/0/5
[S2-GigabitEthernet0/0/5]undo shutdown//在 S1 和 S2 上的 Eth-Trunk 1 接口下,将工作模式改为静态 LACP 模式。
[S1]interface Eth-Trunk 1
[S1-Eth-Trunk1]mode lacp-static
Error: Error in changing trunk working mode. There is(are) port(s) in the trunk.[S2]interface Eth-Trunk 1
[S2-Eth-Trunk1]mode lacp-static
Error: Error in changing trunk working mode. There is(are) port(s) in the trunk.//发现报错,此时需要将先前已经加入到 Eth-Trunk 接口下的物理接口先删除。
[S1]interface GigabitEthernet 0/0/1
[S1-GigabitEthernet0/0/1]undo eth-trunk 1
[S1-GigabitEthernet0/0/1]interface GigabitEthernet 0/0/2
[S1-GigabitEthernet0/0/2]undo eth-trunk 1[S2]interface GigabitEthernet 0/0/1
[S2-GigabitEthernet0/0/1]undo eth-trunk 1
[S2-GigabitEthernet0/0/1]interface GigabitEthernet 0/0/2
[S2-GigabitEthernet0/0/2]undo eth-trunk 1//删除完成后,再在 S1 和 S2 上的 Eth-Trunk 1 接口下,将工作模式改为静态 LACP 模式,并将 S1 和 S2 的 GE 0/0/1, GE 0/0/2 和 GE 0/0/5 接口分别加入到 Eth-Trunk 1 接口。
[S1]interface Eth-Trunk 1
[S1-Eth-Trunk1]mode lacp-static
[S1-Eth-Trunk1]interface GigabitEthernet 0/0/1
[S1-GigabitEthernet0/0/1]eth-trunk 1
[S1-GigabitEthernet0/0/1]interface GigabitEthernet 0/0/2
[S1-GigabitEthernet0/0/2]eth-trunk 1
[S1-GigabitEthernet0/0/2]interface GigabitEthernet 0/0/5
[S1-GigabitEthernet0/0/5]eth-trunk 1[S2]interface Eth-Trunk 1
[S2-Eth-Trunk1]mode lacp-static
[S2-Eth-Trunk1]interface GigabitEthernet 0/0/1
[S2-GigabitEthernet0/0/1]eth-trunk 1
[S2-GigabitEthernet0/0/1]interface GigabitEthernet 0/0/2
[S2-GigabitEthernet0/0/2]eth-trunk 1
[S2-GigabitEthernet0/0/2]interface GigabitEthernet 0/0/5
[S2-GigabitEthernet0/0/5]eth-trunk 1//配置完成后,查看 S1 的 Eth-Trunk 1 接口状态。
[S1]display eth-trunk 1
Eth-Trunk1's state information is:
Local:
LAG ID: 1 WorkingMode: STATIC
Preempt Delay: Disabled Hash arithmetic: According to SIP-XOR-DIP
System Priority: 32768 System ID: 4c1f-cc55-b90f
Least Active-linknumber: 1 Max Active-linknumber: 8
Operate status: up Number Of Up Port In Trunk: 3
----------------------------------------------------------------------------
//可以观察到,三个接口默认都处于活动状态( Selected)。
ActorPortName Status PortType PortPri PortNo PortKey PortState Weight
GigabitEthernet0/0/2 Selected 1000TG 32768 3 401 10111100 1
GigabitEthernet0/0/1 Selected 1000TG 32768 2 401 10111100 1
GigabitEthernet0/0/5 Selected 1000TG 32768 6 401 10111100 1
Partner:
----------------------------------------------------------------------------
ActorPortName SysPri SystemID PortPri PortNo PortKey PortState
GigabitEthernet0/0/2 32768 4c1f-cc71-68d4 32768 3 401 10111100
GigabitEthernet0/0/1 32768 4c1f-cc71-68d4 32768 2 401 10111100
GigabitEthernet0/0/5 32768 4c1f-cc71-68d4 32768 6 401 10111100//将 S1 的系统优先级从默认的 32768 改为 100,使其成为主动端(值越低优先级越高)。按照主动端设备的接口来选择活动接口。 两端设备选出主动端后, 两端都会以主动端的接口优先级来选择活动接口。两端设备选择了一致的活动接口,活动链路组便可以建立起来,从这些活动链路中以负载分担的方式转发数据。
[S1]lacp priority 100//配置完成后,查看 S1 的 Eth-Trunk 1 接口状态。
[S1]display eth-trunk 1
Eth-Trunk1's state information is:
Local:
LAG ID: 1 WorkingMode: STATIC
Preempt Delay: Disabled Hash arithmetic: According to SIP-XOR-DIP
System Priority: 100 System ID: 4c1f-cc55-b90f
Least Active-linknumber: 1 Max Active-linknumber: 8
……
//可以观察到,已经将 S1 的 LACP 系统优先级改为 100,而 S2 没修改,仍为默认值。//在 S1 上配置活动接口上限阈值为 2。
[S1]interface Eth-Trunk 1
[S1-Eth-Trunk1]max active-linknumber 2
//在 S1 上配置接口的优先级确定活动链路。
//配置接口的活动优先级将默认的 32768 改为 100,目的是为了使得 GE 0/0/1 和 GE 0/0/2接口成为活动状态。
[S1]interface GigabitEthernet 0/0/1
[S1-GigabitEthernet0/0/1]lacp priority 100
[S1-GigabitEthernet0/0/1]interface GigabitEthernet 0/0/2
[S1-GigabitEthernet0/0/2]lacp priority 100//配置完成后,查看 S1 的 Eth-Trunk 1 接口状态。
[S1]display eth-trunk 1
Eth-Trunk1's state information is:
Local:
LAG ID: 1 WorkingMode: STATIC
Preempt Delay: Disabled Hash arithmetic: According to SIP-XOR-DIP
System Priority: 100 System ID: 4c1f-cc55-b90f
Least Active-linknumber: 1 Max Active-linknumber: 2
Operate status: up Number Of Up Port In Trunk: 2
----------------------------------------------------------------------------
ActorPortName Status PortType PortPri PortNo PortKey PortState Weight
GigabitEthernet0/0/2 Selected 1000TG 100 3 401 10111100 1
GigabitEthernet0/0/1 Selected 1000TG 100 2 401 10111100 1
GigabitEthernet0/0/5 Unselect 1000TG 32768 6 401 10100000 1
Partner:
……
//可以观察到,由于将接口的阈值改为 2(默认活动接口最大阈值为 8),该 Eth-Trunk 接口下将只有两个成员处于活动状态,并且具有负载分担能力。而 GE 0/0/5 接口已处于不活动状态( Unselect),该链路作为备份链路。当活动链路出现故障时,备份链路将会替代故障链路,保持数据传输的可靠性//将 S1 的 GE 0/0/1 接口关闭,验证 Eth-Trunk 链路聚合信息。
[S1]interface GigabitEthernet 0/0/1
[S1-GigabitEthernet0/0/1]shutdown
[S1-GigabitEthernet0/0/1]display eth-trunk 1
Eth-Trunk1's state information is:
Local:
LAG ID: 1 WorkingMode: STATIC
Preempt Delay: Disabled Hash arithmetic: According to SIP-XOR-DIP
System Priority: 100 System ID: 4c1f-cc27-e139
Least Active-linknumber: 1 Max Active-linknumber: 2
Operate status: up Number Of Up Port In Trunk: 2
----------------------------------------------------------------------------
ActorPortName Status PortType PortPri PortNo PortKey PortState Weight
GigabitEthernet0/0/1 Unselect 1GE 100 2 305 10100010 1
GigabitEthernet0/0/2 Selected 1GE 100 3 305 10111100 1
GigabitEthernet0/0/5 Selected 1GE 32768 6 305 10111100 1
Partner:
……
//可以观察到, S1 的 GE 0/0/1 接口已经处于不活动状态,而 GE 0/0/5 接口为活动状态。将 S1 的 GE 0/0/1 接口开启后,又会恢复为活动状态,GE 0/0/5 则为不活动状态,现象省略。

至此,完成了整个 Eth-Trunk 的部署。

6、OSPF

开放式最短路径优先(Open Shortest Path First,OSPF)是广泛使用的一种动态路由协议,它属于链路状态路由协议,具有路由变化收敛速度快、无路由环路、支持变长子网掩码(VLSM)和汇总、层次区域划分等优点。

6.1、OSPF单区域设置

原理概述:

​ OSPF 作为基于链路状态的协议,具有收敛快、路由无环、 扩展性好等优点, 被快速接受并广泛使用。 链路状态算法路由协议互相通告的是链路状态信息,每台路由器都将自己的链路状态信息(包含接口的 IP 地址和子网掩码、 网络类型、 该链路的开销等)发送给其他路由器, 并在网络中泛洪, 当每台路由器收集到网络内所有链路状态信息后,就能拥有整个网络的拓扑情况,然后根据整网拓扑情况运行 SPF 算法,得出到所有网段的最短路径。

​ OSPF 支持区域的划分, 区域是从逻辑上将路由器划分为不同的组,每个组用区域号( Area ID)来标识。一个网段(链路)只能属于一个区域,或者说每个运行 OSPF 的接口必须指明属于哪一个区域。 区域 0 为骨干区域,骨干区域负责在非骨干区域之间发布区域间的路由信息, 在一个 OSPF 区域中只能有一个骨干区域。

拓扑及设备信息:

本实验模拟企业网络场景,该公司有三大办公区,每个办公区放置了一台路由器, R1
放在办公区 A, A 区经理的 PC-1 直接连接 R1; R2 放在办公区 B, B 区经理的 PC-2 直接连
接到 R2; R3 放在办公区 C, C 区经理的 PC-3 直接连接到 R3;三台路由器都互相直连,为
了能使整个公司网络互相通信,需要在所有路由器上部署路由协议,考虑到公司未来的发展
(部门的增加和分公司的成立), 为了适应不断扩展的网络的需求,公司在所有路由器上部
署 OSPF 协议,且现在所有路由器都属于骨干区域。

1、部署单区域OSPF网络

//首先使用命令 ospf 创建并运行 OSPF。
<R1>system-view
[R1]ospf 1
//1代表的是进程号,如果没有写明进程号,默认是 1//接着使用命令 area 创建区域并进入 OSPF 区域视图, 输入要创建的区域 ID。由于本实验为 OSPF 单区域配置,所以使用骨干区域,即区域 0 即可。
[R1-ospf-1]area 0//再使用 network 命令来指定运行 OSPF 协议的接口和接口所属的区域。本实验中 R1 上的三个物理接口都需要指定。配置中需注意, 尽量精确匹配所通告的网段
[R1-ospf-1-area-0.0.0.0]network 172.16.10.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0]network 172.16.20.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0]network 172.16.1.0 0.0.0.255//配置完成后使用命令 display ospf interface 检查 OSPF 接口通告是否正确。
[R1]display ospf interface
OSPF Process 1 with Router-ID 172.16.1.254Interfaces
Area: 0.0.0.0 (MPLS TE not enabled)
IP Address Type State Cost Pri DR BDR
172.16.1.254 Broadcast DR 1 1 172.16.1.254 0.0.0.0
172.16.10.1 Broadcast DR 1 1 172.16.10.1 0.0.0.0
172.16.20.1 Broadcast DR 1 1 172.16.20.1 0.0.0.0
//可以观察到本地 OSPF 进程使用的 Router-ID 是 172.16.1.254。 在此进程下, 有三个接口加入了 OSPF 进程。 网络类型为以太网默认的广播网络类型。 State 为该接口当前的状态,显示为 DR 状态,即表示为这三个接口在它们所在的网段中都被选举为 DR//在 R2 和 R3 上做相应配置,配置方法和 R1 相同,不再赘述
<R2 R3>system-view
[R2 R3]ospf 1
[R2 R3-ospf-1]area 0
[R2 R3-ospf-1-area-0.0.0.0]network 172.16.10.0 0.0.0.255
[R2 R3-ospf-1-area-0.0.0.0]network 172.16.30.0 0.0.0.255
[R2 R3-ospf-1-area-0.0.0.0]network 172.16.2.0 0.0.0.255

2、检查OSPF单区域的配置结果

//以 R1 为例使用 display ospf peer 命令查看 OSPF 邻居状态。
<R1>display ospf peer
OSPF Process 1 with Router-ID 172.16.1.254Neighbors
Area 0.0.0.0 interface 172.16.10.1(GigabitEthernet0/0/0)'s neighbors
Router-ID: 172.16.2.254 Address: 172.16.10.2
State: Full Mode:Nbr is Master Priority: 1
DR: 172.16.10.1 BDR: 172.16.10.2 MTU: 0
...Neighbors
Area 0.0.0.0 interface 172.16.20.1(GigabitEthernet0/0/1)'s neighbors
Router-ID: 172.16.3.254 Address: 172.16.20.3
State: Full Mode:Nbr is Master Priority: 1
DR: 172.16.20.1 BDR: 172.16.20.3 MTU: 0
...
//通过 Router-ID 可以查看邻居的路由器标识
//通过 Address 可以查看邻居的 OSPF 接口 IP 地址
//通过 State 可以查看目前与该路由器的OSPF 邻居状态
//通过 Priority 可以查看当前该邻居 OSPF 接口的 DR 优先级//使用 display ip routing-table protocol ospf 命令查看 R1 上的 OSPF 路由表
<R1>display ip routing-table protocol ospf
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------
Public routing table : OSPF
Destinations : 3 Routes : 4
OSPF routing table status : <Active>
Destinations : 3 Routes : 4
Destination/Mask Proto Pre Cost Flags NextHop Interface
172.16.2.0/24 OSPF 10 2 D 172.16.10.2 GigabitEthernet0/0/0
172.16.3.0/24 OSPF 10 2 D 172.16.20.3 GigabitEthernet0/0/1
172.16.30.0/24 OSPF 10 2 D 172.16.10.2 GigabitEthernet0/0/0
OSPF 10 2 D 172.16.20.3 GigabitEthernet0/0/1
OSPF routing table status : <Inactive>
Destinations : 0 Routes : 0
//“Destination/Mask” 标识了目的网段的前缀及掩码
//“Proto”标识了此路由信息是通过 OSPF 协议获取到的
//“Pre” 标识了路由优先级
//“Cost” 标识了开销值
//“NextHop” 标识了下一跳地址
//“Interface” 标识了此前缀的出接口

此时 R1 的路由表中已经拥有了去往网络中所有其他网段的路由条目。 R2 与 R3 上的现
象一样,此处不再赘述。

//在PC-1上用ping命令测试与PC-3间的连通性
PC>ping 172.16.3.1
Ping 172.16.3.1: 32 data bytes, Press Ctrl_C to break
From 172.16.3.1: bytes=32 seq=1 ttl=126 time=31 ms
From 172.16.3.1: bytes=32 seq=2 ttl=126 time=32 ms
From 172.16.3.1: bytes=32 seq=3 ttl=126 time=15 ms
From 172.16.3.1: bytes=32 seq=4 ttl=126 time=16 ms
From 172.16.3.1: bytes=32 seq=5 ttl=126 time=16 ms
--- 172.16.3.1 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 15/22/32 ms
//通信正常,其他测试省略

OSPF 多区域配置等功能本项目暂时不使用,此处省略

6.2、使用OSPF默认路由

原理概述:

​ 默认路由是指目的地址和掩码都是 0 的路由条目。当路由器无精确匹配的路由时,就可以通过默认路由进行报文转发。 如果报文的目的地址不在路由表的默认路由中,那么该报文将被路由器丢弃,并向源端返回一个 ICMP 报文,报告该目的地址或网络不可达。

​ 合理使用默认路由,可以很大程度减小本地路由表的大小,节约设备资源。 默认路由可以在路由器上手工配置,也可以由路由协议自动发布。

此处参考博客:https://blog.csdn.net/weixin_45728716/article/details/104433800

1、OSPF下放默认路由的方法

default-route-advise always

2、OSPF下放默认路由的方法

在出口路由器R1中下放默认路由:

如图,在内网运行ospf,现在访问ISP上的一个地址8.8.8.8,R1作为出口路由器配置了一条默认路由。R1可以正常访问8.8.8.8。

R1可以正常访问8.8.8.8,但是R2、R3是没有去8.8.8.8的路由的,所以此时需要在R1上下放默认路由。

[R1]ospf
[R1-ospf-1]default-route-advertise//查看R2、R3的路由表是否收到默认路由
[R2 R3]dis ip rout
...
Destination/Mask  Proto  Pre  Cost  Flags  NextHop  Interface
0.0.0.0/0         O_ASE  150    1     D    12.1.1.1 Gig...
...
[R3]dis ip routing-table
...

7、VRRP

虚拟路由冗余协议(Virtual Router Redundancy Protocol,简称VRRP)是由IETF提出的解决局域网中配置静态网关出现单点失效现象的路由协议,1998年已推出正式的RFC2338协议标准。VRRP广泛应用在边缘网络中,它的设计目标是支持特定情况下IP数据流量失败转移不会引起混乱,允许主机使用单路由器,以及即使在实际第一跳路由器使用失败的情形下仍能够维护路由器间的连通性。

7.1、VRRP基本配置

原理概述:

​ 随着 Internet 的发展,人们对网络可靠性的要求越来越高。对于用户来说,能够时刻与外部网络保持通信非常重要,但内部网络中的所有主机通常只能设置一个网关 IP 地址,通过该出口网关实现主机与外部网络的通信。若此时出口网关设备发生故障,主机与外部网络的通信就会中断, 所以配置多个出口网关是提高网络可靠性的常用方法。 为此 IETF 组织推出了 VRRP 协议, 使得在多个出口网关的情况下主机仅需配置一个虚拟网关 IP 地址作为出口网关即可, 解决了局域网主机访问外部网络的可靠性问题。

​ VRRP( Virtual Router Redundancy Protocol)全称是虚拟路由冗余协议, 它是一种容错协议。该协议通过把几台路由设备联合组成一台虚拟的路由设备, 该虚拟路由器在本地局域网拥有唯一的一个虚拟 ID 和虚拟 IP 地址。实际上该虚拟路由器是由一个 Master 设备和若干 Backup 设备组成。正常情况下,业务全部由 Master 承担,所有客户端仅需设置此虚拟 IP为网关地址。当 Master 出现故障时, Backup 接替工作,及时将业务切换到备份路由器,从而保持通讯的连续性和可靠性。 而客户端无需做任何配置更改,对故障无感知。

​ VRRP 的 Master 选举基于优先级,优先级取值范围是 0- 255,缺省情况下,配置优先级为 100,在接口上可以配置优先级的大小来手工选择 Master 设备。

拓扑及设备信息:

​ 本实验模拟企业网络场景,公司内员工如 PC-1、 PC-2 通过交换机 LSW1 连接到公司网络, LSW1 连接到公司出口网关路由器。 为了提高网络的可靠性,公司使用两台路由器 R2与 R3 作为双出口连接到外网路由器 R1。 R1、 R2、 R3 之间运行 OSPF 协议。在双网关的情况下,如果在 PC 上配置 R2 或 R3 的真实 IP 地址作为网关,当其中一台路由器故障时,就需要手动更改 PC 的网关 IP,若网络中有大量 PC 则需要耗费大量时间和人力去更改配置,且会带来一定时间的断网影响。 为了能够使故障所造成的断网影响达到最小化, 增强网络的可靠性,网络管理员在 R2 与 R3 之间部署 VRRP 协议,可以使得当任一网关发生故障时能自动切换而无需更改 PC 的网关 IP 地址。

1、部署OSPF网络

//在公司的出口网关路由器 R1,R2,和外网路由器 R3 上配置 OSPF 协议,使用进程号 1,且所有网段均通告进区域 0 中。
[R1]ospf 1
[R1-ospf-1]area 0
[R1-ospf-1-area-0.0.0.0]network 172.16.2.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0]network 172.16.3.0 0.0.0.255[R2]ospf 1
[R2-ospf-1]area 0
[R2-ospf-1-area-0.0.0.0]network 172.16.1.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0]network 172.16.2.0 0.0.0.255[R3]ospf 1
[R3-ospf-1]area 0
[R3-ospf-1-area-0.0.0.0]network 172.16.1.0 0.0.0.255
[R3-ospf-1-area-0.0.0.0]network 172.16.3.0 0.0.0.255//配置完成后,在 R1 上检查 OSPF 邻居建立情况。
[R1]display ospf peer brief
OSPF Process 1 with Router-ID 172.16.2.254
Peer Statistic Information
----------------------------------------------------------------------------
Area Id Interface Neighbor id State
0.0.0.0 GigabitEthernet0/0/0 172.16.1.100 Full
0.0.0.0 GigabitEthernet0/0/1 172.16.1.200 Full
----------------------------------------------------------------------------
//可以观察到,此时 R1 已经于 R2, R3 成功建立起了 OSPF 邻居关系。

2、配置VRRP协议

为了提高网络的可靠性,针对两台出口网关路由器实现主备备份。即正常情况下,只有主网关工作,当其发生故障时能够自动切换到备份网关。现在通过配置 VRRP 协议来实现这样的需求。

//在 R2 和 R3 上配置 VRRP 协议, 使用命令 vrrp vrid virtual-ip 创建 VRRP 备份组,指定即R1和R2处于同一个VRRP 备份组内,VRRP 备份组号为 1,配置虚拟 IP 为172.16.1.254。注意虚拟 IP 地址必须和当前接口在同一网段。
[R2]interface ethernet 1/0/1
[R2-Ethernet1/0/1]vrrp vrid 1 virtual-ip 172.16.1.254[R3]interface ethernet 1/0/1
[R3-Ethernet1/0/1]vrrp vrid 1 virtual-ip 172.16.1.254
//经过这样的配置后, PC 将使用虚拟路由器 IP 地址作为默认网关。

​ 在 VRRP 协议中,优先级决定路由器在备份组中的角色,优先级高者成为 Master。 如果优先级相同,比较接口的 IP 地址大小,较大的成为 Master。优先级值缺省为 100, 0 被系统保留, 255 保留给 IP 地址拥有者使用。

//现在配置R2的优先级为120,R3的优先级保持默认100不变,这将使得R2成为Master,R3 为 Backup。[R2-Ethernet1/0/1]vrrp vrid 1 priority 120
//配置完成后,在 R2 和 R3 上使用 display vrrp 查看 VRRP 信息。
[R2]display vrrp
Ethernet1/0/1 | Virtual Router 1
State : Master
Virtual IP : 172.16.1.254
Master IP : 172.16.1.100
PriorityRun : 120
PriorityConfig : 120
MasterPriority : 120
Preempt : YES Delay Time : 0 s
……
[R3]display vrrp
Ethernet1/0/1 | Virtual Router 1
State : Backup
Virtual IP : 172.16.1.254
Master IP : 172.16.1.100
PriorityRun : 100
PriorityConfig : 100
MasterPriority : 120
Preempt : YES Delay Time : 0 s
……
//可以观察到现在 R2 的 VRRP 状态是 Master,R3 是 Backup。两者都处在 VRRP 备份组1 中,且都是 E 0/0/1 接口运行在 VRRP 协议中。输出信息中的 PriorityRun 表示设备当前的运行优先级,PriorityConfig 表示为该设备配置的优先级,MasterPriority 为该备份组中Master的优先级。
//般配置优先级就是运行优先级,但个别情况下可能运行优先级和配置优先级会不一样
//也可以使用命令display vrrp brief 或 display vrrp interface来显示VRRP的工作状态,以 R2 为例
[R2]display vrrp brief
VRID State Interface Type Virtual IP
----------------------------------------------------------------
1 Master Eth1/0/1 Normal 172.16.1.254
----------------------------------------------------------------
Total:1 Master:1 Backup:0 Non-active:0[R2]display vrrp interface ethernet1/0/1
Ethernet1/0/1 | Virtual Router 1
State : Master
Virtual IP : 172.16.1.254
Master IP : 172.16.1.100
PriorityRun : 120
PriorityConfig : 120
MasterPriority : 120
Preempt : YES Delay Time : 0 s
……
//测试 PC 机访问公网时的数据包转发路径。
PC>tracert 172.16.2.254
traceroute to 172.16.2.254, 8 hops max
(ICMP), press Ctrl+C to stop
1 172.16.1.100 32 ms 31 ms 15 ms
2 172.16.2.254 63 ms 62 ms 47 ms
//可以观察此时都是通过 R2 转发。

3、验证VRRP主备切换

//现在手动模拟网络出现故障,将 LSW1 的 E 0/0/1 接口关闭。
[LSW1]interface ethernet 0/0/1
[LSW1-Ethernet0/0/1]shutdown//经过 3 秒钟左右后, 使用 display vrrp 查看 R3 的 VRRP 信息。
[R3]display vrrp
Ethernet1/0/1 | Virtual Router 1
State : Master
Virtual IP : 172.16.1.254
Master IP : 172.16.1.200
PriorityRun : 100
PriorityConfig : 100
MasterPriority : 100
Preempt : YES Delay Time : 0 s
……
//可以观察到 R3 切换成为了 Master,从而能够确保用户对公网的访问,几乎感知不到故障的发生。//测试 PC 机访问公网时的数据包转发路径。
PC>tracert 172.16.2.254
traceroute to 172.16.2.254, 8 hops max
(ICMP), press Ctrl+C to stop
1 172.16.1.200 63 ms 15 ms 32 ms
2 172.16.2.254 62 ms 62 ms 32 ms
//发现数据包发送路径已经切换到 R3。//如果 R2 从故障中恢复,手动开启 LSW1 的 E 0/0/1 接口。
[LWS1]interface ethernet 1/0/1
[LSW1-Ethernet1/0/1]undo shutdown
//查看 R2 和 R3 的 VRRP 工作状态。
[R2]display vrrp brief
Total:1 Master:1 Backup:0 Non-active:0
VRID State Interface Type Virtual IP
----------------------------------------------------------------
1 Master Eth1/0/1 Normal 172.16.1.254
[R3]display vrrp brief
Total:1 Master:1 Backup:0 Non-active:0
VRID State Interface Type Virtual IP
----------------------------------------------------------------
1 Backup Eth1/0/1 Normal 172.16.1.254
//可以观察到 Master 设备又立刻重新切换回至 R2。
//测试 PC 机访问公网时的数据包转发路径。
PC>tracert 172.16.2.254
traceroute to 172.16.2.254, 8 hops max
(ICMP), press Ctrl+C to stop
1 172.16.1.100 47 ms 47 ms 46 ms
2 172.16.2.254 78 ms 78 ms 62 ms
//可以验证也切换回 R2 转发。而这整个过程对于用户来说是透明的。

VRRP多备份组等功能暂时不需要,此处略过。感兴趣可查看官方文档

8、DHCP

动态主机配置协议(Dynamic Host Configuration Protocol)是一个局域网的网络协议。指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码。

8.1、配置基于接口地址池的DHCP

原理概述:

​ 随着网络规模的扩大和网络复杂程度的提高,经常出现计算机位置变化(如便携机或无线网络)和计算机数量超过可分配的 IP 地址的情况。 DHCP( Dynamic Host Configuration Protocol,动态主机配置协议)就是为满足这些需求而发展起来的。 DHCP 协议采用客户端/服务器( Client/Server)方式工作,DHCP Client 向 DHCP Server动态地请求配置信息, DHCP Server 根据策略返回相应的配置信息(如 IP 地址等)。

​ DHCP 客户端首次登录网络时,主要通过四个阶段与 DHCP 服务器建立联系。

​ 发现阶段,即 DHCP 客户端寻找 DHCP 服务器的阶段。客户端以广播方式发送DHCP_Discover 报文,只有 DHCP 服务器才会进行响应;

​ 提供阶段,即 DHCP 服务器提供 IP 地址的阶段。 DHCP 服务器接收到客户端的DHCP_Discover 报文后,从 IP 地址池中挑选一个尚未分配的 IP 地址分配给客户端,向该客户端发送包含出租 IP 地址和其它设置的 DHCP_Offer 报文;

​ 选择阶段,即 DHCP 客户端选择 IP 地址的阶段。如果有多台 DHCP 服务器向该客户端发来 DHCP_Offer 报文,客户端只接受第一个收到的 DHCP_Offer 报文,然后以广播方式向各 DHCP 服务器回应 DHCP_Request 报文。

​ 确认阶段,即 DHCP 服务器确认所提供 IP 地址的阶段。当 DHCP 服务器收到 DHCP 客户端回答的 DHCP_Request 报文后,便向客户端发送包含它所提供的 IP 地址和其它设置的DHCP_ACK 确认报文。

拓扑及设备信息:

​ 本实验将路由器 R1 模拟成为公司 DHCP Server,该公司两个部门市场部和财务部下的PC 通过 DHCP 的方式自动配置 IP 地址。网络管理员配置客户端 PC 通过接口地址池的方式自动获取 IP 地址。

1、基本配置

​ 根据实验编址表进行相应的基本 IP 地址配置,由于 PC 是通过 DHCP 自动获取地址,暂时无法测试连通性。交换机为二层设备,无需配置 IP 地址。

[R1]interface GigabitEthernet 0/0/0
[R1-GigabitEthernet0/0/0]ip address 192.168.1.254 24
[R1-GigabitEthernet0/0/0]interface GigabitEthernet 0/0/1
[R1-GigabitEthernet0/0/1]ip address 192.168.2.254 24

2、基于接口配置DHCP Server 功能

//在 R1 上开启 DHCP 功能。
[R1]dhcp enable//在 R1 的 GE 0/0/0 和 GE 0/0/1 接口,配置命令 dhcp select interface 开启接口的 DHCP服务功能,指定从接口地址池分配地址。
[R1]interface GigabitEthernet 0/0/0
[R1-GigabitEthernet0/0/0]dhcp select interface
[R1-GigabitEthernet0/0/0]interface GigabitEthernet 0/0/1
[R1-GigabitEthernet0/0/1]dhcp select interface

​ 接口地址池可动态分配 IP 地址,范围就是接口的 IP 地址所在网段,且只在此接口下有效。当 DHCP 服务器接收到 DHCP 客户端的请求报文后, DHCP 服务器将会使用该接口的地址网段给客户端分配地址。

3、配置基于接口的DHCP Server 租期/DNS 服务器地址

//在 R1 的 GE 0/0/0 接口上使用命令 dhcp server lease 配置 DHCP 服务器接口地址池中 IP地址的租用有效期限为 2 天, GE 0/0/1 接口不修改,使用默认值 1 天,超过租期后该地址将会重新分配。
[R1]interface GigabitEthernet 0/0/0
[R1-GigabitEthernet0/0/0]dhcp server lease day 2//在 GE 0/0/0 接口上使用命令 dhcp server excluded-ip-address 配置接口地址池中不参与自动分配的 IP 地址范围为 192.168.1.1 到 192.168.1.10。
[R1]interface GigabitEthernet 0/0/0
[R1-GigabitEthernet0/0/0]dhcp server excluded-ip-address 192.168.1.1 192.168.1.10

​ 有些地址需要分配给其他的服务,如 DNS 服务器或 HTTP 服务器等需要手工静态配置的 IP 地址,就不能再动态分配给客户端使用,可以执行该命令配置地址池中不参与自动分配的 IP 地址(默认该地址池所有地址参与自动分配,此命令作为可选命令)。

​ 当 DHCP 服务器收到客户端的 DHCP 请求时, DPCP 服务器将会选择地址池中空闲的IP 地址分配给客户端。 GE 0/0/0 接口地址池中 192.168.1.1-192.168.1.10 不参与分配, 而 GE0/0/1 接口没有配置该命令,因此可以分配的 IP 地址范围 192.168.2.1-192.168.2.253(不包括本接口地址)

//在 GE 0/0/1 接口上使用命令 dhcp server dns-list 指定接口地址池下的 DNS 服务器,为PC-2 自动分配 DNS 服务器地址为 8.8.8.8
[R1-GigabitEthernet0/0/1]dhcp server dns-list 8.8.8.8

4、配置DHCP Client

设置PC使用DHCP配置地址:

打开PC-1的基础配置界面,在IPv4配置栏中选择DHCP,点击右下角“应用”;

选择PC-1中的“命令行”界面,输入命令ipconfig查看接口的IP地址;

通过观察发现PC-1已经通过DHCP Server获取到一个IPv4地址,192.168.1.xxx,网关地址为路由器的接口地址192.168.1.254。

//在 R1 上使用命令 display ip pool 查看 DHCP 地址池当中的地址分配情况。
[R1]display ip pool
-----------------------------------------------------------------------
Pool-name : GigabitEthernet0/0/0
Pool-No : 0
Position : Interface Status : Unlocked
Gateway-0 : 192.168.1.254
Mask : 255.255.255.0
VPN instance : --
-----------------------------------------------------------------------
Pool-name : GigabitEthernet0/0/1
Pool-No : 1
Position : Interface Status : Unlocked
Gateway-0 : 192.168.2.254
Mask : 255.255.255.0
VPN instance : --
IP address Statistic
Total :506
Used :1 Idle :495
Expired :0 Conflict :0 Disable :10
//通过该命令观察到目前为基于接口的地址池, 由于有两个接口启用 DHCP 功能,所以地址池也有两个, Pool-name 分别为 GE 0/0/0, GE 0/0/1。 在 DHCP Server 地址池中,网关为 192.168.1.254,掩码为 255.255.255.0, IP 地址池总共可以分配 506 个地址(除了路由器接口地址),已经使用了一个,空闲地址为 495 个,其中地址池中有 10 个地址是不参与分配的。

PC-2的配置与测试方式与PC-1相同,此处省略。

8.2、配置基于全局地址池的DHCP

原理概述:

​ 基于接口地址池的 DHCP 服务器,连接这个接口网段的用户都从该接口地址池中获取IP 地址等配置信息,由于地址池绑定在特定的接口上,可以限制用户的使用条件,在保障了安全性的同时也存在一定局限性。当用户从不同接口接入 DHCP 服务器且需要从同一个地址池里获取 IP 地址时,就需要配置基于全局地址池的 DHCP。

​ 配置基于全局地址池的 DHCP 服务器,从所有接口上连接的用户都可以选择该地址池中的地址, 也就是说全局地址池是一个公共地址池。 在 DHCP 服务器上创建地址池并配置相关属性( 包括地址范围、地址租期、不参与自动分配的 IP 地址等),在配置接口工作在全局地址池模式。 路由器支持工作在全局地址池模式的接口有三层接口及其子接口、三层Ethernet 接口及其子接口、三层 Eth-trunk 接口及其子接口和 VLANIF 接口。

拓扑及设备信息:

​ 本实验将路由器 R1 模拟成为公司 DHCP Server, 配置全局地址池, 该公司两个部门市场部和财务部下的 PC 通过 DHCP 的方式自动配置 IP 地址。

1、基本配置:

​ 根据实验编址表进行相应的基本 IP 地址配置,由于 PC 是通过 DHCP 自动获取地址,暂时无法测试连通性。交换机为二层设备,无需配置 IP 地址。

[R1]interface GigabitEthernet 0/0/0
[R1-GigabitEthernet0/0/0]ip address 192.168.1.254 24
[R1-GigabitEthernet0/0/0]interface GigabitEthernet 0/0/1
[R1-GigabitEthernet0/0/1]ip address 192.168.2.254 24

2、配置基于全局地址池的DHCP Server

//在 R1 上开启 DHCP 功能。
[R1]dhcp enable//使用命令 ip pool 创建一个全局地址池,地址池名称为 huawei1。缺省情况下,设备上没有创建任何全局地址池。
[R1]ip pool huawei1//使用命令 network 配置全局地址池 huawei1 可动态分配的网段范围为 192.168.1.0,如果不指定掩码,默认使用自然掩码,即 24 位掩码。该网段必需与路由器接口 GE 0/0/0 的 IP地址为同一网段。
[R1-ip-pool-huawei1]network 192.168.1.0 //掩码默认为24//使用命令 lease day 配置 DHCP 全局地址池下的地址租期。缺省情况下, IP 地址租期为1 天,对于不同的地址池, DHCP 服务器可以指定不同的地址租用期限,但是同一地址池中的地址具有相同的租期。
[R1-ip-pool-huawei1]lease day 2//配置 DHCP 客户端的出口网关地址。
[R1-ip-pool-huawei]gateway-list 192.168.1.254//配置地址池中 192.168.1.250 到 192.168.1.253 这些地址不参与自动分配。
[R1-ip-pool-huawei1]excluded-ip-address 192.168.1.250 192.168.1.253//由于地址 192.168.1.250 到 192.168.1.253 不参与自动分配,而网关地址也不参与自动分配。 DHCP 服务器将会从地址池中由 192.168.1.249 开始往前分配。//配置 DNS 服务器地址。
[R1-ip-pool-huawei1]dns-list 8.8.8.8//开启接口的 DHCP 功能。使用该命令配置设备指定接口采用全局地址池为客户端分配IP 地址。
[R1]interface GigabitEthernet 0/0/0
[R1-GigabitEthernet0/0/0]dhcp select global//由于路由器需要为两个不同部门分配 IP 地址,即需要两个全局地址池。
//为财务部配置的全局地址池名称为: huawei2, IP 网段为 192.168.2.0,网关地址为192.168.2.254, DNS 服务器地址为 8.8.8.8,配置完成后在 GE 0/0/1 接口下面启用全局地址池的 DHCP 服务器模式。
[R1]ip pool huawei2
[R1-ip-pool-huawei2]network 192.168.2.0
[R1-ip-pool-huawei2]lease day 2
[R1-ip-pool-huawei2]gateway-list 192.168.2.254
[R1-ip-pool-huawei2]dns-list 8.8.8.8
[R1-ip-pool-huawei2]interface GigabitEthernet 0/0/1
[R1-GigabitEthernet0/0/1]dhcp select global//配置完成后,查看 IP 地址池信息。
[R1]display ip pool
-----------------------------------------------------------------------
Pool-name : huawei1
Pool-No : 0
Position : Local Status : Unlocked
Gateway-0 : 192.168.1.254
Mask : 255.255.255.0
VPN instance : --
-----------------------------------------------------------------------
Pool-name : huawei2
Pool-No : 1
Position : Local Status : Unlocked
Gateway-0 : 192.168.2.254
Mask : 255.255.255.0
VPN instance : --
IP address Statistic
Total :506
Used :0 Idle :502
Expired :0 Conflict :0 Disable :4
//通过命令观察到有两个地址池,其中一个地址池为huawei1,另外一个地址池为huawei2,地址池的总数为 506 个,使用了 0 个,空闲 502 个,有 4 个地址不参与分配。

3、配置DHCP Client

设置PC-1使用DHCP配置地址,详细步骤见8.1,此处省略。

8.3、配置DHCP中继

做完才发现本项目不需要使用到DHCP中继,不想看可跳过

原理概述:

​ 由于在 IP 地址动态获取的过程中,客户端采用广播方式发送请求报文, 而广播报文不能跨网段传送, 因此 DHCP 只适用于 DHCP 客户端和服务器处于同一个网段内的情况。 当多个网段都需要进行动态 IP 地址分配时, 就需要在所有网段上都设置一个 DHCP 服务器,这显然是不易管理和维护的。

​ DHCP 中继使客户端可以通过 DHCP 中继与其他网段的 DHCP 服务器通信,最终获取到 IP 地址。 解决了 DHCP 客户端不能跨网段向服务器动态获取 IP 地址的问题, 这样, 在多个不同网络上的 DHCP 客户端可以使用同一个 DHCP 服务器, 这样既节省了成本,又便于进行集中管理和维护。

​ 路由器或三层交换机都可以充当 DHCP 中继设备。 DHCP 中继设备可以转发客户端和服务器间的 DHCP 报文,完成对客户端 IP 地址的动态分配。

拓扑及设备信息:

​ 本实验模拟企业网络场景, 某公司分部的网络由交换机 S1 和网关路由器 R1 组成,员工终端 PC-1 和 PC-2 都连接在 S1 上。公司要求分部内所有员工主机的 IP 地址都通过总部的 DHCP 服务器自动获取。分部网关路由器 R1 通过公网路由器 R2 访问公司总部的 DHCP服务器 R3。由于公司分部与总部不在同一个子网,需要在 R1 上配置 DHCP 中继,使分部内主机能跨网段从总部的 DHCP 服务器自动获取 IP 地址。

1、搭建DHCP网络

//在公司路由器 R1, R2, R3 上都配置运行 OSPF 协议,所有网段都发布到区域 0 中。
[R1]ospf 1
[R1-ospf-1]area 0
[R1-ospf-1-area-0.0.0.0]network 200.1.1.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0]network 10.1.1.0 0.0.0.255
[R2]ospf 1
[R2-ospf-1]area 0
[R2-ospf-1-area-0.0.0.0]network 200.1.1.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0]network 100.1.1.0 0.0.0.255
[R3]ospf 1
[R3-ospf-1]area 0
[R3-ospf-1-area-0.0.0.0]network 100.1.1.0 0.0.0.255//配置完成后,查看路由表信息。
<R1>display ip routing-table
Route Flags: R - relay, D - download to fib
----------------------------------------------------------------------------
Routing Tables: Public
Destinations : 7 Routes : 7
Destination/Mask Proto Pre Cost Flags NextHop Interface
10.1.1.0/24 Direct 0 0 D 10.1.1.254 Ethernet1/0/1
10.1.1.254/32 Direct 0 0 D 127.0.0.1 Ethernet1/0/1
100.1.1.0/24 OSPF 10 D 200.1.1.2 GigabitEthernet0/0/0
127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0
127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
200.1.1.0/24 Direct 0 0 D 200.1.1.1 GigabitEthernet0/0/0
200.1.1.1/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/0<R2>display ip routing-table
...
<R3>display ip routing-table
...
//可以观察到,目前每台设备都可以正常获得路由信息,连通性测试省略。

2、配置DHCP服务器

​ 总部路由器 R3 配置为 DHCP 服务器,负责为分部的网络分配 IP 地址。在 R3 上使用命令dhcp enable开启DHCP功能,创建全局地址池dhcp-pool,可分配IP地址范围为10.1.1.0/24,出口网关地址为 10.1.1.254。并在面向 DHCP 中继设备的接口上开启 DHCP 服务功能,指定从全局地址池分配地址。

[R3]dhcp enable
Info: The operation may take a few seconds. Please wait for a moment.done.
[R3]ip pool dhcp-pool
Info:It's successful to create an IP address pool.
[R3-ip-pool-dhcp-pool]network 10.1.1.0 mask 255.255.255.0
[R3-ip-pool-dhcp-pool]gateway-list 10.1.1.254
[R3-ip-pool-dhcp-pool]interface GigabitEthernet0/0/1
[R3-GigabitEthernet0/0/1]dhcp select global//配置完成后,使用命令 display ip pool 查看 IP 地址池配置情况。
[R3]display ip pool
-----------------------------------------------------------------------
Pool-name : dhcp-pool
Pool-No : 0
Position : Local Status : Unlocked
Gateway-0 : 10.1.1.254
Mask : 255.255.255.0
VPN instance : --
IP address Statistic
Total :253
Used :0 Idle :253
Expired :0 Conflict :0 Disable :0
//可以观察到,当前可用的地址除去网关 IP 以外还剩下 253 个可用, 目前还没有 PC 动态申请 IP 地址。

3、配置DHCP中继

​ 配置 R1 为 DHCP 中继设备,指定 DHCP 服务器为 R3。

​ 这时如果 R1 从 E 0/0/1 接口收到 PC 的 DHCP 广播请求包, R1 作为 DHCP 中继设备会以单播形式转发请求包到中继所指明的 DHCP 服务器 R3,服务器 R3 收到 DHCP 请求包后,会把分配的 IP 地址通过单播包返回给 DHCP 中继设备 R1,中继设备 R1 再把地址信息发送给 PC。所以在 DHCP 中继上需要指定所代理的 DHCP 服务器的地址。

​ 配置指定 DHCP 服务器有两种方式,一种方式是在面向 PC 的接口下直接配置 DHCP服务器 IP 地址。另外一种方式是在面向 PC 的接口下调用全局定义的 DHCP 服务器组

// 第一种配置方法:直接在 R1 的 E 0/0/1 接口下开启 DHCP 中继功能,并直接指定 DHCP服务器 IP 地址为 100.1.1.1。
[R1]dhcp enable
[R1]interface Ethernet1/0/1
[R1-Ethernet1/0/1]dhcp select relay
[R1-Ethernet1/0/1]dhcp relay server-ip 100.1.1.1
//第二种配置方法:在 R1 上创建 DHCP 服务器组,指定组名为 dhcp-group,并使用dhcp-server 命令添加远端的 DHCP 服务器地址。接着在 E 0/0/1 接口下开启 DHCP 中继功能并配置所对应的 DHCP 服务器组。
[R1]dhcp server group dhcp-group
Info:It's successful to create a DHCP server group.
[R1-dhcp-server-group-dhcp-group]dhcp-server 100.1.1.1
[R1-dhcp-server-group-dhcp-group]interface Ethernet1/0/1
[R1-Ethernet1/0/1]dhcp select relay
[R1-Ethernet1/0/1]dhcp relay server-select dhcp-group

​ 两种方式均能达到同样的配置要求。相比而言,在接口下直接指定 DHCP 服务器 IP 地址的方式较简单,但如果中继设备上有多个接口需要配置 DHCP 中继功能,则要在所有接口上重复同样的配置,产生的配置量较大。而如果使用服务器组的方式,则可以仅在全局定义一次,在每个接口重复调用,尤其是当有多个 DHCP 服务器或者服务器 IP 地址需要更改的时候尤为方便。

4、配置PC获取地址方式为DHCP

详细方法见8.1,配置完成后测试连通性。

​ 整个配置过程,仅在网关路由器 R1 上开启 DHCP 中继功能,在分部没有其它过多的DHCP 配置。 在网络设计和管理中灵活使用 DHCP 中继功能能够使网络运行更加高效和方便。

9、其他配置

**配置Server-DNS:**https://blog.csdn.net/weixin_53466908/article/details/125400356

**关于DMZ区域:**https://blog.csdn.net/weixin_42563968/article/details/108789588

**AC+AP配置参考:**https://blog.csdn.net/weixin_50281314/article/details/125028672

网络工程设计02——ensp基础相关推荐

  1. 网络学习之eNSP使用

    组网:网络组建 学习eNSP主要是为了拥有一定的网络组建能力,看得懂网络拓扑图,自己能够绘制,并且对常见的网络设备有一定的了解,可以进行一些安全配置等. https://baike.baidu.com ...

  2. 网络工程设计与实施课程学习总结

    介绍 随着网络设备数字化的发展,"云一管一端"应用分工越来越细,企业都在重新定位重新调整."云"和网的融合,对企业市场的企业来说,既是机会,更是挑战.客户的需求 ...

  3. 深入浅出Pytorch:02 PyTorch基础知识

    深入浅出Pytorch 02 PyTorch基础知识 内容属性:深度学习(实践)专题 航路开辟者:李嘉骐.牛志康.刘洋.陈安东 领航员:叶志雄 航海士:李嘉骐.牛志康.刘洋.陈安东 开源内容:http ...

  4. centeros7网络服务无法启动_Linux网络服务02——DHCP原理与配置

    Linux网络服务02--DHCP原理与配置 一.DHCP服务概述 1.DHCP(Dynamic Host Configuration Protocol)动态主机配置协议 DHCP是由Internet ...

  5. 网络营销前夕怎样确定网站定位?这是网络营销开展的基础!

    企业网站想要进军网络营销市场自然不能忽略对网站建设的规划,网站建设中最重要的环节就是对网站定位的基本规划.网站定位在搜索引擎中主要传达企业想要呈现给目标用户群体怎样的产品和概念,向用户展现自家企业品牌 ...

  6. python从零基础到项目实战怎么样-Python 3.x网络爬虫从零基础到项目实战

    ● 案例完整 本书中的所有案例都是通过"理论讲解 + 环境搭建 + 完整代码及分析 + 运行结果"这种完善的结构进行讲解的.此外,复杂的案例配有项目结构图,有难度的案例还分析了底层 ...

  7. 2018-2019 20165237网络对抗 Exp5 MSF基础应用

    2018-2019 20165237网络对抗 Exp5 MSF基础应用 实验目标 本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路.具体需要完成: 一个主动攻击实践,如 ...

  8. linux网络编程二:基础socket, bind, listen, accept, connect

    linux网络编程二:基础socket, bind, listen, accept, connect 1. 创建socket #include <sys/types.h>     #inc ...

  9. Maven-学习笔记02【基础-Maven的安装和仓库种类】

    Java后端 学习路线 笔记汇总表[黑马程序员] 黑马程序员(腾讯微云)Maven基础讲义.pdf Maven-学习笔记01[基础-Maven基本概念] Maven-学习笔记02[基础-Maven的安 ...

最新文章

  1. 推荐8个高质量的小众实用APP,解决你的痛点需求
  2. C++为什么空格无法输出_算法竞赛C++常用技巧——输入输出优化(防止TLE)
  3. 编写fun函数判断字符串尾部的*号,若多于指定数量,则删除多余的;否则,不做操作
  4. 【转】.net框架读书笔记---CLR内存管理\垃圾收集(五)
  5. 8.1 shell介绍 8.2 命令历史 8.3 命令补全和别名 8.4 通配符 8.5 输入输出重定向
  6. Jsoup的简易使用示例
  7. FusionInsight怎么帮「宇宙行」建一个好的「云数据平台」?
  8. Algorand基金会与Brixton Pound达成合作关系,将开发布里克斯顿英镑的通证化版本
  9. 吴晓波之后,“罗辑思维”冲击科创板IPO!网友笑称单口相声也想上市?
  10. 别再苦恼电脑录屏软件哪个免费了,试试这几款吧
  11. 2023扬州大学计算机考研信息汇总
  12. 访问服务器硬盘速度慢,硬盘读取速度变慢 当前传输模式pio的解决方法
  13. 无法计算机您系统的体验指数,win7无法计算机您系统的windows体验指数如何解决...
  14. 拼多多校招内推编程题2 大整数乘法
  15. 平板安装Ubuntu18.04教程
  16. epoch和iteration的区别
  17. 单模光电转换器怎么接_单纤光纤收发器a与b怎么放?如何使用光纤收发器的AB端?...
  18. 企业员工顶级考核管理系统
  19. 5.3 千亿访问量下的开放平台技术揭秘
  20. 基于FDC2214传感器的手势识别装置(MSP430)

热门文章

  1. 解读湖北省8月双防政策,2022下半场化工厂人员定位大洗牌
  2. 地下城与勇士(DNF)天帷巨兽副本(神殿外围、树精丛林、炼狱、极昼、第一脊椎、GBL女神殿、第二脊椎、天帷禁地、树精繁殖地)(童年的回忆)
  3. docker python tool_使用Docker实现Python3.5、Python2.7 在线编程测试执行代码工具-toolfk.com...
  4. [GYCTF2020]Ezsqli --BUUCTF
  5. 【车载开发】Android Automotive车载操作系统开发解密篇
  6. 编写完了程序,转发一下别人的游戏帖子。。。 没事玩玩游戏。。。。。也不错。
  7. ## stm32F1 VL53L0X例程及部分代码讲解(可调工作模式版)
  8. FOJ 1012 Relatives
  9. 360环视辅助驾驶硬件系统方案---OV2715+DS90UB913+DS90UB914+FPGA
  10. openCv--裁剪图像不规则区域