前言

本文用于归档B系列,也就是计算机网络系列的文章,作为目录与摘要使用;同时,本文也对本系列所有文章作一个前提补充以及个人建议。
如果是想看本站所有文章的归档,可以在网站右上角点击【归档】。

阅读本系列前的说明

首先,阅读本系列文章前,个人建议先过一遍A00【科普】计算机网络概述 | Magiku’s药剂屋,了解一下计算机网络的整体体系框架,这对后续的学习会有很大的帮助。

在本系列的文章中,会经常提到“产品文档”一词,该词是指代网络设备的各厂商在其官网公开的设备说明书/参考手册。

此类文档中会有配置举例、配置说明等信息,打开相应的品牌官网,找到“支持/技术与支持”相关的字眼,再找到“产品文档/文档中心”等字眼,最后根据设备类型与型号找到对应的文档。

学习阶段的话,就找市场占有量大的型号下对应的文档进行查阅学习,或者直接找性能高的一款。

值得注意的是,在学习时,请思考一下自己是为何学习,学习了是为了什么。

我提这个并不是打算“鸡汤”/“拷打”,而是想提醒你学习时要想好“次重点”。

对于考证与工作,这两种的学习方式与学习内容可以说是不同的:

考证更注重理论知识,而且是一些偏记忆性的、偏标准化、规范化的内容;或者可以形容为“只会在书本上看到的内容”。

而工作,对于网络这一块,我们更关心的是网它通、还是不通;以及有更好用更先进的技术就不会去使用旧技术,也因此不需要记忆旧技术的各种详细机制与怎么使用旧技术应对复杂的环境与需求;但对于考证,这恰恰就是爱考的考点。

本人写文章会偏向于让小白了解一个东西/技术,保证“领进门”;至于后续的“修行”就看个人了。

如果你是打算考证,那么建议你先观看我的文章,之后再去刷考证题库以及培训班相关视频,进行“应试教育”。

部分文章中,会介绍相应的报文格式/状态,这部分内容,说实话,对于实操与工作,作用不大,排错时很少用得上。

文章中介绍只是让你知道有这么个东西,同时对学习也有部分作用(这个协议在设备之间是如何进行工作的),作用如何与每个人自己的学习思维有关。

对于我来说,知道一个东西的原理与逻辑,我才能自然的去使用它,我关注的是为什么要这么做;而有的人是讲一大堆理论,他并不想学不想记,只要告诉他操作步骤即可,他只关心怎么做。

简单举一个例子吧:猪骨/鸡腿都要下锅焯水去腥,撇浮沫,很多人就只记得这个步骤。

而我会去查为什么,哦,去血水以及诸如粪臭素,雄烯酮的不良风味物质;然后想到血遇热会蛋白质变性,也就是“凝固”,这就不利于不良风味物质析出了;所以焯水去腥要冷水下锅,并让温度上升的慢一些。(此外还有不要放会降低pH值的料酒。)

声明:

  • 本系列的部分文章内容借鉴于华为的产品文档与HCIP课程/书籍的内容。

    本人对这部分内容以个人所认为的,更利于纯小白/纯新手进行学习的方式,重新编排、重组、润色。

    本系列文章内的提到的命令都是华为的。

  • 本系列所有文章都仅用于学习交流使用。

本系列文章目录与简要概述

B01【交换基础】泛洪与ARP | Magiku’s药剂屋

本文将介绍设备之间是如何通过MAC地址通信的,包括交换机的泛洪学习,设备的ARP协议,网关的代理ARP等。

B02【TCP/IP概述】常见协议:HTTP、DNS、TCP、UDP等 | Magiku’s药剂屋

最后不想填坑,摆了。。。纯粹占个坑位,找本教材或书籍看吧。(但《图解HTTP》《图解TCP》这两本我不建议买,浪费钱,内容太浅太水了)

B03【多链路问题】环路、广播风暴、链路聚合 | Magiku’s药剂屋

本篇是针对交换部分的多链路进行讨论,探讨了环路的危害与预防措施,进而延申出链路聚合的概念与知识点。

