diff --git a/README.md b/README.md index 6bbefd6c..8ba59283 100644 --- a/README.md +++ b/README.md @@ -121,6 +121,8 @@ Quick Reference [Elixir](./docs/elixir.md) [Tauri](./docs/tauri.md) [Claude Code](./docs/claude.md) +[Cisco 网络设备](./docs/cisco.md) +[Huawei 网络设备](./docs/huawei.md) ## 编程 @@ -332,6 +334,13 @@ Quick Reference [SQLite](./docs/sqlite.md) +## 网络设备 + +[Cisco 网络设备](./docs/cisco.md) +[Huawei 网络设备](./docs/huawei.md) + + + ## 快捷键 [Adobe Lightroom](./docs/adobe-lightroom.md) diff --git a/docs/cisco.md b/docs/cisco.md new file mode 100644 index 00000000..4b545063 --- /dev/null +++ b/docs/cisco.md @@ -0,0 +1,594 @@ +Cisco 网络设备备忘清单 +=== + +本清单提供了 Cisco 网络设备常用命令示例 + +清单内容基于 [**Cisco Packet Tracer**](https://www.netacad.com/cisco-packet-tracer) 进行 + +模式 +--- + +### 模式简介 + + +是指命令行界面的操作层级,不同模式可执行不同范围的命令 + +以下列出了一些基本的模式 + +| 模式 | 命令提示符 | 进入方式 | +| :-: | :-: | :-: | +| 用户模式 | `用户名称>` | 默认进入 | +| 特权模式 | `用户名称#` | 通过 enable 进入 | +| 全局配置模式 | `用户名称(config)#` | 通过 config terminal 进入 | +| VLAN 模式 | `用户名称(config-vlan)#` | 通过 vlan vlan-ID 进入 | +| 接口配置模式 | `用户名称(config-if)#` | 通过 interface 接口 进入 | +| Line 模式 | `用户名称(config-line)#` | 通过 line vty 端口 进入 | + + +### 进入特权模式 + +```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 ~ # 关闭端口 ~ +``` + +### 设置进入特权模式密码 + + +需要在全局模式下进行 + +#### 明文密码 + +```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 + + +#### 首先创建需要配置的对应 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 +``` + +### 配置远程 + + +#### 配置远程用户 + +```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 +``` + +路由配置 +--- + +### 静态路由 + + +```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地址则为公交车的终点站 +``` + +### 默认路由 + + +```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 +``` + +### 单臂路由 + + +```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 +``` + +### 动态路由 + + +```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地址为与当前路由器所相连的接口所配置的IP,0表示全网段 +## 即 network 后,所有在 192.168.1.1 - 254 这个范围的IP都能联通 +``` + +### OSPF 配置 + + +```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协议 + + +```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 协议 + + +```shell +# 概念 +## RB(Root Bridge) 根网桥 +### 网络中倒数的根,整个网络中只存在一个根 +## RP(Root Port)根端口 +## DP(design 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 +``` + +### 三层交换机 + + +```shell +# 首先在三层交换机上启动路由 +ip routing +# 然后配置vlan的ip地址 +int vlan vlan-id +## 添加IP地址 +ip address ip-address subnet-mask +## 启动当前接口 +no sh +# 然后进入交换机与添加到vlan中的ip地址一致的终端相连的接口 +## 将当前接口添加到赋予当前接口连接的终端ip地址一致的vlan中 +``` + +### 三层交换机DHCP配置 + + +```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即可 +``` diff --git a/docs/huawei.md b/docs/huawei.md new file mode 100644 index 00000000..b6e9c167 --- /dev/null +++ b/docs/huawei.md @@ -0,0 +1,778 @@ +Huawei 网络设备备忘清单 +=== + +本清单提供了对 Huawei 网络设备的入门简要概述,以及 Huawei 网络设备常用命令示例 + +基本知识 +--- + +### VRP + +是华为数据通信产品的通用网络操作平台,可通过它对设备进行操作 + +可进行简化输入,输入命令时,若不记得,可通过命令行获取相关提示 + +例如 `undo in en` 取消系统信息显示,完整命令为 `undo info-center enable` + +如果简写有歧义,那么需要输入更完整的部分。 + +### 视图 + + +视图(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` | 用于配置认证、授权与计费 | + + +--- + +```txt +用户视图 + └── system-view (系统视图) + ├── interface GigabitEthernet0/0/1 (接口视图) + ├── vlan 10 (VLAN视图) + ├── acl 3000 (ACL视图) + ├── ospf 1 (OSPF视图) + └── aaa (AAA视图) +``` + +基本操作 +--- + +### 系统信息 + + +#### 查看信息 + +```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 +``` + +  + +### 撤销操作 + + +- 可用于恢复默认配置 +- 可用于禁用某些功能 +- 可用于删除某些配置 + +```shell +# 恢复默认名称 +undo sysname +# 禁用信息显示 +undo in en +# 删除接口配置 +undo ip address +``` + +#### 恢复出厂设置 + +`reset saved-configuration` + +### 历史命令 + + +使用上箭头或 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 地址 + + +```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 方式 + + +```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 参观级 只能进行如诊断工具命令(ping,tracert),部分 display 命令 +- 1 监控级 主要用于系统维护,业务故障诊断,包括部分display,debugging命令 +- 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 +``` + +接口配置 +--- + +### 接口组 + + +```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 中 +``` + +交换机配置 +--- + +### 链路聚合 + + +又称接口汇聚,指两台交换机之间物理上多个接口链接起来,将多条链路聚合为一条逻辑链路 + +从而增加链路宽带,使链路之间可以互相冗余备份 + +```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) + + +即生成树协议 + +可将有环路的物理拓扑变为无环路的逻辑拓扑,从而为网络提供安全机制,使得冗余拓扑中不会产生交换环路问题 + +```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 +# # +``` + +### RSTP(Rapid Spanning Tree Protocol) + + +即快速生成树协议 + +发生网络故障时,STP 的网络拓扑结构会发生变化,网络收敛需要较长时间,RSTP 改进了 STP,收敛速度可缩短至一秒内 + +与 STP 配置基本相同 + +不同点: + +```shell +# 系统视图下 +stp enable +# stp mode stp 变更 +stp mode rstp + +# 配置边缘接口 +# 接口视图下 +# 将该接口设置为边缘接口 +# 节省接口从初始启动到转发状态的时间间隔 +# 默认不参与生成树计算 +# 不经历转发延迟 +# 关闭或激活不触发 RSTP 拓扑变更 +# 通常将与终端设备连接的接口设置 +stp edged-port enable +``` + +### DHCP(Dynamic Host Configuration Protocol) + + +即动态主机配置协议 + +可有规划的划分 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 +``` + +路由配置 +--- + +### 查看路由 + + +```sh +# 查看路由表 +display ip routing-table +``` + +### VRRP (Virtual Router Redundancy Protocol) + + +即虚拟路由器冗余协议 + +是一种选择协议,可将虚拟路由器责任动态分配至局域网内的一台 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 + + +首先配置完毕相关接口及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 +``` + +网络安全 +--- + +### 接口安全 + + +```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) + + +由一系列规则组成的集合,通过规则对报文分类处理。 + +通常由若干条 deny(拒绝) | permit(允许) 语句组成。 + +### 基本访问控制列表 + +范围只能在 2000 - 2999。 + +```shell +# 系统视图下 +acl 2000 +# 规则 拒绝 源 IP地址 反码 +# deny 拒绝 permit 允许 +rule deny source IP-ADDRESS MASK +# 接口视图下 +# 传输过滤 输出 规则 2000 +# outbound 输出 +# inbound 输入 +traffic-filter outbound acl 2000 +``` + +### 高级访问控制列表 + + +范围 3000 - 3999。 + +需要尽量应用在靠近源地址的接口,允许某个网段后需要拒绝其他网段。 + +对于 FTP 须指定 FTP(21)和 FTP-DATA(20)。 + +```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 +```