增加了网工相关笔记,还有一点linux和git
This commit is contained in:
@@ -0,0 +1,269 @@
|
||||
# 清理 Git 历史中的本地目录模板
|
||||
|
||||
这份模板用于把某个已经推送过的本地目录,从远端仓库的历史提交中移除。
|
||||
|
||||
适用场景:
|
||||
|
||||
```text
|
||||
某个目录已经被 push 到远端
|
||||
后来发现它不适合公开,例如简历、密码本、密钥、隐私资料
|
||||
希望远端最新版本和历史提交中都不再包含它
|
||||
但本地仍然要保留这个目录
|
||||
```
|
||||
|
||||
## 参数
|
||||
|
||||
把下面这些参数替换成自己的实际值:
|
||||
|
||||
```text
|
||||
<原仓库路径> 当前正在使用的本地仓库路径
|
||||
<旧仓库备份路径> 原仓库的备份路径
|
||||
<清理仓库路径> 新 clone 出来的临时清理仓库路径
|
||||
<远端地址> GitHub/Gitee 等远端仓库地址
|
||||
<分支名> 要重写并推送的分支,例如 master 或 main
|
||||
<目录路径> 要从历史中移除的目录,例如 简历/
|
||||
```
|
||||
|
||||
多个目录可以写多个 `--path`:
|
||||
|
||||
```powershell
|
||||
git filter-repo --path "<目录1>/" --path "<目录2>/" --invert-paths
|
||||
```
|
||||
|
||||
## 重要提醒
|
||||
|
||||
如果目录里包含密码、Recovery Key、Token 等敏感信息,应先更换或吊销这些信息。
|
||||
|
||||
清理 Git 历史只能减少仓库历史中的暴露,不等于保证已经泄露的信息重新安全。
|
||||
|
||||
重写历史后,提交 ID 会变化,因此远端需要强推:
|
||||
|
||||
```powershell
|
||||
git push --force-with-lease origin <分支名>
|
||||
```
|
||||
|
||||
`--force-with-lease` 比 `--force` 更安全。它会先检查远端分支是否仍停在本地记录的位置,避免覆盖别人新推送的提交。
|
||||
|
||||
## 流程
|
||||
|
||||
### 1. 检查原仓库状态
|
||||
|
||||
进入当前本地仓库:
|
||||
|
||||
```powershell
|
||||
cd "<原仓库路径>"
|
||||
git status
|
||||
```
|
||||
|
||||
如果有未提交修改,先提交、备份或手动处理。不要在状态混乱时重写历史。
|
||||
|
||||
### 2. 备份原仓库
|
||||
|
||||
把当前仓库复制或改名保留:
|
||||
|
||||
```powershell
|
||||
cd "<原仓库的上级目录>"
|
||||
ren "<原仓库文件夹名>" "<旧仓库备份文件夹名>"
|
||||
```
|
||||
|
||||
也可以用资源管理器手动复制一份。
|
||||
|
||||
重点是保留本地私有目录,后面要从 old 里复制回新仓库。
|
||||
|
||||
### 3. 在非同步目录重新 clone
|
||||
|
||||
建议不要在 OneDrive、网盘同步目录里执行历史重写。
|
||||
|
||||
```powershell
|
||||
cd "<临时工作目录>"
|
||||
git clone <远端地址> "<清理仓库文件夹名>"
|
||||
cd "<清理仓库路径>"
|
||||
```
|
||||
|
||||
### 4. 清理历史
|
||||
|
||||
清理单个目录:
|
||||
|
||||
```powershell
|
||||
git filter-repo --path "<目录路径>/" --invert-paths
|
||||
```
|
||||
|
||||
清理多个目录:
|
||||
|
||||
```powershell
|
||||
git filter-repo --path "<目录1>/" --path "<目录2>/" --invert-paths
|
||||
```
|
||||
|
||||
说明:
|
||||
|
||||
```text
|
||||
--path 指定要匹配的路径
|
||||
--invert-paths 反转选择,保留其他路径,移除指定路径
|
||||
```
|
||||
|
||||
如果提示不是 fresh clone,可以在确认备份无误后使用:
|
||||
|
||||
```powershell
|
||||
git filter-repo --force --path "<目录路径>/" --invert-paths
|
||||
```
|
||||
|
||||
### 5. 检查并恢复 remote
|
||||
|
||||
`git filter-repo` 可能会删除 `origin` remote。
|
||||
|
||||
检查:
|
||||
|
||||
```powershell
|
||||
git remote -v
|
||||
```
|
||||
|
||||
如果没有输出,重新添加:
|
||||
|
||||
```powershell
|
||||
git remote add origin <远端地址>
|
||||
```
|
||||
|
||||
### 6. 修改 .gitignore
|
||||
|
||||
把本地要保留、但以后不再提交的目录写入 `.gitignore`:
|
||||
|
||||
```gitignore
|
||||
/<目录路径>/
|
||||
```
|
||||
|
||||
例如:
|
||||
|
||||
```gitignore
|
||||
/简历/
|
||||
```
|
||||
|
||||
提交 `.gitignore` 修改:
|
||||
|
||||
```powershell
|
||||
git add .gitignore
|
||||
git commit -m "Ignore local-only directory"
|
||||
```
|
||||
|
||||
### 7. 获取远端状态
|
||||
|
||||
执行:
|
||||
|
||||
```powershell
|
||||
git fetch origin
|
||||
```
|
||||
|
||||
`fetch` 不是合并。它只是把远端当前状态下载到本地,例如更新 `origin/<分支名>`。
|
||||
|
||||
这里的作用是让 `--force-with-lease` 能检查远端分支是否被别人更新过。
|
||||
|
||||
### 8. 强推清理后的历史
|
||||
|
||||
```powershell
|
||||
git push --force-with-lease origin <分支名>
|
||||
```
|
||||
|
||||
如果成功,远端 `<分支名>` 会被替换成清理后的新历史。
|
||||
|
||||
### 9. 检查清理结果
|
||||
|
||||
检查历史中是否还存在目标目录:
|
||||
|
||||
```powershell
|
||||
git log --all -- "<目录路径>/"
|
||||
```
|
||||
|
||||
没有输出,说明当前可见历史里已经找不到这个目录。
|
||||
|
||||
也可以检查远端分支:
|
||||
|
||||
```powershell
|
||||
git fetch origin
|
||||
git log origin/<分支名> -- "<目录路径>/"
|
||||
```
|
||||
|
||||
### 10. 重建日常使用的本地仓库
|
||||
|
||||
回到原来的仓库位置,从远端重新 clone:
|
||||
|
||||
```powershell
|
||||
cd "<原仓库的上级目录>"
|
||||
git clone <远端地址> "<原仓库文件夹名>"
|
||||
```
|
||||
|
||||
### 11. 复制回本地私有目录
|
||||
|
||||
从 old 备份中,把本地要保留但不提交的目录复制回新仓库:
|
||||
|
||||
```text
|
||||
<旧仓库备份路径>/<目录路径>
|
||||
复制到
|
||||
<原仓库路径>/<目录路径>
|
||||
```
|
||||
|
||||
### 12. 最终验证
|
||||
|
||||
进入新仓库:
|
||||
|
||||
```powershell
|
||||
cd "<原仓库路径>"
|
||||
git status
|
||||
git check-ignore -v --no-index -- "<目录路径>/任意测试文件.md"
|
||||
git log --all -- "<目录路径>/"
|
||||
```
|
||||
|
||||
理想结果:
|
||||
|
||||
```text
|
||||
git status 没有异常改动
|
||||
git check-ignore 能看到 .gitignore 命中规则
|
||||
git log 没有输出
|
||||
```
|
||||
|
||||
## 常见问题
|
||||
|
||||
### filter-repo 不是 Git 命令
|
||||
|
||||
报错:
|
||||
|
||||
```text
|
||||
git: 'filter-repo' is not a git command
|
||||
```
|
||||
|
||||
说明还没有安装 `git-filter-repo`。
|
||||
|
||||
可以尝试:
|
||||
|
||||
```powershell
|
||||
python -m pip install git-filter-repo
|
||||
```
|
||||
|
||||
### push 被拒绝 stale info
|
||||
|
||||
如果强推时报:
|
||||
|
||||
```text
|
||||
! [rejected] <分支名> -> <分支名> (stale info)
|
||||
```
|
||||
|
||||
通常是因为本地没有最新的 `origin/<分支名>` 信息。
|
||||
|
||||
先执行:
|
||||
|
||||
```powershell
|
||||
git fetch origin
|
||||
git push --force-with-lease origin <分支名>
|
||||
```
|
||||
|
||||
### .gitignore 不会影响已跟踪文件
|
||||
|
||||
`.gitignore` 只影响未被跟踪的新文件。
|
||||
|
||||
如果某个文件已经被 Git 跟踪,需要取消跟踪:
|
||||
|
||||
```powershell
|
||||
git rm --cached -r -- "<目录路径>"
|
||||
git commit -m "Stop tracking local-only directory"
|
||||
git push
|
||||
```
|
||||
|
||||
这只会从 Git 跟踪列表中移除,不会删除本地实际文件。
|
||||
@@ -0,0 +1,6 @@
|
||||
语法:su \[-] \[用户名]
|
||||
可以通过exit返回上一个用户或快捷键Ctrl+D
|
||||
|
||||
参数:
|
||||
- -:切换后加载环境变量
|
||||
- 用户名:不加默认切换到root
|
||||
@@ -0,0 +1,7 @@
|
||||
作用:sudo用来在非root账户上用root权限执行指令
|
||||
|
||||
使用权限:在sudo组的账号,例如创建系统时的账号
|
||||
|
||||
案例:
|
||||
- sudo su - //用sudo来切换到root账号
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
Root用户:拥有最大的权限,可以增删改查所有内容包括系统本身,默认密码不存在
|
||||
|
||||
sudo passwd -S root显示L标识密码锁定
|
||||
|
||||
切换到root的指令用[[su]]
|
||||
因为默认密码不存在,一般的su - root无法切换到root
|
||||
|
||||
使用普通用户切换到其他用户需要输入密码
|
||||
使用root用户切换到其他用户无需输入密码
|
||||
|
||||
一种基于[[sudo指令]]组用户切换到root指令:sudo - su
|
||||
sudo用户:创建系统时的用户
|
||||
@@ -0,0 +1,7 @@
|
||||
切换到root用户后,执行指令:visudo
|
||||
该指令会自动通过vi打开/etc/sudoers
|
||||
|
||||
在文件中添加
|
||||
`用户名 ALL=(ALL) NOPASSWD:ALL`
|
||||
NOPASSWD表示使用sudo命令无需输入密码
|
||||
|
||||
+3
-1
@@ -1,3 +1,5 @@
|
||||
ctrl+l:清空控制台
|
||||
|
||||
ctrl+w:删除指令的最近一部分
|
||||
ctrl+w:删除指令的最近一部分
|
||||
|
||||
Ctrl+d:返回上一个用户
|
||||
@@ -0,0 +1,241 @@
|
||||
# 网络工程学习提纲
|
||||
|
||||
这份提纲先服务于笔记整理,目标不是一次写全,而是按模块逐步补齐。
|
||||
|
||||
## 01 二层交换技术
|
||||
|
||||
### 00 总览与交换基础
|
||||
- 交换机、集线器、路由器的区别
|
||||
- 冲突域与广播域
|
||||
- 交换机二层转发流程:学习、泛洪、转发、老化
|
||||
- 单播、广播、组播的基本概念
|
||||
- 常见查看命令与基础排障思路
|
||||
|
||||
### 01 VLAN 与端口类型
|
||||
- VLAN 的作用与划分广播域的意义
|
||||
- VLAN ID、缺省 VLAN、管理 VLAN
|
||||
- Access、Trunk、Hybrid 的区别
|
||||
- Tag/Untagged、PVID 的含义
|
||||
- 不同 VLAN 之间默认不能通信的原因
|
||||
- VLAN 常见配置思路与常见故障点
|
||||
|
||||
### 02 MAC 与 ARP
|
||||
- MAC 地址的概念与格式
|
||||
- MAC 地址表的学习与老化
|
||||
- ARP 的作用与请求/应答过程
|
||||
- Gratuitous ARP 的基本用途
|
||||
- ARP 欺骗、ARP 冲突的基本现象
|
||||
- 结合抓包或报文流理解二层与三层寻址
|
||||
|
||||
### 03 STP 与环路防护
|
||||
- 二层环路产生原因与危害
|
||||
- STP 的基本思想与端口状态
|
||||
- 根桥、根端口、指定端口的选举规则
|
||||
- RSTP、MSTP 相比 STP 的改进点
|
||||
- 边缘端口、BPDU 保护、根保护、环路保护
|
||||
- 拓扑变化 TC 对网络的影响
|
||||
|
||||
### 04 链路聚合
|
||||
- 链路聚合的作用:带宽提升与冗余
|
||||
- 手工聚合与 LACP
|
||||
- 聚合口与成员口关系
|
||||
- 聚合成员一致性要求
|
||||
- 聚合与 VLAN、STP 的联动
|
||||
- 聚合故障的常见定位思路
|
||||
|
||||
### 05 二层安全与控制
|
||||
- 端口隔离
|
||||
- 风暴抑制
|
||||
- MAC 地址绑定/限制
|
||||
- DHCP Snooping
|
||||
- 动态 ARP 检测的基本思路
|
||||
- 常见接入口安全场景
|
||||
|
||||
### 06 二层排障
|
||||
- 主机不通时的排查顺序
|
||||
- VLAN 不通、Trunk 不放行、PVID 错误的表现
|
||||
- STP 阻塞导致的链路现象
|
||||
- 聚合协商失败的现象
|
||||
- 结合 `display`/`show` 命令形成排障模板
|
||||
|
||||
## 02 三层路由技术
|
||||
|
||||
### 00 总览与三层转发
|
||||
- 路由器与三层交换机的作用
|
||||
- 三层转发的基本过程
|
||||
- 路由表的意义
|
||||
- 最长匹配原则
|
||||
|
||||
### 01 IP 编址与子网划分
|
||||
- IPv4 地址结构
|
||||
- 子网掩码与 CIDR 表示
|
||||
- 网段地址、广播地址、可用主机范围
|
||||
- 子网划分与 VLSM
|
||||
- 常见编址题型与速算技巧
|
||||
|
||||
### 02 路由基础与直连路由
|
||||
- 直连路由、下一跳、出接口
|
||||
- 路由优先级与度量值的基本概念
|
||||
- 路由表字段怎么看
|
||||
- 三层接口与 VLANIF 的角色
|
||||
|
||||
### 03 静态路由与默认路由
|
||||
- 静态路由的用途
|
||||
- 缺省路由的用途
|
||||
- 浮动静态路由
|
||||
- 黑洞路由的基本概念
|
||||
- 静态路由的典型实验场景
|
||||
|
||||
### 04 RIP
|
||||
- 距离矢量协议特点
|
||||
- RIP 的跳数限制
|
||||
- RIP v1 与 v2 的区别
|
||||
- 定时更新与收敛
|
||||
- 水平分割、毒性逆转的基本概念
|
||||
|
||||
### 05 OSPF
|
||||
- 链路状态协议特点
|
||||
- Router ID、区域、骨干区域
|
||||
- 邻居建立与基本报文类型
|
||||
- DR/BDR 的作用
|
||||
- 代价 Cost 与路由计算
|
||||
- 单区域与多区域基本设计
|
||||
- 常见邻居起不来的原因
|
||||
|
||||
### 06 ACL
|
||||
- ACL 的作用与使用场景
|
||||
- 基本 ACL 与高级 ACL
|
||||
- 源地址、目的地址、协议、端口匹配
|
||||
- 通配符掩码
|
||||
- `permit` 与 `deny` 的逻辑
|
||||
- 入方向与出方向
|
||||
- ACL 与流量控制、NAT、PBR 的联动
|
||||
|
||||
### 07 三层排障
|
||||
- 网关配置错误
|
||||
- 掩码错误导致的通信异常
|
||||
- 默认路由缺失
|
||||
- 动态路由邻居/路由发布异常
|
||||
- ACL 误拦截的排查思路
|
||||
|
||||
## 03 高可用与出口
|
||||
|
||||
### 00 总览
|
||||
- 企业网络出口常见需求
|
||||
- 高可用、冗余、负载分担的基本概念
|
||||
|
||||
### 01 默认网关冗余 VRRP
|
||||
- VRRP 的作用
|
||||
- Master/Backup 机制
|
||||
- 虚拟 IP 与优先级
|
||||
- 抢占与故障切换
|
||||
- 典型园区网网关冗余场景
|
||||
|
||||
### 02 NAT
|
||||
- NAT 的作用与使用原因
|
||||
- 静态 NAT、动态 NAT、NAPT
|
||||
- Easy IP 的基本思路
|
||||
- 地址转换表怎么看
|
||||
- NAT 常见故障与调试
|
||||
|
||||
### 03 策略路由 PBR
|
||||
- 策略路由与普通路由的区别
|
||||
- 按源地址/业务类型选路
|
||||
- PBR 与 ACL 的配合
|
||||
- 双出口分流的常见场景
|
||||
|
||||
### 04 双出口与链路冗余
|
||||
- 主备出口
|
||||
- 负载分担出口
|
||||
- 运营商双线场景
|
||||
- 路由跟踪与故障切换基本思路
|
||||
|
||||
### 05 高可用与出口排障
|
||||
- NAT 不生效
|
||||
- VRRP 不切换或频繁切换
|
||||
- 双出口策略不命中
|
||||
- 链路恢复后业务异常的原因
|
||||
|
||||
## 04 VPN 与隧道
|
||||
|
||||
### 00 总览
|
||||
- VPN 与隧道技术解决什么问题
|
||||
- 常见站点到站点与远程接入场景
|
||||
|
||||
### 01 PPP 与广域网基础
|
||||
- PPP 的基本作用
|
||||
- PAP、CHAP 的区别
|
||||
- 广域网链路认证基础
|
||||
|
||||
### 02 GRE
|
||||
- GRE 的用途
|
||||
- 封装思路
|
||||
- 为什么要用 GRE 传递路由协议或多种流量
|
||||
|
||||
### 03 IPsec
|
||||
- IPsec 的目标:认证、完整性、加密
|
||||
- AH 与 ESP 的区别
|
||||
- 传输模式与隧道模式
|
||||
- IKE 协商的基本过程
|
||||
- 感兴趣流的匹配思路
|
||||
|
||||
### 04 GRE over IPsec
|
||||
- 为什么叠加使用
|
||||
- 配置逻辑
|
||||
- 常见适用场景
|
||||
|
||||
### 05 L2TP
|
||||
- L2TP 的基本用途
|
||||
- 与 IPsec 配合的常见思路
|
||||
- 远程接入基本场景
|
||||
|
||||
### 06 VPN 与隧道排障
|
||||
- 隧道不起来的常见原因
|
||||
- IKE 协商失败
|
||||
- 感兴趣流不匹配
|
||||
- 路由可达但业务不通的定位思路
|
||||
|
||||
## 05 网络服务与排障
|
||||
|
||||
### 00 总览
|
||||
- 常见网络服务在企业网中的位置
|
||||
- “地址获取、名称解析、时间同步、日志监控”整体关系
|
||||
|
||||
### 01 DHCP
|
||||
- DHCP 的作用
|
||||
- Discover、Offer、Request、ACK 过程
|
||||
- 地址池、租期、网关、DNS 选项
|
||||
- DHCP 中继
|
||||
- 地址分配失败的常见原因
|
||||
|
||||
### 02 DNS
|
||||
- DNS 的作用
|
||||
- 递归查询与迭代查询
|
||||
- 常见记录类型:A、CNAME、MX
|
||||
- 域名解析失败的常见定位方法
|
||||
|
||||
### 03 NTP
|
||||
- 时间同步的意义
|
||||
- NTP 的基本工作方式
|
||||
- 时间不同步对认证、日志、安全的影响
|
||||
|
||||
### 04 SNMP 与 Syslog
|
||||
- SNMP 的用途
|
||||
- 团体字/版本的基本概念
|
||||
- Syslog 的用途
|
||||
- 日志与监控联动思路
|
||||
|
||||
### 05 常见命令与综合排障
|
||||
- `ping`、`tracert/traceroute`
|
||||
- `arp`、`display mac-address`、`display ip routing-table`
|
||||
- `display vlan`、`display stp`
|
||||
- `display ospf peer`、`display nat session`
|
||||
- 综合排障顺序:物理层、二层、三层、策略、服务
|
||||
|
||||
## 写作建议
|
||||
|
||||
- 每篇笔记尽量固定成 5 段:概念、作用、原理、配置思路、常见故障。
|
||||
- 先写“为什么要用”,再写“怎么配”,最后写“配错会怎样”。
|
||||
- 命令不一定一次写很多,但每篇最好有 3 到 5 个常用查看命令。
|
||||
- 多写“现象 -> 原因 -> 排查命令 -> 修复思路”,这样后面复习更快。
|
||||
- ACL、NAT、PBR 这类容易混的内容,尽量配一个小拓扑去理解流量方向。
|
||||
@@ -0,0 +1,132 @@
|
||||
# MAC 与 ARP
|
||||
|
||||
## MAC
|
||||
|
||||
MAC 一般指 **MAC 地址**,不是我们平时说的一种独立协议。
|
||||
|
||||
MAC 地址的主要作用是:
|
||||
- 在二层网络中唯一标识网卡或接口
|
||||
- 让交换机能够根据目的 MAC 地址进行转发
|
||||
|
||||
常见特点:
|
||||
- MAC 地址长度为 48 位,通常写成 12 个十六进制数
|
||||
- 前 24 位一般表示厂商标识,后 24 位一般由厂商分配
|
||||
- 二层交换机维护 **MAC 地址表**,记录“某个 MAC 地址对应哪个接口”
|
||||
|
||||
交换机转发数据帧时的大致过程:
|
||||
1. 先学习源 MAC 地址,并记录进入接口
|
||||
2. 查看目的 MAC 地址是否在 MAC 地址表中
|
||||
3. 如果表中有记录,就从对应接口转发
|
||||
4. 如果表中没有记录,就进行泛洪
|
||||
|
||||
## ARP
|
||||
|
||||
ARP 是 **地址解析协议**,作用是把 **IP 地址解析为 MAC 地址**。
|
||||
|
||||
ARP 的核心用途:
|
||||
- 主机已知目标 IP 地址,但不知道目标 MAC 地址时,先通过 ARP 查询
|
||||
- 查询到 MAC 地址后,再封装二层帧并发送数据
|
||||
|
||||
要注意:
|
||||
- ARP 不是“基于 MAC 的协议”,而是“根据 IP 找 MAC 的协议”
|
||||
- ARP 不是用来路由的
|
||||
- 二层交换机转发主要看 **MAC 地址表**
|
||||
- 主机或三层设备在发送数据前,往往先通过 **ARP 表** 找到下一跳或目标主机的 MAC 地址
|
||||
|
||||
ARP 工作过程大致如下:
|
||||
1. 主机先查看本地 ARP 表中有没有目标 IP 对应的 MAC
|
||||
2. 如果没有,就发送 ARP Request 广播
|
||||
3. 目标主机收到后,返回 ARP Reply 单播
|
||||
4. 发送方学到对方的 MAC 地址,并写入 ARP 表
|
||||
5. 后续数据通信就可以正常封装并发送
|
||||
|
||||
## MAC 地址表与 ARP 表的区别
|
||||
|
||||
MAC 地址表:
|
||||
- 维护设备:二层交换机
|
||||
- 作用:记录 MAC 地址与接口的对应关系
|
||||
- 用途:决定二层帧从哪个端口转发
|
||||
|
||||
ARP 表:
|
||||
- 维护设备:主机、路由器、三层交换机
|
||||
- 作用:记录 IP 地址与 MAC 地址的对应关系
|
||||
- 用途:发送数据前完成二层封装
|
||||
|
||||
## 一句话理解
|
||||
|
||||
- **MAC 地址表解决“帧往哪一个接口走”**
|
||||
- **ARP 表解决“这个 IP 对应哪个 MAC”**
|
||||
|
||||
## 常见问题
|
||||
|
||||
### 1. 为什么同网段通信需要 ARP
|
||||
|
||||
因为发送方虽然知道对方 IP,但真正发二层数据帧时,还需要知道对方的 MAC 地址。
|
||||
|
||||
### 2. 为什么跨网段通信也会用到 ARP
|
||||
|
||||
因为主机把数据交给网关时,实际封装的是 **网关接口的 MAC 地址**,所以仍然要先解析网关的 MAC。
|
||||
|
||||
### 3. ARP 广播会不会很多
|
||||
|
||||
会。ARP 请求是广播报文,所以网络里主机很多时,ARP 广播也会增多。
|
||||
|
||||
## 常见厂商命令
|
||||
|
||||
### 华为
|
||||
|
||||
查看 MAC 地址表:
|
||||
|
||||
```bash
|
||||
display mac-address
|
||||
```
|
||||
|
||||
查看 ARP 表:
|
||||
|
||||
```bash
|
||||
display arp
|
||||
```
|
||||
|
||||
查看接口简要信息:
|
||||
|
||||
```bash
|
||||
display interface brief
|
||||
```
|
||||
|
||||
查看某个 VLAN 的 MAC 学习情况:
|
||||
|
||||
```bash
|
||||
display mac-address vlan 10
|
||||
```
|
||||
|
||||
### 思科 Cisco
|
||||
|
||||
查看 MAC 地址表:
|
||||
|
||||
```bash
|
||||
show mac address-table
|
||||
```
|
||||
|
||||
查看 ARP 表:
|
||||
|
||||
```bash
|
||||
show arp
|
||||
```
|
||||
|
||||
或:
|
||||
|
||||
```bash
|
||||
show ip arp
|
||||
```
|
||||
|
||||
查看接口状态:
|
||||
|
||||
```bash
|
||||
show ip interface brief
|
||||
```
|
||||
|
||||
## 复习时容易写错的点
|
||||
|
||||
- MAC 地址不是“身份协议”,更准确地说是二层地址
|
||||
- ARP 不是“绑定设备 IP 与 MAC 方便二层交换时的路由”,更准确地说是“把 IP 解析为 MAC,方便后续二层封装与转发”
|
||||
- 交换机转发数据帧主要依据 MAC 地址表,不是 ARP 表
|
||||
@@ -0,0 +1,7 @@
|
||||
标题三个都是属于生成树协议
|
||||
实际生产中无需太关心生成树的算法,知道效果即可
|
||||
厂商默认的设备在机器芯片算力足够的情况下都是开启的
|
||||
|
||||
主要是作用是防止回环/广播风暴,当遇到链路某个节点疯狂转发相同包时,对包的转发请求进行丢弃
|
||||
|
||||
配置流程大概是开启相关生成树协议,指定边缘端口edge和根端口root,保护根端口
|
||||
@@ -0,0 +1,9 @@
|
||||
这是VLAN的三个配置
|
||||
Access:通常对应终端例如PC、打印机
|
||||
Trunk:通常对应交换机之间的链路
|
||||
Hybrid:同时兼顾Access和Trunk的功能,应用场景较少
|
||||
|
||||
关于VLAN TAG:
|
||||
Access:接收时根据接口配置打VLAN TAG,发送时剥离VLAN TAG
|
||||
Trunk:对于没有VLAN TAG的,打上Native Vlan TAG,对于不允许放行的,接收或发送时丢弃
|
||||
Hybrid:自定义哪些VLAN打TAG,哪些VLAN不打TAG
|
||||
@@ -0,0 +1,3 @@
|
||||
Vlan协议是最常用的协议
|
||||
主要用来隔离业务逻辑或减少广播区域的作用
|
||||
用VLAN号来区别不同的区域
|
||||
@@ -0,0 +1,3 @@
|
||||
通常用于链路带宽不足够的时候
|
||||
|
||||
可以将两条物理链路在逻辑上汇聚成一条逻辑链路,起到增大带宽/提高可靠性的作用
|
||||
@@ -0,0 +1 @@
|
||||
# 06 ACL
|
||||
@@ -0,0 +1 @@
|
||||
# 01 IP 编址与子网划分
|
||||
@@ -0,0 +1 @@
|
||||
# 05 OSPF
|
||||
@@ -0,0 +1 @@
|
||||
# 04 RIP
|
||||
@@ -0,0 +1 @@
|
||||
# 03 静态路由与默认路由
|
||||
@@ -0,0 +1 @@
|
||||
# 02 NAT
|
||||
@@ -0,0 +1 @@
|
||||
# 01 默认网关冗余 VRRP
|
||||
@@ -0,0 +1 @@
|
||||
# 04 双出口与链路冗余
|
||||
@@ -0,0 +1 @@
|
||||
# 03 策略路由 PBR
|
||||
@@ -0,0 +1 @@
|
||||
# 02 GRE
|
||||
@@ -0,0 +1 @@
|
||||
# 04 GRE over IPsec
|
||||
@@ -0,0 +1 @@
|
||||
# 03 IPsec
|
||||
@@ -0,0 +1 @@
|
||||
# 05 L2TP
|
||||
@@ -0,0 +1 @@
|
||||
# 01 PPP 与广域网基础
|
||||
@@ -0,0 +1 @@
|
||||
# 01 DHCP
|
||||
@@ -0,0 +1 @@
|
||||
# 02 DNS
|
||||
@@ -0,0 +1 @@
|
||||
# 03 NTP
|
||||
@@ -0,0 +1 @@
|
||||
# 04 SNMP 与 Syslog
|
||||
Reference in New Issue
Block a user