B04【多链路问题】生成树协议之STP与RSTP | Magiku’s药剂屋

本篇主要是介绍防止环路的协议——生成树协议。

其中STP是最原始的生成树协议,而RSTP是对STP进行改进后的生成树协议。

B05【交换基础】vlan、接口类型、vlanif | Magiku’s药剂屋

本篇主要是围绕着vlan(虚拟局域网)进行讲解介绍。

先从vlan技术(二层交换机)开始讲解,一步步拓展到vlanif技术(三层交换机)。

B06【流量隔离与vlan进阶】端口隔离、mux-vlan、super-vlan | Magiku’s药剂屋

在组建企业的数据网络时,我们可能经常会遇到各种流量隔离的需求。

本文将介绍处理这种场景的两种技术——端口隔离与mux-vlan。

同时,因为技术相似,一并介绍super-vlan(vlan聚合)。

B07【多链路问题】生成树协议之MSTP与其他技术概要 | Magiku’s药剂屋

前面B03我们介绍过STP与RSTP,本文将介绍更先进的、结合了vlan技术的生成树协议——MSTP。

另外,本文还额外介绍了Smart Link和Monitor Link的详细原理与配置,堆叠与集群的简单概述。

B08【路由基础】静态路由、RIP协议 | Magiku’s药剂屋

之前介绍的交换与vlan等都是二层技术,也就是基于mac地址信息所在的数据帧。

而本篇将介绍路由相关知识,也就是路由器相关的内容;

路由是三层技术(网络层),是基于ip地址信息所在的数据包。

B09【动态IP地址】DHCP | Magiku’s药剂屋

本文将介绍的是我们电脑上选择动态IP地址时,给我们分配IP地址的协议-DHCP。

B10【网关冗余】VRRP | Magiku’s药剂屋

本文将继续讨论【多链路问题】,只不过这次介绍的是作用于路由网关的协议,通过将两台路由设备“聚合”为一台以避免环路,并提供冗余性。

B11【动态路由】ospf详解 | Magiku’s药剂屋

本文将介绍OSPF这一用于淘汰RIP的链路状态路由协议;这是我们第一次接触链路状态协议,本文会介绍的比较详细。

B12【动态路由】IS-IS | Magiku’s药剂屋

本文将介绍另一项动态路由协议:IS-IS。

它与OSPF一样,都属于链路状态协议,都是设备之间通过Hello报文发现彼此、建立邻居、交互链路状态信息、同步LSDB、最后通过SPF算法计算路由信息,并且对整个网络会进行区域划分以减少LSDB的规模,降低对网络资源与设备性能的影响。

B13【路由控制】ACL、路由策略、策略路由 | Magiku’s药剂屋

本文将介绍路由策略与策略路由,一个是策略,另一个是路由,最终都是实现对报文转发进行”个性化“操作的技术。

由于这两技术都会使用ACL作为“条件/规则”,因此本文会先介绍ACL。

B14【动态路由】BGP | Magiku’s药剂屋

本文将一种常用于运营商与大型机构之间的动态路由——BGP

B15【广域网技术】PPP、PPPoE | Magiku’s药剂屋

本文主要讲解广域网技术中的PPP(Point-to-Point Protocol ,点对点协议)原理与相关应用(PPPoE拨号)。

B16【广域网技术】标签路由MPLS | Magiku’s药剂屋

本文将介绍特殊的路由技术MPLS,这是一种常被用构建VPN隧道的标签转发协议。

B17【公网私网地址转换】NAT、NAPT | Magiku’s药剂屋

私网与公网隔离但又能互通,这便是有NAT协议在复制私网地址到公网地址的转换。

本文就会对NAT进行详细介绍。

B18【端口安全】port-security、MAC地址表管理 | Magiku’s药剂屋

交换机MAC地址表的容量是有限的,为防止容量满了导致新入网设备无法通信,可以在交换机上对MAC地址表进行配置管理。

余下还有防火墙、VPN、VXLAN可讲,但目前暂无更新计划。也许等我准备考高级证书时就会补上了。

