Cyber_Security_Notes/B. 第二阶段/03_BFD.md

305 lines
9.4 KiB
Markdown
Raw Permalink Normal View History

2024-08-31 11:59:16 +08:00
# BFD
### 一、BFD概述
1. Bidirectional Forwarding Detection
> 双向转发检测
2. BFD技术背景
1. 现网中存在的问题
- 不能快速有效的发现网络设备或链路出现的故障
- 不能以毫秒级的速度发现网络问题
- 协议自身的报文检测机制一般都大于1秒
2. 解决方案:
- 需要一种专门用于快速检测设备或链路的协议BFD协议产生
3. BFD的作用
- 专门用于发送超小和超快的检测数据包,以毫秒级进行发送,快速检测链路的故障,改善网络性能
- 当发现链路故障时,通知相关的设备和协议进行处理,快速恢复通信,保证网络可靠性
4. BFD的优点
- 对任何介质、任何协议层进行实时且快速的检测
5. BFD会话建立方式
- BFD会话的建立有静态建立、动态建立两种方式
- 静态建立BFD会话手工配置BFD会话参数手工配置本地标识符和远端标识符
- 动态建立BFD会话动态分配本地标识符、自学习远端标识符
- 静态和动态的主要区别:本地标识符和远端标识符配置方式不同
6. BFD检测机制
- 两个设备建立BFD会话链路两端周期性发送BFD控制报文如果一端在既定的时间内没有收到BFD控制报文则认为路径上发生了故障。
7. BFD会话常见参数的缺省配置
| 参数 | 缺省值 |
| ------------ | -------- |
| 发送间隔 | 1000毫秒 |
| 接收间隔 | 1000毫秒 |
| 本地检测倍数 | 3 |
### 二、BFD和静态路由联动
![image-20240831104707266](https://picgo-noriu.oss-cn-beijing.aliyuncs.com/Images/image-20240831104707266.png)
- **需求**
- 实现PC1 和PC2的互联互通
- 实现BFD和静态路由联动
- **配置步骤**
1. 配置PC的IP地址掩码网关
2. 配置路由器的接口IP地址
3. 配置静态路由和浮动路由
4. 配置BFD
5. 配置BFD和静态路由联动
6. 验证与测试
- **配置命令**
- 第一步配置PC的接口IP地址
- 第二步配置路由器的接口IP地址
- 第三步:配置静态路由和浮动路由
- R1配置浮动路由
```
[R1]ip route-static 192.168.2.0 24 192.168.12.2 :主路由
[R1]ip route-static 192.168.2.0 24 192.168.13.3 preference 70 :浮动路由
```
> R1去往24.0网段要做BFD[R1]ip route-static 192.168.24.0 24 192.168.12.2
- R2配置静态路由
```
[R2]ip route-static 192.168.1.0 24 192.168.12.1
[R2]ip route-static 192.168.2.0 24 192.168.24.4
```
- R3配置静态路由
```
[R3]ip route-static 192.168.1.0 24 192.168.13.1
[R3]ip route-static 192.168.2.0 24 192.168.34.4
```
- R4配置浮动路由
```
[R4]ip route-static 192.168.1.0 24 192.168.24.2
[R4]ip route-static 192.168.1.0 24 192.168.34.3 preference 70
```
> R4去往12.0网段要做BFD[R4]ip route-static 192.168.12.0 24 192.168.24.2
- 第四步配置BFD
- R1的配置
```
[R1]bfd
[R1-bfd]quit
[R1]bfd ntd bind peer-ip 192.168.24.4
[R1-bfd-session-ntd]discriminator local 1
[R1-bfd-session-ntd]discriminator remote 4
[R1-bfd-session-ntd]min-tx-interval 10
[R1-bfd-session-ntd]min-rx-interval 10
[R1-bfd-session-ntd]commit
[R1-bfd-session-ntd]quit
```
- R4的配置
```
[R4]bfd
[R4-bfd]quit
[R4]bfd ntd bind peer-ip 192.168.12.1
[R4-bfd-session-ntd]discriminator local 4
[R4-bfd-session-ntd]discriminator remote 1
[R4-bfd-session-ntd]min-tx-interval 10
[R4-bfd-session-ntd]min-rx-interval 10
[R4-bfd-session-ntd]commit
```
- 第五步配置BFD和静态路由联动
- R1
```
[R1]ip route-static 192.168.2.0 24 192.168.12.2 track bfd-session ntd2308
```
- 第六步:验证与测试
- R1
```
<R1>display bfd session all
```
> 将R2和R4之间的链路断开验证浮动路由是否切换
>
> 确保PC1和PC2能够正常通信不因链路中断而导致网络不可达
### 三、VRRP和BFD联动实验
![image-20240831110337612](https://picgo-noriu.oss-cn-beijing.aliyuncs.com/Images/image-20240831110337612.png)
- **需求**
- 部署VRRP让SW1成为备份组10的-Master设备vlan10的主网关
- 让SW2成为备份组10的-Backup设备vlan10的备份网关
- 部署VRRP和BFD联动可以解决的问题
- 在VRRP中当SW1-主网关出现故障的时候备份网关SW2需要等待3秒后才可以升级为新的主网关承担流量转发任务。
- 3秒对有些企业网络来说是不可以接受的我们需要实现VRRP主备设备更加快速的切换毫秒级故障切换
- **解决方案**
- 在运行VRRP网络设备上(SW1/SW2)运行BFD协议
- 在SW1和SW2之间建立BFD会话通过BFD协议快速检测和感知设备或链路故障
- 在SW2中配置VRRP和BFD联动当SW1-主网关出现故障的时候BFD会话会Down
- 此时BFD协议会通知备份网关SW2立即将VRRP优先级调高已实现SW2快速成为主网关
- **配置步骤**
- 第一步配置PC的IP地址掩码网关
- 第二步配置sw3交换机的vlan端口加vlan 配trunk
- 第三步SW1和SW2配置vrrp-热备
1. 创建vlan
2. 配置vlanif接口地址
3. 配置vrrp 备份组配置虚拟IP
4. 配置优先级
5. 交换机互联接口配置trunk
- 第四步配置SW1和SW2的BFD会话
1. 开启BFD功能
2. 创建BFD会话
3. 配置本地标识符
4. 配置远端标识符
5. 提交
- 第五步配置VRRP和BFD联动
- 配置VRRP和BFD联动跟踪BFD会话一旦发现BFD会话down掉SW2的VRRP的优先级会在原来的基础上增加60让SW2快速的成为Master设备
- 第六步模拟故障验证BFD
- **配置命令**
- 第一步配置PC的IP地址掩码网关
- 第二步配置sw3交换机的vlan端口加vlan 配trunk
- SW3配置
```
[SW3]vlan 10
[SW3-vlan10]quit
[SW3]port-group group-member g0/0/1 g0/0/2
[SW3-port-group]port link-type access
[SW3-port-group]port default vlan 10
[SW3-port-group]quit
[SW3]port-group group-member g0/0/3 g0/0/4
[SW3-port-group]port link-type trunk
[SW3-port-group]port trunk allow-pass vlan all
```
- 第三步SW1和SW2配置vrrp-热备
- SW1配置
```
[SW1]vlan 10
[SW1-vlan10]quit
[SW1]int g0/0/1
[SW1-G0/0/1]port link-type trunk
[SW1-G0/0/1]port trunk allow-pass vlan all
[SW1-G0/0/1]quit
[SW1]int vlanif 10
[SW1-Vlanif10]ip address 192.168.10.251 24
[SW1-Vlanif10]vrrp vrid 10 virtual-ip 192.168.10.254
[SW1-Vlanif10]vrrp vrid 10 priority 130
```
- SW2配置
```
[SW2]vlan 10
[SW2-vlan10]quit
[SW2]int g0/0/1
[SW2-G0/0/1]port link-type trunk
[SW2-G0/0/1]port trunk allow-pass vlan all
[SW2-G0/0/1]quit
[SW2]int vlanif 10
[SW2-Vlanif10]ip address 192.168.10.252 24
[SW2-Vlanif10]vrrp vrid 10 virtual-ip 192.168.10.254
```
- 第四步配置SW1和SW2的BFD会话
- SW1配置
```
[SW1]bfd //开启BFD功能
[SW1-bfd]quit //退出
[SW1]bfd tedu bind peer-ip 192.168.10.252 //在系统视图下创建BFD会话绑定对端IP地址
[SW1-bfd-session-tedu]discriminator local 1 //配置本地标识符
[SW1-bfd-session-tedu]discriminator remote 2 //配置远端标识符
[SW1-bfd-session-tedu]min-rx-interval 100 //配置接收报文间隔时间100毫秒
[SW1-bfd-session-tedu]min-tx-interval 100 //配置发送报文间隔时间100毫秒
[SW1-bfd-session-tedu]commit //提交
```
- SW2
```
[SW2]bfd //开启BFD功能
[SW2-bfd]quit
[SW2]bfd tedu bind peer-ip 192.168.10.251 //创建BFD会话绑定对端IP地址
[SW2-bfd-session-tedu]discriminator local 2 //本地标识符为2
[SW2-bfd-session-tedu]discriminator remote 1 //远端标识符为1
[SW2-bfd-session-tedu]min-rx-interval 100 //接受报文间隔时间100毫秒
[SW2-bfd-session-tedu]min-tx-interval 100 //发送报文间隔时间100毫秒
[SW2-bfd-session-tedu]commit //提交
```
- 第五步在SW2上配置VRRP和BFD联动
```
[SW2]int vlanif 10
[SW2-Vlanif10]vrrp vrid 10 track bfd-session 2 increased 60
```
> 配置VRRP和BFD联动跟踪BFD会话一旦发现BFD会话down掉就让SW2的VRRP的优先级在原来的基础上增加60让SW2快速的成为Master设备
- 第六步模拟SW1故障在SW2中验证BFD和VRRP联动
- SW2
```
[SW2]display vrrp
Vlanif10 | Virtual Router 10
State : Master
Virtual IP : 192.168.10.254
Master IP : 192.168.10.252
PriorityRun : 160
PriorityConfig : 100
MasterPriority : 160
Preempt : YES Delay Time : 0 s
TimerRun : 1 s
TimerConfig : 1 s
Auth type : NONE
Virtual MAC : 0000-5e00-010a
Check TTL : YES
Config type : normal-vrrp
Track BFD : 2 Priority increased : 60 BFD-session state : DOWN // 重点看这条
Create time : 2022-12-29 17:32:15 UTC-08:00
Last change time : 2022-12-29 17:50:00 UTC-08:00
```