![FRR架构 cisco路由器vty_如何使用VTY Shell配置路由器_第1张图片](http://img.e-com-net.com/image/info8/643fb09c3f394ca7bea1647c4eebdaa3.png)
cisco路由器vty
最近,我写了一篇文章,解释了如何使用Quagga路由套件实现开放式最短路径优先(OSPF)。 可以使用多个软件套件代替Quagga来实现不同的路由协议。 一种这样的选择是自由范围路由(FRR)。
FRR是一个路由软件套件,它是从Quagga派生的,并根据GNU GPL2许可进行分发。 与Quagga一样,它为Unix类平台提供了所有主要路由协议的实现,例如OSPF,路由信息协议(RIP),边界网关协议(BGP)和中间系统到中间系统(IS-IS)。
FRR是一组守护程序,它们可以共同构建路由表。 每个主要协议都在自己的守护程序中实现,这些守护程序与核心和独立于协议的守护程序Zebra对话,后者提供内核路由表更新,接口查找以及不同路由协议之间路由的重新分配。 每个特定于协议的守护程序负责运行相关协议并根据交换的信息构建路由表。
VTYSH是FRR路由引擎的集成外壳。 它将每个守护程序中定义的所有CLI命令合并,并在单个shell中将它们呈现给用户。 它提供了类似于Cisco的模式CLI,并且许多命令类似于Cisco IOS命令。 CLI的模式不同,某些命令仅在特定模式下可用。
在本教程中,我们将实现路由信息协议(RIP)以使用FRR配置动态路由。 我们可以通过两种方式来做到这一点-通过在编辑器中编辑协议守护程序配置文件或使用VTY Shell。 在此示例中,我们将使用VTY Shell。 我们的设置包括两个名为Alpha和Beta的CentOS 7.7主机。 这两台主机都有两个网络接口,并共享对192.168.122.0/24网络的访问。 我们将宣传10.12.11.0/24和10.10.10.0/24网络的路由。
对于主持人Alpha:
对于主机Beta:
首先,我们需要在两个主机上都安装FRR软件包。 可以按照FRR官方文档中的说明进行操作。
对于路由,我们需要在两个主机上都启用IP转发,因为这将由Linux内核执行。
sysctl
-w net.ipv4.conf.all.forwarding =
1
sysctl
-w net.ipv6.conf.all.forwarding =
1
sysctl
-p
安装后,所有配置文件都将存储在/ etc / frr目录中。 必须通过编辑/ etc / frr / daemons文件显式启用守护程序 。 该文件确定启动FRR服务时激活了哪些守护程序。 要启用特定的守护程序,只需将相应的“否”更改为“是”。 随后的服务重新启动应启动守护程序。
由于RIP协议使用UDP作为其传输协议并分配了端口520,因此我们需要在firewalld
配置中允许该端口。
firewall-cmd
--add-port =
520
/ udp –permanent
firewalld-cmd
-reload
现在,我们可以使用以下命令启动FRR服务:
systemctl start frr
现在,我们需要使用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上的路由表通过192.168.122.50包含了10.12.11.0/24的条目,该条目是通过RIP提供的。 类似地,在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守护程序的前端。
翻译自: https://opensource.com/article/20/5/vty-shell
cisco路由器vty