补充一节,虚拟机安装ensp模拟器。

ensp已经停止更新多年,但他依赖的软件是写死了版本号的,且还需要系统关闭虚拟化,这对于想安装WLS或docker的就有冲突了。

所以把ensp打包到虚拟机中,就是一个不错的考虑了。

虚拟机安装ensp模拟器

以VMware为例,新建Windows10的虚拟机。

VMware已免费,请安心下载最新版使用吧。

创建时,注意先打开虚拟机设置,进去把网络设置为别的,先让虚拟机不联网,避免装机时连上服务器后开始更新和强制登录。

如果你还没安装虚拟机,那么跟着我走一趟

  • VMware左上角选择【新建虚拟机】

  • 默认【典型】

  • 选择win10镜像文件

    • 建议准备一个封装的镜像,而不是原版镜像。封装镜像跳过了开机的验证登录。
    • 自封装的镜像需要手动选择系统与版本
  • 输入虚拟机名称和位置。

    • 名称是未来显示在VMware左侧目录上的名称,建议其模拟器的名字,比如:win10-ensp
    • 位置是虚拟机的存放位置,默认存C盘,建议改到D盘,自己新建一个文件夹。比如:D:\VMware compute\ensp
  • 磁盘大小默认即可,文件选择存储为单个文件

  • 打开自定义硬件(顺手直接点了[完成]的,可以点击[编辑虚拟机设置])

    • 点击网络射赔钱,先选择为仅主机模式。(避免开机时自动联网更新,上次装win11,设置完账户密码就直接在线下载更新了,桌面都不给进。)
    • 内存建议设定到为8GB起步的数值,根据当前设备内存选择。(我是选择16GB)
  • 点击[开启虚拟机],进行镜像安装,按提示操作即可。

    • 仅win11会出现需要更多的设置,但我不建议使用win11配合ensp,因此就不介绍了。强烈建议下载一个win10镜像进行操作。而且可以找一些精简版的镜像,这也抹去了开机要求联网登录的过程。
  • 安装完毕,进入系统后,VMware左上角的菜单栏,点击[查看]-[拉伸客户机]-[保持纵横比],这也可以放大虚拟机画面。接着按自己显示器分辨率与自己的需求在虚拟机内修改分辨率即可。

    • 现在,可以把虚拟机设置里的网卡改会桥接或者NAT模式了。

把安装包拷贝到虚拟机中:

有多种方法,这边先列一个简单的,准备一个U盘,往U盘中拷贝安装包。

在VMware上面的菜单栏找到[虚拟机]-[可移动设备]-找到自己的U盘-点击连接,就可以在虚拟机中看到U盘了。

其他方法有网络传输、VMware tool(重启虚拟机就会提示要不要安装了)。

ensp安装步骤

1、WinPcap 4.1.3

直接安装,无特殊注意事项。

2、Wireshark 4.4.6

直到看到安装路径时停一下,点击下一步,然后取消掉Npcap1.79的安装。

Npcap 与 WinPcap 冲突,会导致 eNSP 抓包功能异常,因此请不要安装。

后面继续保持默认,一直下一步即可。

3、VirtualBox 5.2.44

必须是 5.2.44 版本,更高版本与 eNSP 不兼容,安装后不要升级

4、eNSP

最后安装,会自动检测已安装的依赖,点击同意协议,进行安装。

(可选)加载配件包

如果是压缩包先解压缩。

启动ensp,选择对应设备拖入拓扑中,点击启动,会提示导入镜像文件,这时再选择配件包即可。

一般来说,到HCIP的配置都不需要使用到额外的配件包,自带的就足够了。

注意事项

设备启动失败(AR 路由器 / 交换机)

  1. 检查 VirtualBox 版本是否为 5.2.44
  2. 以管理员身份运行 eNSP
  3. 检查是否开启了 Windows Hyper-V(与 VirtualBox 冲突)

