FRR(自由范围路由)配置路由器,让您可以选择实施多种协议。本指南将帮助您入门。最近,我写了一篇文章解释如何使用Quagga路由套件实现开放最短路径优先(OSPF)。可以使用多个软件套件代替Quagga来实现不同的路由协议。其中之一是FRR(自由范围路由)。FRRFRR是源自Quagga的路由软件套件,并在GNUGPL2许可下分发。与Quagga一样,它为类Unix平台提供了所有主要路由协议的实现,例如OSPF、路由信息协议(RIP)、边界网关协议(BGP)和中间系统到中间系统-中间系统(IS-IS)).一些开发Quagga的公司,例如BigSwitchNetworks、Cumulus、OpenSourceRouting和6wind,创建了FRR以改进Quagga的良好基础。体系结构FRR是一组协同工作以构建路由表的守护进程。每个主要协议都在其自己的守护进程中实现,这些守护进程与独立于协议的核心守护进程Zebra通信,Zebra提供内核路由表更新、接口查找以及不同路由协议之间路由的重新分配。每个特定于协议的守护进程负责运行关联的协议并根据交换的信息构建路由表。FRR架构VTYshellVTYSH是FRR路由引擎的集成shell。它结合了每个守护进程中定义的所有CLI命令,并在单个shell中将它们呈现给用户。它提供了类Cisco的命令行方式,很多命令类似于CiscoIOS命令。CLI有不同的模式,有些命令仅在特定模式下可用。设置在本教程中,我们将使用FRR配置动态路由以实施路由信息协议(RIP)。我们可以通过两种方式做到这一点:在编辑器中编辑协议守护进程配置文件或使用VTYshell。在这个例子中,我们将使用VTYshell。我们的设置包括两个名为Alpha和Beta的CentOS7.7主机。两台主机都有两个网络接口并共享对192.168.122.0/24网络的访问。我们将广播10.12.11.0/24和10.10.10.0/24网络的路由。对于主机Alpha:eth0IP:192.168.122.100/24网关:192.168.122.1eth1IP:10.10.10.12/24对于主机Beta:eth0IP:192.168.122.50/24网关:192.168.122.1eth1IP:10.122.11/24安装包首先,我们需要在两台主机上安装FRR包。您可以按照官方FRR文档中的说明进行操作。启用IP转发对于路由,我们需要在两台主机上启用IP转发,因为这将由Linux内核执行:sysctl-wnet.ipv4.conf.all.forwarding=1sysctl-wnet.ipv6.conf.all.forwarding=1sysctl-penableRIPDdaemon安装完成后,所有的配置文件都会保存在/etc/frr目录下。必须通过编辑/etc/frr/daemons文件明确启用守护进程。该文件确定在启动FRR服务时激活哪些守护进程。要启用特定的守护进程,只需将相应的no更改为yes。随后的服务重新启动将启动守护程序。FRR守护进程重启防火墙配置由于RIP协议使用UDP作为传输协议并被分配端口520,我们需要在firewalld配置中允许这个端口。firewall-cmd--add-port=520/udp--permanentfirewalld-cmd-reload现在我们可以使用命令启动FRR服务:systemctlstartfrr使用VTY配置现在我们需要使用VTYshell配置RIP。在主机Alpha上:[root@alpha~]#vtyshHello,thisisFRRouting(version7.2RPKI).Copyright1996-2005KunihiroIshiguro,etal.alpha#configureterminalalpha(config)#routerripalpha(config-router)#network192.168.122.0/24alpha(config-router)#network10.10.10.0/24alpha(config-router)#route10.10.10.5/24alpha(config-router)#dowrite注意:这个版本的vtysh从不写vtysh.confBuildingConfiguration...Configurationsavedto/etc/frr/ripd.confConfigurationsavedto/etc/frr/staticd.confalpha(config-router)#dowritememoryNote:这个版本的vtysh从不写vtysh.confBuildingConfiguration...Configurationsavedto/etc/frr/ripd.confConfigurationsavedto/etc/frr/staticd.confalpha(config-router)#exit类似地,在主机Beta上:[root@beta~]#vtysh你好,这里是FRRouting(7.2RPKI版本)。版权所有1996-2005KunihiroIshiguro,etal.beta#配置终端beta(config)#routerripbeta(config-router)#network192.168.122.0/24beta(config-router)#network10.12.11.0/24beta(config-router)#dowrite注意:这个版本的vtysh从不写入vtysh.confBuildingConfiguration...Configurationsavedto/etc/frr/zebra.confConfigurationsavedto/etc/frr/ripd.confConfigurationsavedto/etc/frr/staticd.confbeta(config-router)#dowritememory注意:这个版本的vtysh从不写vtysh.confBuildingConfiguration...Configurationsavedto/etc/frr/zebra.confConfigurationsavedto/etc/frr/ripd.confConfigurationsavedto/etc/frr/staticd.confbeta(config-router)#退出后查看两台主机的路由如下:[root@alpha~]#iprouteshowdefaultvia192.168.122.1deveth0protostaticmetric10010.10.10.0/24deveth1protokernelscopelinksrc10.10.10.12metric10110.12.11.0/24via192.168.122.50deveth0proto189metric20192.168.122.0/24deveth0protokernelscopelinksrc192.168.122.100metric100我们可以看到Alpha的路由表包含一个通过192.168.122.50到10.12.11.0/24的条目,该条目通过RIP服务。同样,在Beta版中,该表包含一个通过192.168.122.100访问10.10.10.0/24的条目。[root@beta~]#iprouteshowdefaultvia192.168.122.1deveth0protostaticmetric10010.10.10.0/24via192.168.122.100deveth0proto189metric2010.12.11.0/24deveth1protokernelscopelinksrc10.12.11.1229metric.122.0/24deveth0protokernelscopelinksrc192.168.122.50metric100总结如您所见,设置和配置相对简单。为了增加复杂性,我们可以在路由器上增加更多的网络接口,为更多的网络提供路由。可以通过在编辑器中编辑配置文件来完成配置,但是使用VTYShell可以让我们在单个组合会话中获得所有FRR守护进程的前端。
