update frr
This commit is contained in:
parent
39fea53675
commit
3c2d75d367
@ -8,151 +8,156 @@ FRR 动态路由软件包 组件
|
||||
|
||||
|
||||
|
||||
### 1. `frr`
|
||||
### FRR 支持的协议
|
||||
|
||||
1. `frr`
|
||||
|
||||
这是 FRRouting 的核心包,包含了 FRR 的基础框架和多个路由协议守护进程(如 RIP、OSPF、BGP 等)。安装该包后,你可以运行 FRR 的所有路由协议服务和工具。
|
||||
|
||||
### 2. `frr-babeld`
|
||||
2. `frr-babeld`
|
||||
|
||||
Babel 是一种适用于 IP 网络的动态路由协议。这个包安装的是 **Babel 路由协议守护进程**,它用于支持 Babel 协议。Babel 是一种自适应的距离矢量协议,适用于小型到中型的网络。
|
||||
|
||||
- **作用**:用于动态路由发现和更新,特别适用于无线网络和 ad-hoc 网络。
|
||||
用于动态路由发现和更新,特别适用于无线网络和 ad-hoc 网络。
|
||||
|
||||
### 3. `frr-bfdd`
|
||||
3. `frr-bfdd`
|
||||
|
||||
BFDD(BFD:Bidirectional Forwarding Detection)是一种快速检测路径故障的协议。这个包提供了 **BFD 守护进程**,可以帮助快速发现路由器之间的连接故障,并根据路由协议快速进行故障恢复。
|
||||
|
||||
- **作用**:用于加速故障检测,并使路由协议更快地重新计算路径。
|
||||
用于加速故障检测,并使路由协议更快地重新计算路径。
|
||||
|
||||
### 4. `frr-bgpd`
|
||||
4. `frr-bgpd`
|
||||
|
||||
BGP(Border Gateway Protocol)是 Internet 上主要的外部网关协议。该包安装的是 **BGP 路由协议守护进程**,用于 BGP 配置和管理,支持 IPv4 和 IPv6 的路由交换。
|
||||
|
||||
- **作用**:用于与其他自治系统(AS)交换路由信息,常用于大规模网络(如互联网骨干网络)中的路由控制。
|
||||
用于与其他自治系统(AS)交换路由信息,常用于大规模网络(如互联网骨干网络)中的路由控制。
|
||||
|
||||
### 5. `frr-eigrpd`
|
||||
5. `frr-eigrpd`
|
||||
|
||||
EIGRP(Enhanced Interior Gateway Routing Protocol)是 Cisco 开发的一种内部网关协议(IGP)。这个包安装的是 **EIGRP 路由协议守护进程**。
|
||||
|
||||
- **作用**:用于在同一自治系统内交换路由信息,EIGRP 是 Cisco 特有的协议,适用于企业网络。
|
||||
用于在同一自治系统内交换路由信息,EIGRP 是 Cisco 特有的协议,适用于企业网络。
|
||||
|
||||
### 6. `frr-fabricd`
|
||||
6. `frr-fabricd`
|
||||
|
||||
这是 **Fabric 路由协议守护进程**,用于支持 **数据中心网络中的 Fabric 路由协议**,主要用于网络设备间的直接连接,简化网络架构和拓扑管理。
|
||||
|
||||
- **作用**:通常用于大型数据中心的网络结构中,提供更高效的流量路由和管理。
|
||||
通常用于大型数据中心的网络结构中,提供更高效的流量路由和管理。
|
||||
|
||||
### 7. `frr-isisd`
|
||||
7. `frr-isisd`
|
||||
|
||||
IS-IS(Intermediate System to Intermediate System)是一种内部网关协议(IGP),主要用于大规模的服务提供商网络。这个包安装的是 **IS-IS 路由协议守护进程**。
|
||||
|
||||
- **作用**:用于在大型网络中进行高效的路由选择,IS-IS 主要在运营商和大规模网络中使用。
|
||||
用于在大型网络中进行高效的路由选择,IS-IS 主要在运营商和大规模网络中使用。
|
||||
|
||||
### 8. `frr-ldpd`
|
||||
8. `frr-ldpd`
|
||||
|
||||
LDP(Label Distribution Protocol)用于 MPLS 网络中,帮助路由器之间分配标签。该包安装的是 **LDP 守护进程**。
|
||||
|
||||
- **作用**:在 MPLS 网络中,帮助管理标签分发和路由决策,优化数据包的转发路径。
|
||||
在 MPLS 网络中,帮助管理标签分发和路由决策,优化数据包的转发路径。
|
||||
|
||||
### 9. `frr-libfrr`
|
||||
9. `frr-libfrr`
|
||||
|
||||
这是 **FRR 的库包**,它提供了 FRR 所需的共享库。安装该包可以为其他 FRR 组件提供支持。
|
||||
|
||||
- **作用**:作为 FRR 的核心库文件,其他 FRR 组件依赖于它来提供基本的路由处理功能。
|
||||
作为 FRR 的核心库文件,其他 FRR 组件依赖于它来提供基本的路由处理功能。
|
||||
|
||||
### 10. `frr-nhrpd`
|
||||
10. `frr-nhrpd`
|
||||
|
||||
NHRP(Next Hop Resolution Protocol)是用于 IP 网络中查找下一跳信息的协议,特别适用于 VPN 和 IP 网络互联。这个包安装的是 **NHRP 守护进程**。
|
||||
|
||||
- **作用**:用于基于 NHRP 协议查找 IP 地址的下一跳,通常用于 VPN 和其他隧道协议中。
|
||||
用于基于 NHRP 协议查找 IP 地址的下一跳,通常用于 VPN 和其他隧道协议中。
|
||||
|
||||
### 11. `frr-ospf6d`
|
||||
11. `frr-ospf6d`
|
||||
|
||||
OSPFv3(Open Shortest Path First version 3)是用于 IPv6 网络的路由协议。这个包安装的是 **OSPFv3 路由协议守护进程**。
|
||||
|
||||
- **作用**:提供对 IPv6 网络的路由支持,OSPFv3 是 OSPF 的扩展版本,支持 IPv6 地址族。
|
||||
提供对 IPv6 网络的路由支持,OSPFv3 是 OSPF 的扩展版本,支持 IPv6 地址族。
|
||||
|
||||
### 12. `frr-ospfd`
|
||||
12. `frr-ospfd`
|
||||
|
||||
OSPF(Open Shortest Path First)是一个广泛使用的内部网关协议(IGP),它使用链路状态协议来计算最佳路径。这个包安装的是 **OSPF 路由协议守护进程**。
|
||||
|
||||
- **作用**:用于基于链路状态协议的路由计算,适用于大型企业网络中的路由配置。
|
||||
用于基于链路状态协议的路由计算,适用于大型企业网络中的路由配置。
|
||||
|
||||
### 13. `frr-pbrd`
|
||||
13. `frr-pbrd`
|
||||
|
||||
PBR(Policy-Based Routing)是基于策略的路由协议,允许根据数据包的内容(如源 IP、目标 IP 等)决定路由路径。这个包安装的是 **PBR 守护进程**。
|
||||
|
||||
- **作用**:提供基于策略的路由决策,允许对流量进行更细粒度的控制。
|
||||
提供基于策略的路由决策,允许对流量进行更细粒度的控制。
|
||||
|
||||
### 14. `frr-pimd`
|
||||
14. `frr-pimd`
|
||||
|
||||
PIM(Protocol Independent Multicast)是用于组播路由的协议,适用于需要多播的应用。这个包安装的是 **PIM 守护进程**。
|
||||
|
||||
- **作用**:为网络提供组播支持,适用于需要组播(如视频流、广播等)的网络应用。
|
||||
为网络提供组播支持,适用于需要组播(如视频流、广播等)的网络应用。
|
||||
|
||||
### 15. `frr-ripd`
|
||||
15. `frr-ripd`
|
||||
|
||||
RIP(Routing Information Protocol)是一个距离矢量协议,适用于小型或中型的网络。这个包安装的是 **RIP 路由协议守护进程**。
|
||||
|
||||
- **作用**:实现 RIP 协议,进行路由信息的传播,适用于简单的内部网络。
|
||||
实现 RIP 协议,进行路由信息的传播,适用于简单的内部网络。
|
||||
|
||||
### 16. `frr-ripngd`
|
||||
16. `frr-ripngd`
|
||||
|
||||
RIPng(RIP next generation)是 RIP 协议的扩展,支持 IPv6 网络。这个包安装的是 **RIPng 路由协议守护进程**。
|
||||
|
||||
- **作用**:提供 RIP 协议的 IPv6 支持,适用于 IPv6 网络中的动态路由。
|
||||
提供 RIP 协议的 IPv6 支持,适用于 IPv6 网络中的动态路由。
|
||||
|
||||
### 17. `frr-staticd`
|
||||
17. `frr-staticd`
|
||||
|
||||
Staticd 组件用于管理 **静态路由**,这些路由是手动配置的,并不通过动态路由协议传播。这个包安装的是 **静态路由守护进程**。
|
||||
|
||||
- **作用**:管理静态路由的配置,适用于不需要动态路由的网络部分。
|
||||
管理静态路由的配置,适用于不需要动态路由的网络部分。
|
||||
|
||||
### 18. `frr-vrrpd`
|
||||
18. `frr-vrrpd`
|
||||
|
||||
VRRP(Virtual Router Redundancy Protocol)是一个用于提供虚拟网关冗余的协议。这个包安装的是 **VRRP 守护进程**。
|
||||
|
||||
- **作用**:提供网关冗余服务,保证网络的高可用性,当主网关故障时,自动切换到备用网关。
|
||||
提供网关冗余服务,保证网络的高可用性,当主网关故障时,自动切换到备用网关。
|
||||
|
||||
### 19. `frr-vtysh`
|
||||
19. `frr-vtysh`
|
||||
|
||||
VTYSH 是 **FRR 的命令行界面工具**,用于与 FRR 进程进行交互,配置和管理各种路由协议。
|
||||
|
||||
- **作用**:提供一个统一的命令行界面(CLI)来管理 FRR 配置,包括所有路由协议和 Zebra。
|
||||
提供一个统一的命令行界面(CLI)来管理 FRR 配置,包括所有路由协议和 Zebra。
|
||||
|
||||
### 20. `frr-watchfrr`
|
||||
20. `frr-watchfrr`
|
||||
|
||||
Watchfrr 组件是一个监控工具,用于检测 FRR 路由协议进程的健康状态并进行管理。
|
||||
|
||||
- **作用**:监控 FRR 各个路由协议守护进程的运行状态,确保路由协议的稳定性。
|
||||
监控 FRR 各个路由协议守护进程的运行状态,确保路由协议的稳定性。
|
||||
|
||||
### 21. `frr-zebra`
|
||||
21. `frr-zebra`
|
||||
|
||||
Zebra 是 FRR 的核心组件之一,负责将路由协议的路由信息传递给内核,并管理网络接口和静态路由。这个包安装的是 **Zebra 路由守护进程**。
|
||||
|
||||
- **作用**:与操作系统内核进行交互,管理路由表、接口配置等。
|
||||
与操作系统内核进行交互,管理路由表、接口配置等。
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
rip 配置
|
||||
|
||||
|
||||
### rip 配置
|
||||
|
||||
```bash
|
||||
#协议
|
||||
router rip
|
||||
#在这个网段上广播
|
||||
network 192.168.123.0/24
|
||||
network 192.168.192.0/24
|
||||
|
||||
#将这个路由广播出去
|
||||
route 192.168.1.0/24
|
||||
!
|
||||
|
||||
#指定这个接口上协议版本
|
||||
interface eth0
|
||||
# send 发送的协议
|
||||
ip rip send version 2
|
||||
# receive 接收的协议
|
||||
ip rip receive version 2
|
||||
!
|
||||
|
||||
#在这个接口上广播路由
|
||||
interface eth1
|
||||
ip rip send version 2
|
||||
ip rip receive version 2
|
||||
@ -160,43 +165,41 @@ interface eth1
|
||||
|
||||
|
||||
|
||||
第一段申明一个rip 路由
|
||||
### 常用命令
|
||||
|
||||
宣告两个子网
|
||||
```bash
|
||||
|
||||
```
|
||||
network 192.168.123.0/24
|
||||
network 192.168.192.0/24
|
||||
#静态路由
|
||||
route 10.147.17.0/24
|
||||
# 全全局配置
|
||||
configure terminal
|
||||
|
||||
#在全局配置下进行RIP 配置
|
||||
route rip
|
||||
|
||||
#配置好后 输入 end 结束配置, write 保存配置
|
||||
end
|
||||
write
|
||||
|
||||
|
||||
|
||||
#查看rip 状态
|
||||
show ip rip status
|
||||
|
||||
#查看路由
|
||||
show ip route
|
||||
|
||||
#查看RIP 路由
|
||||
show ip route rip
|
||||
```
|
||||
|
||||
|
||||
|
||||
申请监听来自那个接口的 rip 路由包
|
||||
|
||||
```
|
||||
interface eth0
|
||||
ip rip send version 2
|
||||
ip rip receive version 2
|
||||
!
|
||||
```
|
||||
|
||||
|
||||
`show ip rip` 命令输出的内容主要显示了 RIP 协议的路由表信息,包括每个网络的下一跳、度量值、路由来源等。下面是对输出的逐行解析:
|
||||
|
||||
`ip rip send version 2` 发送V2协议包
|
||||
**输出内容**
|
||||
|
||||
`ip rip receive version 2` 接收V2协议包
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
根据你提供的 `show ip rip` 命令输出,可以逐行分析每条路由的意义。输出的内容主要显示了 RIP 协议的路由表信息,包括每个网络的下一跳、度量值、路由来源等。下面是对输出的逐行解析:
|
||||
|
||||
### 输出内容
|
||||
|
||||
```
|
||||
```bash
|
||||
Codes: R - RIP, C - connected, S - Static, O - OSPF, B - BGP
|
||||
Sub-codes:
|
||||
(n) - normal, (s) - static, (d) - default, (r) - redistribute,
|
||||
@ -209,7 +212,7 @@ R(n) 192.168.124.0/24 10.147.17.219 2 10.147.17.219 0 02:27
|
||||
C(i) 192.168.192.0/24 0.0.0.0 1 self 0
|
||||
```
|
||||
|
||||
### **Codes 和 Sub-codes 说明**
|
||||
**Codes 和 Sub-codes 说明**
|
||||
|
||||
- **Codes**: 每条路由的类型。
|
||||
- `R`:RIP协议路由
|
||||
@ -224,23 +227,31 @@ C(i) 192.168.192.0/24 0.0.0.0 1 self 0
|
||||
- `(r)`:由其他协议重分发的路由
|
||||
- `(i)`:接口路由(指向接口的路由)
|
||||
|
||||
### 路由信息解析
|
||||
**路由信息解析**
|
||||
|
||||
#### 1. **C(i) 10.147.17.0/24**
|
||||
**1. C(i) 10.147.17.0/24**
|
||||
|
||||
```bash
|
||||
C(i) 10.147.17.0/24 0.0.0.0 1 self 0
|
||||
```
|
||||
|
||||
- **C(i)**:这是一条 "连接路由",即直接连接的网络。 `(i)` 表示它是一个通过接口直接连接的网络。
|
||||
|
||||
- **10.147.17.0/24**:这是网络地址,表示该设备有一个直接连接到 `10.147.17.0/24` 子网的接口。
|
||||
|
||||
- **Next Hop**:`0.0.0.0`,表示这是一个直接连接的网络,因此不需要下一跳地址。
|
||||
|
||||
- **Metric**:度量值为 `1`,表示该路由的度量值,这里是直接连接的网络,度量值是最小的。
|
||||
|
||||
- **From**:`self`,表示该路由是从本设备的接口直接学习到的。
|
||||
|
||||
- **Tag**:`0`,这是一个路由标签,用于标识或分类路由。
|
||||
|
||||
- **Time**:`0`,表示此路由是立即学习到的,没有过期时间。
|
||||
|
||||
#### 2. **C(i) 192.168.123.0/24**
|
||||
|
||||
|
||||
**2. C(i) 192.168.123.0/24**
|
||||
|
||||
```bash
|
||||
C(i) 192.168.123.0/24 0.0.0.0 1 self 0
|
||||
@ -248,27 +259,38 @@ C(i) 192.168.123.0/24 0.0.0.0 1 self 0
|
||||
|
||||
- 这条路由的解析与第一条相似,是一个直接连接的网络 `192.168.123.0/24`,度量值为 `1`,并且由本机接口学习到。
|
||||
|
||||
#### 3. **R(n) 192.168.124.0/24**
|
||||
|
||||
|
||||
**3. R(n) 192.168.124.0/24**
|
||||
|
||||
```bash
|
||||
R(n) 192.168.124.0/24 10.147.17.219 2 10.147.17.219 0 02:27
|
||||
```
|
||||
|
||||
- **R(n)**:这是一个由 RIP 协议学习到的路由,`(n)` 表示正常的 RIP 路由。
|
||||
|
||||
- **192.168.124.0/24**:目标网络是 `192.168.124.0/24`,这是一个通过 RIP 协议学到的路由。
|
||||
|
||||
- **Next Hop**:`10.147.17.219`,表示该路由的下一跳地址是 `10.147.17.219`,即该路由是通过 `10.147.17.219` 路由器到达的。
|
||||
|
||||
- **Metric**:度量值为 `2`,表示到达该网络的路径的跳数或成本,`2` 表示通过该路径的跳数为 2。
|
||||
|
||||
- **From**:`10.147.17.219`,表示该路由是从 `10.147.17.219` 路由器学到的。
|
||||
|
||||
- **Tag**:`0`,路由标签。
|
||||
|
||||
- **Time**:`02:27`,表示该路由自学习以来已经存在了 2 分 27 秒。
|
||||
|
||||
#### 4. **C(i) 192.168.192.0/24**
|
||||
|
||||
|
||||
**4. C(i) 192.168.192.0/24**
|
||||
|
||||
```bash
|
||||
C(i) 192.168.192.0/24 0.0.0.0 1 self 0
|
||||
```
|
||||
|
||||
- 这条路由表示 `192.168.192.0/24` 是通过本机接口直接连接的网络,度量值为 `1`。
|
||||
-
|
||||
|
||||
### 总结
|
||||
|
||||
|
@ -4,28 +4,6 @@
|
||||
|
||||
个人使用ZeroTier体验不错,
|
||||
|
||||
|
||||
|
||||
### 名词解释
|
||||
|
||||
**ZeroTier**
|
||||
|
||||
自行了解
|
||||
|
||||
**rip**
|
||||
|
||||
rip 是一种动态路由协议 可以自动学习路由
|
||||
|
||||
**frr**
|
||||
|
||||
frr 是一个 实现了 rip bgp 等多种 路由协议的软件包,同类型的还有 Quagga 等
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
### 网络拓扑图
|
||||
|
||||
```mermaid
|
||||
|
Loading…
x
Reference in New Issue
Block a user