因eNSP 内会再启动 VirtualBox 虚拟机,也许需要开启:

  • 嵌套虚拟化(Nested VT-x/AMD-V)
    • 虚拟机设置 → 处理器 → 虚拟化 Intel VT-x/EPT 或 AMD-V/RVI
  • 允许 MAC 地址欺骗(Promiscuous Mode: 全部允许)
    • 虚拟机设置 → 网络适配器 → 高级 → MAC 地址欺骗 → 允许

但,至少我使用最新版的VMware,不用修改就可以直装了。

基础配置示例

下面结合一个实验简单介绍交换与路由配置命令,方便以后查看命令,并非命令详解教程。

交换部分——Vlan、DHCP、STP

描述:

每台电脑代表一个部门,其中pc1、pc2、pc3、pc4则依次为vlan10、vlan20、vlan30、vlan40。

两台接入交换机LSW2、LSW3分别连接vlan10vlan20,vlan30vlan40

上行汇聚交换机LSW1开启DHCP服务,DNS设置为3.0.0.1

二层交换机直接互连,因此需开启STP,并将三层交换机设置为根。

下面命令,第一次都全拼且有注释,后续全为缩写

二层交换LSW2配置如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
system-view  //进入系统视图
sysname sw2 //修改交换机名字

vlan batch 10 20 30 40 //批量增设vlan10 vlan20 vlan30 vlan40

interface Ethernet0/0/1 //进入1接口的视图
port link-type access //配置为access模式
port default vlan 10 //配置接口的VLAN

int e0/0/2
p l a
p d v 20

interface Ethernet0/0/3
port link-type trunk //配置为trunk模式
port trunk allow-pass vlan 10 20 30 40 //配置接口放行的VLAN

int e0/0/4
p l t
p t a v 10 20 30 40

二层交换LSW3配置如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
sys
sys sw3

vlan batch 10 20 30 40
interface Ethernet0/0/3
port link-type access
port default vlan 30
int e0/0/4
p l a
p d v 40
interface Ethernet0/0/1
port link-type trunk
port trunk allow-pass vlan 10 20 30 40
int e0/0/2
p l t
p t a v 10 20 30 40

三层交换机LSW1配置如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
sys
sys sw1

dhcp enable // 开启DHCP功能
vlan batch 10 20 30 40
interface GigabitEthernet0/0/1
port link-type trunk
port trunk allow-pass vlan 10 20 30 40
int g0/0/3
p l t
p t a v 10 20 30 40

interface Vlanif10 //虚拟一个vlan10接口(需已创建vlan10)
ip address 192.168.10.254 255.255.255.0 //为该虚拟接口配置ip地址
dhcp select interface //在该接口上开启DHCP
dhcp server dns-list 3.0.0.1 //在该接口DHCP上设定DNS服务地址
int vlanif20
ip add 192.168.20.254 24
dhcp sel int
dhcp server dns 3.0.0.1
int vlanif30
ip add 192.168.30.254 24
dhcp sel int
dhcp server dns 3.0.0.1
int vlanif40
ip add 192.168.40.254 24
dhcp sel int
dhcp server dns 3.0.0.1

stp root primary //设置该交换机为STP的根服务器(由于华为交换机默认开启STP,所以都没有输入开启命令)

注:下游电脑获取到DHCP授权的ip地址的前提是交换机开起了DHCP功能,并在接口上启用DHCP,同时设置了VlanIf的ip地址,并且链路是放行了vlan。

基础命令 说明与用例
vlan * 创建vlan
vlan batch * * 同时创建多个vlan
用例:vlan batch 20 40 || vlan bath 20 to 40 (配置vlan20到vlan40)
interface Ethernet 进入接口模式(百兆口)
port link-type access 接口类型配置为access
port default vlan * 为接口配置vlan
用例:port default vlan 10
interface GigabitEthernet 进入接口模式(千兆口)
port link-type trunk 接口类型配置为trunk
port trunk pvid vlan * 接口配置pvid ——打上的vlan标签
port trunk allow-pass vlan * 接口放行对应的vlan通过
用例:port trunk allow-pass vlan 10 20
interface Vlanif * 对已创建的vlan,创建一个vlanif接口,作为改vlan的网关
用例:int vlan 10
ip address * 为vlanif接口添加ip地址——其下vlan设备的网关地址
用例:ip address 192.168.1.254 24

