doc: add common Cisco and Huawei network device commands (#1011)

* add net device doc

* add huawei net device

* add cisco net device doc

* fix some wrong
This commit is contained in:
InkSha
2025-10-10 12:09:11 +08:00
committed by GitHub
parent ca80b477fb
commit 719387ba48
3 changed files with 1381 additions and 0 deletions

View File

@@ -121,6 +121,8 @@ Quick Reference
[Elixir](./docs/elixir.md)<!--rehype:style=background:rgb(124 26 156);&class=contributing tag&data-lang=Elixir-->
[Tauri](./docs/tauri.md)<!--rehype:style=background:rgb(103 214 237);&class=contributing-->
[Claude Code](./docs/claude.md)<!--rehype:style=background:rgb(217 119 87);&class=contributing tag&data-lang=AI-->
[Cisco 网络设备](./docs/cisco.md)<!--rehype:style=background: rgb(4 159 217);&class=contributing&data-info=👆看看还缺点儿什么?-->
[Huawei 网络设备](./docs/huawei.md)<!--rehype:style=background: rgb(222 0 8);&class=contributing&data-info=👆看看还缺点儿什么?-->
<!--rehype:class=home-card-->
## 编程
@@ -332,6 +334,13 @@ Quick Reference
[SQLite](./docs/sqlite.md)<!--rehype:style=background:rgb(0 59 90);-->
<!--rehype:class=home-card-->
## 网络设备
[Cisco 网络设备](./docs/cisco.md)<!--rehype:style=background: rgb(4 159 217);&class=contributing&data-info=👆看看还缺点儿什么?-->
[Huawei 网络设备](./docs/huawei.md)<!--rehype:style=background: rgb(222 0 8);&class=contributing&data-info=👆看看还缺点儿什么?-->
<!--rehype:class=home-card-->
## 快捷键
[Adobe Lightroom](./docs/adobe-lightroom.md)<!--rehype:style=background: rgb(49 168 255);-->

594
docs/cisco.md Normal file
View File

@@ -0,0 +1,594 @@
Cisco 网络设备备忘清单
===
本清单提供了 Cisco 网络设备常用命令示例
清单内容基于 [**Cisco Packet Tracer**](https://www.netacad.com/cisco-packet-tracer) 进行
模式
---
### 模式简介
<!--rehype:wrap-class=col-span-3-->
是指命令行界面的操作层级,不同模式可执行不同范围的命令
以下列出了一些基本的模式
| 模式 | 命令提示符 | 进入方式 |
| :-: | :-: | :-: |
| 用户模式 | `用户名称>` | 默认进入 |
| 特权模式 | `用户名称#` | 通过 enable 进入 |
| 全局配置模式 | `用户名称(config)#` | 通过 config terminal 进入 |
| VLAN 模式 | `用户名称(config-vlan)#` | 通过 vlan vlan-ID 进入 |
| 接口配置模式 | `用户名称(config-if)#` | 通过 interface 接口 进入 |
| Line 模式 | `用户名称(config-line)#` | 通过 line vty 端口 进入 |
<!--rehype:className=show-header-->
### 进入特权模式
```shell
enable # 进入到特权模式
```
### 进入全局模式
```shell
configure terminal # 进入到全局模式
```
### 进入 line 模式
```shell
line vty 0 # 进入 line 模式 的 0 端口
```
### 退回上级模式
退回到上一级模式, 如全局模式退到特权模式,特权模式退到普通模式
```shell
exit
```
### 强制执行
在任何模式下均可
```shell
do ~ # 强制执行 ~
```
### 取消命令
```shell
no ~ # 取消命令 ~
```
基本操作
---
### 修改主机名称
需要在全局模式下进行
```shell
hostname NAME # 修改名称为 NAME
```
### 查看设备配置
需要在特权模式下进行
```shell
show running-config # 查看设备配置
```
### 关闭端口
需要在接口配置模式下进行
```shell
shutdown ~ # 关闭端口 ~
```
### 设置进入特权模式密码
<!--rehype:wrap-class=col-span-2-->
需要在全局模式下进行
#### 明文密码
```shell
enable password PASSWORD # 设置进入 特权模式 的密码为 PASSWORD
```
#### 密文密码
```shell
enable secret PASSWORD # 设置进入 特权模式 的密码为 PASSWORD
```
vlan 配置
---
### 创建并进入 vlan
需要在全局模式下进行
vlan-ID 可以是任何符合 vlan 范围的数字,如果 vlan 存在,则直接进入
```shell
vlan vlan-ID
```
### 修改 vlan 名称
在进入 vlan 后,将当前 vlan 名称变更为 NAME
```shell
name NAME
```
### 取消 vlan
需要离开 vlan 后,在全局模式下才能取消 vlan
```shell
no vlan vlan-ID
```
### 配置 vlan trunk
<!--rehype:wrap-class=col-span-2-->
#### 首先创建需要配置的对应 vlan
```sh
vlan vlan-id
```
#### 添加端口到 vlan 当中
```sh
# 进入 范围在 1 - 10 的所有接口
interface range f0/1 - 10
# 进入 范围在 1 - 10 的所有接口 和 单独的 f0/12 接口
interface range f0/1 - 11, f0/12
# 进入 单个 接口 f0/1
interface f0/1
```
#### 进入接口后
```sh
# vlan-id 为 需要将 当前接口 添加到 的 vlan id为数字
switchport access vlan vlan-id
```
#### 进入两个交换机相连接口
```sh
# 设置模式 trunk
switchport mode trunk
```
#### 在 trunk 中 添加或删除 vlan
```sh
# 首先需要进入 配置 trunk 的接口
switchport trunk allowed vlan add vlan-id
switchport trunk allowed vlan remove vlan-id
```
#### 查看 trunk 配置
```sh
# 特权模式下
# interface-id 为配置 trunk 的接口名称
show interfaces interface-id switchport
```
接口操作
---
### 进入接口
需要在全局模式下进行
#### 单个接口
```shell
# 进入单个接口
# 进入接口 f0/1
interface f0/1
```
#### 多个接口
```shell
# 进入接口 f0/1 直到 f0/8 和 f0/10
interface range f0/1 - 8, f0/10
```
### 添加接口到 vlan 中
将进入到的当前接口添加到对应 vlan-ID 的 vlan 中
```shell
switchport access vlan vlan-ID
```
### 将接口从 vlan 中移出
取消添加到对应 vlan-ID 的 vlan 的接口
```shell
no switchport access vlan vlan-ID
```
设备调试
---
### 配置 console 口令
设置进入终端的密码
```shell
# 配置端口
line console 0
# 设置密码为 123
password 123
# 载入
login
```
### 配置远程
<!--rehype:wrap-class=row-span-2 col-span-2-->
#### 配置远程用户
```shell
# 0 为一个用户
# 0 - 2 为 0 1 2 三个用户
# 0 - 15 为 16 个用户
line vty 0
line vty 0 - 2
line vty 0 - 15
# 配置密码为 123456
password 123456
# 载入设置
login
```
#### 配置接口
```shell
# 进入 vlan 1
interface vlan 1
# 配置 ip 地址
# 192.168.100.254 为需要配置的 ip 地址
# 255.255.255.0 为子网掩码
ip address 192.168.100.254 255.255.255.0
# 启动远程
# no 为取消 ~
# shutdown 为关闭
# no shutdown 就是取消关闭,即启动
no shutdown
```
#### 连接远程
```shell
# 需要先配置远程的电脑 ip 地址
# 需要与 配置的 远程 ip 地址频段一致
# 如 远程 ip 地址为 192.168.100.254
# 电脑 ip 地址需要与 远程 ip 地址在同一频段 即 192.168.100.~
# 然后通过在 电脑 的命令提示行使用 ping 命令查看是否连接成功
# 连接成功之后通过 telnet 访问远程
telnet 192.168.100.254
```
路由配置
---
### 静态路由
<!--rehype:wrap-class=col-span-2-->
```sh
# 首先需要配置 IP 地址
## 电脑配置
### IP地址配置 假设为192.168.1.1
### 默认网关 需与IP地址同段假设为192.168.1.254
## 路由器配置
### 首先进入与电脑连接的接口 (假设为 f0/0
### 需在 全局模式 下
interface f0/0
### 进入接口后
### 在 接口模式 下
ip address 192.168.1.254 255.255.255.0
### 192.168.1.254 为 在 电脑所配置的默认网关
### 255.255.255.0 为 子网掩码
### 然后启动接口 否则无法连接
no shutdown
### 进入两个路由器相连的接口 (假设为 s1/0
interface s1/0
### 同样需要配置 IP地址
ip address 10.10.10.1 255.0.0.0
### 然后配置时钟
clock rate 64000
### 64000 为 时钟速率
### 同时也需要启动接口
no shutdown
# 配置跳转路由
## 在 全局模式 下
ip route 192.168.1.0 255.255.255.0 10.10.10.1
### 其中 192.168.1.0 为 需要到达的目标 IP地址
### 第四位 0 表示无指定值,即 1 - 254 的值都能匹配
### 255.255.255.0 为 子网掩码
### 目标地址有几位明确的就需要几位255
### 10.10.10.1 为 下一跳地址
### 下一跳可以理解为 公交车的下一站
### 而目标 IP地址则为公交车的终点站
```
### 默认路由
<!--rehype:wrap-class=col-span-2-->
```sh
# 首先需要清空所有路由
## 然后重新配置
ip route 0.0.0.0 0.0.0.0 0.0.0.0
# 第一个 0.0.0.0 为 目标 IP地址 固定不变
## 0 表示无指定目标,因此匹配所有 IP地址
# 第二个 0.0.0.0 为 目标地址的子网掩码 固定不变
## 目标 IP地址 有几位不为 0 则有几位是 255
## 如:目标 IP地址 为10.10.0.0
## 则 子网掩码为 255.255.0.0
# 第三个 0.0.0.0 为 下一跳的 IP地址 随下一跳地址变化
## 如:下一跳地址为 10.10.10.1 则 命令为
ip route 0.0.0.0 0.0.0.0 10.10.10.1
```
### 单臂路由
<!--rehype:wrap-class=col-span-2-->
```sh
# 首先需要在 PC 配置IP和网关 (假设分别为 192.168.1.1、192.168.1.254
# 然后进入交换机创建 vlan (假设 vlan 为 1
vlan 1
## 并将与PC相连的接口 添加到 vlan 当中 (假设接口为 f0/1
interface f0/1
## 配置接口为access口
switchport mode access
switchport access vlan 1
## 然后在于路由器相连的接口中放通vlan (假设为 g0/0接口
int g0/0
## 设置 trunk
switchport mode trunk
## 放通所有vlan
switchport trunk allowed vlan all
# 进入路由器
## 首先需要开启
### 需要进入与交换机相连的接口 (假设为 f0/1
interface f0/1
### 开启接口
no sh
## 然后进入 f0/1.1 (f0/1.1 为 f0/1 的子接口)
int f0/1.1
## 配置封装 trunk 到 vlan 中 (假设 vlan 为 1
encapsulation dot1Q 1
## 随后配置 IP 和 掩码
ip address 192.168.1.254 255.255.255.0
```
### 动态路由
<!--rehype:wrap-class=col-span-2-->
```sh
# 首先配置电脑IP及网关 (假设为 192.168.1.1、192.168.1.254
# 然后配置路由器
## 进入与电脑相连的接口 (假设为 f0/1开启并配置IP地址
int f0/1
no sh
ip address 192.168.1.254 255.255.255.0
## 然后进入与其它路由器相连的接口 (假设为 f0/0开启
## 并为接口配置IP (假设为 10.10.10.1
int f0/0
ip address 10.10.10.1 255.0.0.0
## 然后回到全局模式开始RIP配置
route rip
network 192.168.1.0
## network 后面跟的IP地址为与当前路由器所相连的接口所配置的IP0表示全网段
## 即 network 后,所有在 192.168.1.1 - 254 这个范围的IP都能联通
```
### OSPF 配置
<!--rehype:wrap-class=col-span-2-->
```sh
# 添加环回地址
## 进入环回接口
interface loopback 0
## 配置ip
ip address IP-Address subnet-mask
## 配置 ospf 点对点
ip ospf network point-to-point
# OSPF 路由进程
## 进程号可自定义
## 用于识别当前路由器上的多个进程
router ospf 进程号
## 发布网段在区域
### 网段 如192.168.10.~
### 网段可以是与子网地址,网络地址,接口地址...
### 正向掩码若为 255.0.0.0 则反向掩码为 0.255.255.255
### 255.255.255.192 - 0.0.0.63
### 区域号可自定义
network 网段 反向掩码 area 区域号
## 设置 router ID
### ID 为 IP地址
### 是在 OSPF区域当中唯一标识路由器的IP地址
### 优先选取最大的环回接口IP
### 若没有则选取最大物理接口IP
router-id ID
## 修改 接口 cost值
### OSPF 使用 cost值来决定最佳路径
### cost值类似权重值
### 需要首先进入对应接口当中
ip ospf cost cost值
## 配置 OSPF计时器
### TIME 为 时间 单位为 s
ip ospf hello-interval TIME(s)
ip ospf dead-interval TIME(s)
```
交换机配置
---
### VTP协议
<!--rehype:wrap-class=col-span-2-->
```sh
# 可以通过 VTP协议 在一台交换机上集中进行配置变更
# 所做的变更会自动传播到当前网络中的所有交换机上
# VTP 域
## 域内的每台交换机必须使用相同 VTP域名
## 一台交换机只能加入一个 VTP域
## 交换机必须是相连的,且之间须启用 Trunk 中继
# VTP 模式
## 服务器模式
vtp mode server
### 充当VTP服务器控制它所在域中的VLAN生成和修改并向外发送VTP通告
## 客户机模式
vtp mode client
### 此模式的交换机不允许增删VLAN监听其它交换机的VTP通告并修改对应配置
## 透明模式
vtp mode transparent
### 不参与VTP可增删本地VLAN但不向外通告也不接受VTP通告修改自身VLAN数据库可转发VTP通告
# 流程
## 首先创建一个 VTP服务器
vtp mode server
### 配置 VTP域名 为 VTP
vtp domain VTP
## 然后创建 VTP客户端
vtp mode client
### 需要在创建 VTP客户端前 先配置 trunk
### 进入当前交换机与 VTP服务器交换机 相连的接口 (假设为 f0/24
int f0/24
switchport mode trunk
### VTP服务器交换机 与 当前交换机相连接口 在 f0/24 设 trunk 时自动变为 trunk
### 不需要再手动配置 trunk
### 并将客户端配置到 VTP 这个 VTP域名 下
vtp domain VTP
# VTP 相关命令
## 查看配置
do sh vtp status
## VTP 版本
vtp version versions
### VTP 版本号大的 VLAN信息 将覆盖 VTP版本号低的
## 设置VTP口令 为 VTPPASSWORD
vtp password VTPPASSWORD
### 只有在 域名和口令 相同的情况下 才会同步 vlan
```
### STP 协议
<!--rehype:wrap-class=col-span-2-->
```shell
# 概念
## RBRoot Bridge 根网桥
### 网络中倒数的根,整个网络中只存在一个根
## RPRoot Port根端口
## DPdesign Port指定端口
# 命令
## 查看STP的配置
show spanning-tree
## 查看 f0/0 端口状态
show spanning-tree interface f0/0
## 查看某个 vlan 下的 stp 配置信息
show spanning-tree vlan vlan-id
## 配置生成树模式为 STP 或 RSTP
spanning-tree mode pvst
spanning-tree mode rapid-pvst
## 配置交换机在 VLAN1 中的优先级
spanning-tree vlan 1 priority <0-61440>
## 配置为 vlan1 的根网桥
spanning-tree vlan root primary
## 配置为 vlan1 的次根网桥
spanning-tree vlan 1 root secondary
## 将 f0/0 接口在 vlan1 生成树的路径开销变更为 18
interface f0/0
spanning-tree vlan 1 cost 18
## 将 f0/0 接口在 vlan1 生成树的端口优先级变更为 16
interface f0/0
spanning-tree vlan 1 port-priority 16
```
### 三层交换机
<!--rehype:wrap-class=col-span-2-->
```shell
# 首先在三层交换机上启动路由
ip routing
# 然后配置vlan的ip地址
int vlan vlan-id
## 添加IP地址
ip address ip-address subnet-mask
## 启动当前接口
no sh
# 然后进入交换机与添加到vlan中的ip地址一致的终端相连的接口
## 将当前接口添加到赋予当前接口连接的终端ip地址一致的vlan中
```
### 三层交换机DHCP配置
<!--rehype:wrap-class=col-span-2-->
```sh
# 首先创建与连接的电脑终端数量一致的vlan
# 然后进入到与中介交换机相连的接口
## 使用trunk 放通创建的vlan
switchport trunk allowed vlan vlan-id/all
# 进入创建的vlan当中
int vlan vlan-id
## 配置当前vlan的IP为对应当前vlan的终端IP
ip address IP-Address subnet-mask
## 开启当前vlan接口
no sh
# 对 DHCP 地址池地址进行排除
## 排除的为vlan的ip地址
ip dhcp exculded-address IP-Address
# 创建DHCP地址池
## DHCP_AddressName 为可自定义的地址名称
ip dhcp pool DHCP_AddressName
## 设置当前DHCP地址池网段
### ip-address 为可自定义的ip地址
### subnet-mask 为可自定义的子网掩码
### 需要注意子网掩码需要与对应vlan的子网掩码一致
### 否则无法接通
network ip-address subnet-mask
## 设置DNS DNS-Address 为可自定义的 dns 地址
dns-server DNS-Address
## 设置默认网关 IP-Address 为可自定义的IP地址
default-route IP-Address
# 进入中介交换机
## 创建与三层交换机相同的vlan
## 进入与三层交换机相连的接口
### 将接口模式设为 trunk 并 放通创建的vlan
### 可使用 all 代替全部vlan
switchport mode trunk
switchport trunk allowed vlan vlan-id,vlan-id...
## 进入与电脑终端相连的接口
### 将接口分配到指定ip的vlan下
### 最后在电脑终端IP配置为DHCP即可
```

778
docs/huawei.md Normal file
View File

@@ -0,0 +1,778 @@
Huawei 网络设备备忘清单
===
本清单提供了对 Huawei 网络设备的入门简要概述,以及 Huawei 网络设备常用命令示例
基本知识
---
### VRP
是华为数据通信产品的通用网络操作平台,可通过它对设备进行操作
可进行简化输入,输入命令时,若不记得,可通过命令行获取相关提示
例如 `undo in en` 取消系统信息显示,完整命令为 `undo info-center enable`
如果简写有歧义,那么需要输入更完整的部分。
### 视图
<!--rehype:wrap-class=col-span-3-->
视图View是指命令行界面CLI的操作层级不同视图可执行不同范围的命令。
| 视图 | 进入方式 | 说明 |
| :-----: | :-------------------------------------------------- | :--------------------------------- |
| 用户视图 | 登录设备后默认进入 | 可执行监控、查看信息等命令(如 `display version` |
| 系统视图 | `system-view` | 可执行全局配置命令 |
| 接口视图 | `interface 接口名`(如 `interface GigabitEthernet0/0/1` | 用于配置接口相关参数IP、速率、VLAN等 |
| ACL 视图 | `acl 编号`(如 `acl 3000` | 用于定义访问控制规则 |
| VLAN 视图 | `vlan VLAN_ID`(如 `vlan 10` | 用于创建、修改或删除 VLAN |
| OSPF 视图 | `ospf 进程号`(如 `ospf 1` | 用于配置 OSPF 动态路由 |
| AAA 视图 | `aaa` | 用于配置认证、授权与计费 |
<!--rehype:className=show-header-->
---
```txt
用户视图
└── system-view (系统视图)
├── interface GigabitEthernet0/0/1 (接口视图)
├── vlan 10 VLAN视图
├── acl 3000 ACL视图
├── ospf 1 OSPF视图
└── aaa AAA视图
```
基本操作
---
### 系统信息
<!--rehype:wrap-class=row-span-3-->
#### 查看信息
```shell
display version # 查看版本信息
display current-configuration # 查看当前配置
display mac-address # 查看 mac 地址
```
#### 重命名设备
在系统视图下:`sysname RENAME`
#### 切换语言
```sh
# 用户视图下
language-mode [English, Chinese]
```
#### 设置标题
```shell
header login information 信息 # 载入时信息
header shell information 信息 # 远程时信息
```
#### 取消调试信息
```shell
undo terminal monitor
```
&nbsp;
### 撤销操作
<!--rehype:wrap-class=row-span-2-->
- 可用于恢复默认配置
- 可用于禁用某些功能
- 可用于删除某些配置
```shell
# 恢复默认名称
undo sysname
# 禁用信息显示
undo in en
# 删除接口配置
undo ip address
```
#### 恢复出厂设置
`reset saved-configuration`
### 历史命令
<!--rehype:wrap-class=row-span-1-->
使用上箭头或 ctrl+p 可访问上一命令
使用下箭头或 ctrl+n 可访问下一命令
默认保存10条命令
#### 显示历史命令
`display history-command`
### 设置系统时钟
```shell
# 在用户视图下
# 为保证与其他设备协调工作需要配置系统时钟
clock datetime 12:00:00 2020-02-02 # 时间
clock timezone BJ add 08:00:00 # 时区
```
### mac 地址
<!--rehype:wrap-class=col-span-2-->
```shell
# 添加 mac 地址
# MAC-Address mac 地址
# e0/0/0 自定义接口
# VlanID 自定义 vlanid
mac-address static MAC-Address e0/0/0 vlan VlanID
# 清除
reset arp all
```
### 退出
`quit` 命令用于从任意视图退回上一个视图
`return` 这是立刻退回至用户视图
### 保存配置
`save`
### 重启
```shell
reboot
```
登录管理
---
### STelnet 方式
<!--rehype:wrap-class=col-span-2 row-span-3-->
```shell
# 开启 ssh 服务
stelnet server enable
# 配置远程管理ip
int vlanif 1
ip add 192.168.1.254 24
# 生成本地 rsa 秘钥对
rsa local-key-pair create
# ssh 首次认证
ssh cl fi en
# ssh 用户验证类型 password
ssh user admin authentication-type password
# ssh 用户服务类型 stelnet
ssh user admin service-type stelnet
```
#### AAA 登录
```shell
aaa
# 本地用户 admin 密码密文 123456 等级 2
local-user admin password cipher 123456 privilege level 2
# 本地用户 admin 登录方式 ssh
local-user admin service-type ssh
quit
user-interface vty 0 4
authentication-mode aaa # 认证模式 aaa
protocol inbound ssh # 仅支持 ssh 协议
quit
# ssh用户端首次认证
ssh client first-time enable
```
#### 命令级别
- 0 参观级 只能进行如诊断工具命令pingtracert部分 display 命令
- 1 监控级 主要用于系统维护业务故障诊断包括部分displaydebugging命令
- 2 配置级 主要用于业务配置,包括路由,各个网络层次命令,可向用户提供直接网络服务
- 3 - 15 为管理级,涉及系统基本运行,系统支撑模块等
### Console 接口登录
#### 永不超时
```shell
user-interface console 0 # 进入 console 接口
idle-timeout 0 # 超时时间为 0 即 永不超时
```
#### 密码认证
```shell
user-interface console 0
authentication-mode password # 验证模式 密码认证
set authentication password simple 123456 # 设置验证密码 简单密码 123456
```
#### AAA认证
```shell
user-interface console 0
authentication-mode aaa # 验证模式 AAA认证
quit
aaa # 进入 aaa 模式
local-user admin password simple 123456 # 本地用户 admin 密码 简单密码 123456
local-user admin password cipher 123456 # 本地用户 admin 密码 密文密码 123456
local-user admin service-type terminal # 本地用户 admin 服务类型 终端
```
### Telnet 方式
```shell
# 开启 Telnet
telnet server enable
```
#### password 登录
```shell
user-interface vty 0 4
authentication-mode password # 认证模式 password
set authentication password simple 123456 # 设置 认证 密码 简单密码 123456
user privilege level 2 # 用户等级 2
idle-timeout 15 # 断连时间 15 分
```
#### AAA 登录
```shell
aaa
# 本地用户 admin 密码密文 123456 等级 2
local-user admin password cipher 123456 privilege level 2
# 本地用户 admin 登录方式 telnet
local-user admin service-type telnet
quit
user-interface vty 0 4
authentication-mode aaa # 认证模式 aaa
quit
```
### 远程 IP
```shell
# 远程管理 ip
int vlanif 1
ip add 192.168.1.254 24
# pc
192.168.1.1 24
```
接口配置
---
### 接口组
<!--rehype:wrap-class=col-span-2-->
```sh
# 组内配置会自动为组成员配置
port-group 1 # 创建接口组 1
group-member e0/0/2 to e0/0/8 # 划分组成员为 e0/0/2 - e0/0/8 即 2,3,4,5,6,7,8 接口
```
#### 接口模式
```shell
# access 普通模式 只能在某个 vlan 中通信
# trunk 中继器模式 可在任意 vlan 中通信
int e0/0/1
port link-type access # 接口模式为 access
port link-type trunk # 接口模式为 trunk
```
#### 接口带宽
```shell
# 接口每秒传输数据量
int e0/0/1
# 10Mbit/s
# 100Mbit/s
# Auto 自协商
speed 10 | 100 | Auto
# 关闭自协商
# 先关闭自协商再手动指定接口速率
undo negotiation auto
```
#### 接口双工模式
```shell
# 接口协商模式不一致会导致异常
int e0/0/1
# full 全双工 同时收发数据
# half 半双工 同时只能接收或发送数据一个操作
duplex full | half
# 先关闭自协商再手动指定
```
#### 配置 trunk
```sh
interface g0/0/1 # 进入接口
port link-type trunk # 接口模式为 trunk
port trunk allow-pass vlan VlanId | all # all 为通过所有vlan, VlanId 为指定 vlan多个vlan以空格隔开
```
### vlan 配置
#### 查看 vlan
`display vlan`
#### 创建 vlan
```sh
vlan VlanId # VlanId 自定义vlanid 1 ~ 4094
description VLANNAME # VLANNAME 自定义的 vlan 名称
undo vlan VlanId # 删除vlan
vlan batch 10 20 30 # 创建 10,20,30 vlan
vlan batch 10 to 30 # 创建 10 ~ 30 vlan
```
#### 分配 vlan
```sh
interface E0/0/1 # 进入接口
port link-type access # 接口模式设为 access
port default vlan 10 # 划分到 vlan 10 中
port-group 1 # 创建接口组 1
group-member e0/0/5 to e0/0/8 # 组成员为 e0/0/5 - e0/0/8 .... 5,6,7,8
port link-type access # 组成员接口模式设为 access
port default vlan 10 # 组成员划分到 vlan 10 中
```
交换机配置
---
### 链路聚合
<!--rehype:wrap-class=col-span-2-->
又称接口汇聚,指两台交换机之间物理上多个接口链接起来,将多条链路聚合为一条逻辑链路
从而增加链路宽带,使链路之间可以互相冗余备份
```shell
interface eth-trunk 1 # 创建 id 为 1 的 eth-trunk 聚合接口
quit
interface g0/0/1
eth-trunk 1 # 加入 g/0/01 到 eth-trunk 1 中
# 添加完毕成员后
# eth-trunk 接口下
port link-type trunk # 设置接口链路类型为 trunk
# 在聚合接口下添加成员
trunkport g0/0/1
trunkport g0/0/1 to g0/0/2
# 删除用 undo
```
### STP (Spanning Tree Protocol)
<!--rehype:wrap-class=col-span-2-->
即生成树协议
可将有环路的物理拓扑变为无环路的逻辑拓扑,从而为网络提供安全机制,使得冗余拓扑中不会产生交换环路问题
```shell
# 三层交换机
# 首先需要创建 vlan
# 划分接口给 vlan
# 所有与其他交换机相连接口需要做 trunk 放通划分 vlan
# 二层交换机
# 建立 vlan
# 客户机接口划分默认 vlan
# 与三层交换机相连接口做 trunk 放通 vlan
# 开启 STP
# 系统视图下
# 交换机都要配置
# stp 开启
stp enable
# stp 模式 stp
stp mode stp
# # 指定根交换机
# 配置优先级
# 系统视图下
# 优先级为 0
# 优先级值在 0 ~ 65535 默认 32768
# 要求设为 4096 倍数
stp priority 0
# 使用命令
# 系统视图下
# 需要先删除配置优先级
# 根交换机
stp root primary
# 备用根交换机
stp root secondary
# #
```
### RSTPRapid Spanning Tree Protocol
<!--rehype:wrap-class=col-span-2-->
即快速生成树协议
发生网络故障时STP 的网络拓扑结构会发生变化网络收敛需要较长时间RSTP 改进了 STP收敛速度可缩短至一秒内
与 STP 配置基本相同
不同点:
```shell
# 系统视图下
stp enable
# stp mode stp 变更
stp mode rstp
# 配置边缘接口
# 接口视图下
# 将该接口设置为边缘接口
# 节省接口从初始启动到转发状态的时间间隔
# 默认不参与生成树计算
# 不经历转发延迟
# 关闭或激活不触发 RSTP 拓扑变更
# 通常将与终端设备连接的接口设置
stp edged-port enable
```
### DHCPDynamic Host Configuration Protocol
<!--rehype:wrap-class=col-span-2-->
即动态主机配置协议
可有规划的划分 IP 地址,也可避免用户私设 IP 引起的地址冲突
三层交换机可充当 DHCP 服务器,能动态分配 IP 地址及 DNS 服务地址等网络参数
可以使得用户零配置上网
```sh
# 二层交换机
# 首先创建 vlan
# 一个 vlan 代表一个地址池范围
# 然后划分接口配置默认 vlan
# 进入与三层交换机相连的接口做 trunk 并放通 vlan
# # 三层交换机
# 创建 vlan
# 进入与二层交换机相连的接口做 trunk 并放通 vlan
# 开启 DHCP
# 系统视图下
dhcp enable
# 系统视图下
# 建立地址池 V10 V10 为自定义的合法地址池名称
ip pool V10
# 发布网段 10.10.10
# 掩码 255.0.0.0
network 10.10.10.0 mask 255.0.0.0
# 配置网关
gateway-list 10.10.10.254
# 设置租期为 8 天
lease 8
# dns 服务器 5.5.5.5
dns-list 5.5.5.5
# 进入 vlan 视图
# 为 vlan 配置对应的网关地址及掩码
# 配置设备指定接口采取全局地址
# vlan 视图下
# dhcp 配置选择 全局配置
dhcp select global
# dhcp 配置选择 接口配置
# 接口配置与全局配置基本相同
# 此 dhcp 配置在接口中
dhcp select interface
# #
# 保留地址
# 保留了 5 - 15 这个范围的 IP 地址
excluded-ip-address 10.10.10.5 10.10.10.15
```
路由配置
---
### 查看路由
<!--rehype:wrap-class=col-span-3-->
```sh
# 查看路由表
display ip routing-table
```
### VRRP (Virtual Router Redundancy Protocol)
<!--rehype:wrap-class=col-span-2 row-span-4-->
即虚拟路由器冗余协议
是一种选择协议,可将虚拟路由器责任动态分配至局域网内的一台 VRRP 路由器
控制虚拟路由器 IP 地址的 VRRP 路由器为 Master 路由器,负责将数据包进行分发
一旦 Master 不可用,可提供动态的故障转移机制
由 Backup 路由器代替 Master路由器故障时的工作
允许虚拟路由器的 IP 地址作为 终端主机的默认第一跳路由
优势为更高的默认路由的可用性,无须在终端主机上配置动态路由或路由发现协议
```sh
# 二层交换机
# 创建 vlan
# 划分接口默认 vlan
# 与 三层交换机 相连的接口配置 trunk 放通 vlan
# # 三层交换机
# 创建 vlan
# 与 二层交换机 相连的接口配置 trunk 放通 vlan
# 配置 vlan 的 IP 地址
# 配置 VRRP
# vlan 视图下
# 配置虚拟接口 IP
# 与当前 vlan ip 同段
# 一台虚拟路由器可拥有多个 IP 地址
# vrid 虚拟路由器的标识,相同的 vrid 的路由器组成一台虚拟 Master 路由器
vrrp vrid 1 virtual-ip 192.168.100.254
# 配置优先级
# 根据优先级确定虚拟路由器中每台路由器的地位
vrrp vrid 1 priority 150
# 配置抢占模式和延迟时间
# 非抢占模式
# Master 无故障, Backup 即使优先级比 Master 高也不会成为 Master
# 抢占模式
# Backup 优先级比 Master 高,则代替 Master
vrrp vrid 1 preempt-mode timer delay 5
# 将 g/0/23 配置为跟踪接口
vrrp vrid 1 track interface g0/0/23
# 查看 VRRP 服务
display vrrp brief
# 1 为 vrrp id
display vrrp 1
# #
```
### 单臂路由
划分 vlan 之后vlan 是无法互通的,但是使用单臂路由可以解决此问题。
```sh
# 首先交换机划分 vlan
# 划分接口默认 vlan
# 与路由器相连接口进行 trunk 放通 vlan
# 假设路由器与交换机连接的接口是 g0/0/0
# 创建子接口
int g0/0/0.1
# 配置 ip 地址
# 封装 802.1Q 协议
# 假设当前接口对应的 vlan 是 vlan 10
dot1q termination vid 10
# 开启 arp 广播
# 不配置会导致子接口不主动发送 arp 报文
# 以及对外转发 ip 报文
arp broadcast enable
```
### 静态路由
适用于规模较小,不经常变动,简单的网络环境
```sh
# 首先配置交换机
# 创建 vlan 并划分接口默认 vlan
# 配置 vlan 的 ip 地址
# 路由器配置相连接口 ip
# 添加 静态路由
# 所有不能直达的网络都需要添加静态路由
ip route-static 目标网段 掩码 下一跳地址
```
### 默认路由
默认路由与静态路由配置基本相同。
唯一不同的就是路由的配置。
```bash
ip rou 0.0.0.0 0.0.0.0 下一跳地址
```
### 浮动路由
就是路由器之间多个接口相连,并配置接口优先级。
配置与静态,默认路由基本相同。
```bash
ip rou 目标网段 掩码 下一跳地址
ip rou 目标网段 掩码 下一跳地址 pr 权重
```
### OSPF
<!--rehype:wrap-class=row-span-2 col-span-2-->
首先配置完毕相关接口及IP。
#### 单域
```bash
# 系统视图下
# 1 是 ospf 进程号
ospf 1
# 0 是区域号 0 是骨干区域
area 0
# 发布网段
# 网段需要根据掩码
net x.x.x.x 反码
```
#### 多域
与单域配置基本相同,只是需要划分多个 OSPF 区域。
需要注意,路由器相连接口需要划分到一个区域。
```bash
# 系统视图下
ospf 1
area 0
# 发布当前区域的网段
net x.x.x.x 反码
# 切换区域
area 1
# 发布当前区域的网段
net x.x.x.x 反码
```
### 动态路由 RIP
配置基本相同。
```bash
# 系统视图下
# 进入 rip 视图
rip
# 切换版本 2
v 2
# 自动汇总
summary always
# 发布网段 (需要根据掩码)
# 如 掩码 255.0.0.0
# 则 发布 x.0.0.0
net x.x.x.x
```
### 路由重分发
大型网络中,有时有多种路由协议共存,此时需要进行路由重分发。
```bash
# 首先完成相关路由配置
# 假设 Router 左侧为 RIP 协议
# 右侧为 OSPF 协议
# 左右路由分别是 1.1.1.1 和 2.2.2.2
# 因为 左侧为 RIP 协议
# 因此需要先配置 RIP 发布 1.1.1.0 的网段
# 右侧 OSPF 协议相同
# Router 中
# 进入 rip 中
# 导入 ospf 1 的路由
import-route ospf 1
# 进入 ospf
# 导入 rip 1 的路由
import-route rip 1
```
网络安全
---
### 接口安全
<!--rehype:wrap-class=col-span-2-->
```shell
# 接口视图下
# 开启接口安全
port-security enable
# 设置当前接口只能由 MAC 地址 MAC-ADDRESS 的设备访问
port-security mac-address sticky MAC-ADDRESS
# 设置安全 MAC 地址最大数为 1
port-security max-mac-num 1
# 设置其他非安全 MAC 地址数据帧处理动作为 关闭接口
port-security protect-action shutdown
# 设置安全 MAC 地址老化时间为 300s
port-security aging-time 300
```
### 访问控制列表Access Control List
<!--rehype:wrap-class=col-span-3-->
由一系列规则组成的集合,通过规则对报文分类处理。
通常由若干条 deny拒绝 | permit允许 语句组成。
### 基本访问控制列表
范围只能在 2000 - 2999。
```shell
# 系统视图下
acl 2000
# 规则 拒绝 源 IP地址 反码
# deny 拒绝 permit 允许
rule deny source IP-ADDRESS MASK
# 接口视图下
# 传输过滤 输出 规则 2000
# outbound 输出
# inbound 输入
traffic-filter outbound acl 2000
```
### 高级访问控制列表
<!--rehype:wrap-class=col-span-2-->
范围 3000 - 3999。
需要尽量应用在靠近源地址的接口,允许某个网段后需要拒绝其他网段。
对于 FTP 须指定 FTP21和 FTP-DATA20
```shell
# 系统视图下
acl 3000
# 规则 id5 拒绝 tcp 源 IP-ADDRESS 反码 访问目标 IP-ADDRESS 反码 目标端口 范围 20 21
rule 5 deny tcp source IP-ADDRESS MASK destination IP-ADDRESS MASK destination-port range 20 21
#规则 id10 允许 tcp 源 IP-ADDRESS 反码 访问目标 IP-ADDRESS 反码 目标端口 等于 80
# gt 大于
# lt 小于
rule 10 permit tcp source IP-ADDRESS MASK destination IP-ADDRESS MASK destination-port eq 80
```