如何使用 VTY shell 配置路由器

自由范围路由为您提供了实施多种协议的选项。本指南将帮助您入门。
80 位读者喜欢这篇文章。
Multi-colored and directional network computer cables

最近,我写了一篇文章,解释了我们如何使用 Quagga 路由套件实施开放最短路径优先 (OSPF)。有多种软件包可以代替 Quagga 用于实施不同的路由协议。其中一个选择是自由范围路由 (FRR)。

FRR

FRR 是一个路由软件包,它源自 Quagga,并根据 GNU GPL2 许可证分发。与 Quagga 类似,它为类 Unix 平台提供了所有主要路由协议的实现,例如 OSPF、路由信息协议 (RIP)、边界网关协议 (BGP) 和中间系统到中间系统 (IS-IS)。

多家公司,例如 Big Switch Networks、Cumulus、Open Source Routing 和 6wind,它们是 Quagga 开发的幕后推手,创建了 FRR 以改进 Quagga 业已确立的基础。

架构

FRR 是一组协同工作以构建路由表的守护程序套件。每个主要的协议都在其自身的守护程序中实现,这些守护程序与核心和协议独立的守护程序 Zebra 通信,Zebra 提供内核路由表更新、接口查找以及不同路由协议之间的路由再分配。每个特定于协议的守护程序负责运行相关的协议并根据交换的信息构建路由表。

FRR architecture

VTY shell

VTYSH 是 FRR 路由引擎的集成 shell。它整合了每个守护程序中定义的所有 CLI 命令,并在一个 shell 中将其呈现给用户。它提供了一个类似 Cisco 的模态 CLI,并且许多命令类似于 Cisco IOS 命令。CLI 有不同的模式,某些命令仅在特定模式下可用。

设置

在本教程中,我们将实施路由信息协议 (RIP) 以使用 FRR 配置动态路由。我们可以通过两种方式来做到这一点——通过在编辑器中编辑协议守护程序配置文件,或通过使用 VTY shell。在此示例中,我们将使用 VTY shell。我们的设置包括两个 CentOS 7.7 主机,分别名为 Alpha 和 Beta。两个主机都有两个网络接口,并共享对 192.168.122.0/24 网络的访问权限。我们将通告 10.12.11.0/24 和 10.10.10.0/24 网络的路由。

对于主机 Alpha

  • eth0 IP:192.168.122.100/24
  • 网关:192.168.122.1
  • eth1 IP:10.10.10.12/24

对于主机 Beta

  • eth0 IP:192.168.122.50/24
  • 网关:192.168.122.1
  • eth1 IP:10.12.11.12/24

软件包安装

首先,我们需要在两台主机上安装 FRR 软件包;这可以通过遵循 官方 FRR 文档 中的说明来完成。

启用 IP 转发

对于路由,我们需要在两台主机上启用 IP 转发,因为这将由 Linux 内核执行。

sysctl -w net.ipv4.conf.all.forwarding = 1

sysctl -w net.ipv6.conf.all.forwarding = 1
sysctl -p

启用 RIPD 守护程序

安装完成后,所有配置文件都将存储在 /etc/frr 目录中。必须通过编辑 /etc/frr/daemons 文件来显式启用守护程序。此文件确定在启动 FRR 服务时激活哪些守护程序。要启用特定的守护程序,只需将相应的“no”更改为“yes”。随后的服务重启应启动守护程序。

FRR daemon restart

防火墙配置

由于 RIP 协议使用 UDP 作为其传输协议,并分配了端口 520,因此我们需要在 firewalld 配置中允许此端口。

firewall-cmd --add-port=520/udp –permanent

firewalld-cmd -reload

我们现在可以使用以下命令启动 FRR 服务

systemctl start frr

使用 VTY 进行配置

现在,我们需要使用 VTY shell 配置 RIP。

在主机 Alpha 上

[root@alpha ~]# vtysh

Hello, this is FRRouting (version 7.2RPKI).
Copyright 1996-2005 Kunihiro Ishiguro, et al.

alpha# configure terminal
alpha(config)# router rip
alpha(config-router)# network 192.168.122.0/24
alpha(config-router)# network 10.10.10.0/24
alpha(config-router)# route 10.10.10.5/24
alpha(config-router)# do write
Note: this version of vtysh never writes vtysh.conf
Building Configuration...
Configuration saved to /etc/frr/ripd.conf
Configuration saved to /etc/frr/staticd.conf
alpha(config-router)# do write memory
Note: this version of vtysh never writes vtysh.conf
Building Configuration...
Configuration saved to /etc/frr/ripd.conf
Configuration saved to /etc/frr/staticd.conf
alpha(config-router)# exit

同样,在主机 Beta 上

[root@beta ~]# vtysh

Hello, this is FRRouting (version 7.2RPKI).
Copyright 1996-2005 Kunihiro Ishiguro, et al.

beta# configure terminal
beta(config)# router rip
beta(config-router)# network 192.168.122.0/24
beta(config-router)# network 10.12.11.0/24
beta(config-router)# do write
Note: this version of vtysh never writes vtysh.conf
Building Configuration...
Configuration saved to /etc/frr/zebra.conf
Configuration saved to /etc/frr/ripd.conf
Configuration saved to /etc/frr/staticd.conf
beta(config-router)# do write memory
Note: this version of vtysh never writes vtysh.conf
Building Configuration...
Configuration saved to /etc/frr/zebra.conf
Configuration saved to /etc/frr/ripd.conf
Configuration saved to /etc/frr/staticd.conf
beta(config-router)# exit

完成后,按如下方式检查两台主机上的路由

[root@alpha ~]# ip route show
default via 192.168.122.1 dev eth0 proto static metric 100
10.10.10.0/24 dev eth1 proto kernel scope link src 10.10.10.12 metric 101
10.12.11.0/24 via 192.168.122.50 dev eth0 proto 189 metric 20
192.168.122.0/24 dev eth0 proto kernel scope link src 192.168.122.100 metric 100

我们可以看到 Alpha 上的路由表包含一个通过 RIP 提供的 192.168.122.50 的 10.12.11.0/24 条目。同样,在 Beta 上,该表包含一个通过 192.168.122.100 的网络 10.10.10.0/24 条目。

[root@beta ~]# ip route show
default via 192.168.122.1 dev eth0 proto static metric 100
10.10.10.0/24 via 192.168.122.100 dev eth0 proto 189 metric 20
10.12.11.0/24 dev eth1 proto kernel scope link src 10.12.11.12 metric 101
192.168.122.0/24 dev eth0 proto kernel scope link src 192.168.122.50 metric 100

结论

如您所见,设置和配置相对简单。为了增加复杂性,我们可以向路由器添加更多网络接口,以便为更多网络提供路由。可以通过在编辑器中编辑配置文件来进行配置,但使用 VTY shell 为我们提供了一个在单个组合会话中访问所有 FRR 守护程序的前端。

接下来阅读什么
标签
User profile image.
Muhammad Umer 是一名 Linux 系统管理员,在 IT 行业工作了三年多,负责执行根本原因分析和解决操作系统性能问题。当他不工作和吃披萨时,他喜欢做涉及能量、对话和交流的事情。

评论已关闭。

知识共享许可协议本作品根据知识共享署名-相同方式共享 4.0 国际许可协议获得许可。
© . All rights reserved.