路由部分——动态路由ospf、静态路由、NAT

在上文的拓扑基础上,增加一个出口路由器

首先需要配置LSW1,增加到AR1的链路信息与配置ospf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
vlan 12
interface GigabitEthernet0/0/2
port link-type access
port default vlan 12
interface Vlanif12
ip address 192.168.12.2 255.255.255.0


// 开启ospf,并设定router-id为2.2.2.2
// 开启area0
// 宣告设备所连接的网段信息
ospf 1 router-id 2.2.2.2
area 0.0.0.0
network 192.168.12.2 0.0.0.0
network 192.168.10.254 0.0.0.0
network 192.168.20.254 0.0.0.0
network 192.168.30.254 0.0.0.0
network 192.168.40.254 0.0.0.0

配置AR1路由器

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
sys
sys r1
int s4/0/0
ip add 192.168.12.1 24


ospf 1 router-id 1.1.1.1
area 0
network 192.168.12.1 0.0.0.0

//设置静态缺省路由,让未配置的网段路由统一走下一跳到12.0.0.2(假定该ip地址为AR1路由器所连接的公网路由器ip)
ip route-static 0.0.0.0 0.0.0.0 12.0.0.2
//将该静态缺省路由通过ospf宣告给ospf下的其他三层设备
ospf 1
default-route-advertise

假设在AR1路由器的右侧连接了运营商的公网路由器,其ip地址为12.0.0.2,运营商分配的公网ip为12.0.0.1

设置NAT出口策略

1
2
3
4
5
6
//创建一条acl策略,规则为全放行
acl 2000
rule 1 permit
进入连接了公网路由器的1口,配置nat出口策略(使用2000号的acl规则)
int g0/0/1
nat outbound 2000

再增设3个路由器与2台服务器,对应公网的情况。

AR2通过串口线与AR1连接,也就是12.0.0.2ip的公网路由器。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
sys
sys R2
int s4/0/0
ip add 12.0.0.2 24
int g0/0/0
ip add 23.0.0.2 24
int g0/0/1
ip add 24.0.0.2 24

ospf 1 router-id 2.2.2.2
area 0
network 12.0.0.2 0.0.0.0
network 23.0.0.2 0.0.0.0
network 24.0.0.2 0.0.0.0

AR3

1
2
3
4
5
6
7
8
9
10
11
12
13
14
sys
sys R3
int g0/0/0
ip add 23.0.0.3 24
int g0/0/1
ip add 34.0.0.3 24
int g0/0/2
ip add 3.0.0.254 24

ospf 1 router-id 3.3.3.3
a 0
net 23.0.0.3 0.0.0.0
net 34.0.0.3 0.0.0.0
net 3.0.0.254 0.0.0.0

AR4

1
2
3
4
5
6
7
8
9
10
11
12
13
14
sys
sys R4
int g0/0/0
ip add 24.0.0.4 24
int g0/0/1
ip add 34.0.0.4 24
int g0/0/2
ip add 4.0.0.254 24

ospf 1 router-id 4.4.4.4
a 0
net 24.0.0.4 0.0.0.0
net 34.0.0.3 0.0.0.0
net 4.0.0.254 0.0.0.0

为dns服务器配置3.0.0.1地址,http服务器配置4.0.0.1地址

则私网的pc都可以连通到公网的这两个服务

注意:配置记得保存,以及模拟器会定期休眠。时间太久可能某一台路由器宕机了导致链路不通。

点对点协议认证

以上图为例,在右侧的AR2配置认证模式与账号密码

1
2
3
4
5
6
7
8
9
//配置认证模式为chap
interface Serial4/0/0
ppp authentication-mode chap
q

//创建用户,并将用户用于ppp协议
aaa
local-user magiku password cipher magiku030
local-user magiku service-type ppp

注:点对点协议是基于串口线连接的设备之间。