【FRRouting User Guide】(三)Basic Setup

        安装FRR后,必须完成一些基本配置才能使用。

Crash logs

如果任何守护程序由于某种原因(分段错误、断言失败等)崩溃,它将尝试向位于/var/tmp/frr/<daemon>[-<instance>].<pid>/crashlog中的文件写入回溯。此功能不受任何配置选项的影响。

crashlog文件的目录还包含与名为 /var/tmp/frr/<daemon>[-<instance>].<pid>/logbuf.<tid>的文件中的 per-thread消息缓冲区相对应的文件。在崩溃的情况下,这些可能包含未写入的缓冲日志消息。若要显示这些缓冲区的内容,请通过tr '\0' '\n'传递其内容。一个空行标志着有效的未写入数据的结束(由于缓冲区没有被清除,所以它后面通常会跟着被篡改的、较旧的日志消息)

Daemons Configuration File

重新安装后,启动FRR将不起任何作用。这是因为必须通过编辑配置目录中的文件来显式启用守护程序。此文件通常位于/etc/frr/daemons,它确定在通过init或systemd发出服务启动/停止命令时激活哪些守护程序。文件最初看起来如下所示:

zebra=no
bgpd=no
ospfd=no
ospf6d=no
ripd=no
ripngd=no
isisd=no
pimd=no
ldpd=no
nhrpd=no
eigrpd=no
babeld=no
sharpd=no
staticd=no
pbrd=no
bfdd=no
fabricd=no

#
# If this option is set the /etc/init.d/frr script automatically loads
# the config via "vtysh -b" when the servers are started.
# Check /etc/pam.d/frr if you intend to use "vtysh"!
#
vtysh_enable=yes
zebra_options=" -s 90000000 --daemon -A 127.0.0.1"
bgpd_options="   --daemon -A 127.0.0.1"
ospfd_options="  --daemon -A 127.0.0.1"
ospf6d_options=" --daemon -A ::1"
ripd_options="   --daemon -A 127.0.0.1"
ripngd_options=" --daemon -A ::1"
isisd_options="  --daemon -A 127.0.0.1"
pimd_options="  --daemon -A 127.0.0.1"
ldpd_options="  --daemon -A 127.0.0.1"
nhrpd_options="  --daemon -A 127.0.0.1"
eigrpd_options="  --daemon -A 127.0.0.1"
babeld_options="  --daemon -A 127.0.0.1"
sharpd_options="  --daemon -A 127.0.0.1"
staticd_options="  --daemon -A 127.0.0.1"
pbrd_options="  --daemon -A 127.0.0.1"
bfdd_options="  --daemon -A 127.0.0.1"
fabricd_options="  --daemon -A 127.0.0.1"

#MAX_FDS=1024
# The list of daemons to watch is automatically generated by the init script.
#watchfrr_options=""

# for debugging purposes, you can specify a "wrap" command to start instead
# of starting the daemon directly, e.g. to use valgrind on ospfd:
#   ospfd_wrap="/usr/bin/valgrind"
# or you can use "all_wrap" for all daemons, e.g. to use perf record:
#   all_wrap="/usr/bin/perf record --call-graph -"
# the normal daemon command is added to this at the end.

Breaking this file down:

bgpd=yes

要启用特定的守护进程,只需将相应的“no”更改为“yes”。后续服务重新启动应启动守护进程。

vtysh_enable=yes

正如注释所说,这会导致VTYSH在启动守护进程时应用配置。这对于VTYSH文档中涉及的各种原因都很有用,通常应该启用它。

MAX_FDS=1024

这允许操作员控制允许每个守护进程启动的打开文件描述符的数量。大多数操作系统上的当前假定值是1024。如果运营商计划用几千个对等点运行bgp,那么我们将修改FRR以允许这种情况发生。

zebra_options=" -s 90000000 --daemon -A 127.0.0.1"
bgpd_options="   --daemon -A 127.0.0.1"
...

下一组行控制从服务脚本启动时传递给守护程序的选项。通常守护程序会指定--daemon和-A<address>,以便守护和侦听特定地址上的VTY命令。

关于watchfrr_options 和 *_wrap 设置的其余文件内容通常不需要;如果需要,请参阅注释。

Services

FRR守护进程有自己的终端接口或VTY。安装后,最好设置每个守护进程的端口号以连接到它们。为此,请将以下条目添加到/etc/services。

zebrasrv      2600/tcp                 # zebra service
zebra         2601/tcp                 # zebra vty
ripd          2602/tcp                 # RIPd vty
ripngd        2603/tcp                 # RIPngd vty
ospfd         2604/tcp                 # OSPFd vty
bgpd          2605/tcp                 # BGPd vty
ospf6d        2606/tcp                 # OSPF6d vty
ospfapi       2607/tcp                 # ospfapi
isisd         2608/tcp                 # ISISd vty
babeld        2609/tcp                 # BABELd vty
nhrpd         2610/tcp                 # nhrpd vty
pimd          2611/tcp                 # PIMd vty
ldpd          2612/tcp                 # LDPd vty
eigprd        2613/tcp                 # EIGRPd vty
bfdd          2617/tcp                 # bfdd vty
fabricd       2618/tcp                 # fabricd vty
vrrpd         2619/tcp                 # vrrpd vty

如果使用比2.2.8更新的FreeBSD,则上述条目已添加到/etc/services,因此无需添加。如果在启动守护程序时指定端口号,则可能不需要这些条目。

您可能需要更改/etc/frr中的配置文件。

Systemd

虽然从源代码安装时没有安装,但FRR提供了一个服务文件,可与systemd一起使用。它位于 tools/frr.service在Git存储库中。如果系统控制状态frr.service指示找不到FRR服务,请将服务文件从Git存储库复制到首选位置。一个好地方通常是/etc/systemd/system/。

在发出systemctl守护进程重载后,您应该能够通过systemctl start frr启动FRR服务。如果失败,或者没有启动守护程序。检查日志中是否有出错的迹象。

Operations

本节介绍一些常见的操作任务以及如何执行这些任务。

Restarting

重新启动会杀死所有正在运行的FRR守护进程,然后再次启动它们。任何未保存的配置都将丢失。

service frr restart

注意
或者,可以直接调用init脚本:

/etc/init.d/frr restart

或者,如果使用systemd:

systemctl restart frr

 

Reloading

重新加载应用磁盘上配置和正在运行的FRR进程的当前有效配置之间的差异。这包括启动以前停止的守护程序以及对单个或统一守护程序配置文件所做的任何更改。

service frr reload

注意
或者,可以直接调用init脚本:

/etc/init.d/frr reload

或者,如果使用systemd:

systemctl reload frr

 

See FRR-RELOAD for more about the frr-reload.py script.

有关 FRR-RELOAD 的更多信息,请参阅 frr-reload.py script.

Starting a new daemon

假设bgpd and zebra running,您希望启动pimd。在/etc/frr/daemons以下更改中:

- pimd=no
+ pimd=yes

然后执行重新加载。
目前没有方法停止或重新启动单个守护进程。这是因为FRR的监视程序当前无法区分崩溃/已终止的守护进程与故意停止或重新启动的守护进程。最接近的方法是删除守护进程的所有配置,并将其行设置为/etc/frr/daemons为=no。一旦完成此操作,将在下次重新启动frr时停止守护进程。

Network Namespaces

可以在不同的网络名称空间中运行FRR,以便可以进一步划分(例如,限制到较小的网络子集)。网络命名空间配置可以在默认FRR配置路径空间中使用,也可以在其他路径空间(-N/–pathspace)中使用。

要在默认路径空间中使用FRR network namespace,应在 /etc/frr/daemons中添加或取消注释 watchfrr_options行:

- #watchfrr_options="--netns"
+ watchfrr_options="--netns=<network-namespace-name>"

如果要将不同的路径空间与网络命名空间一起使用(推荐的方式),应在/etc/frr/<namespace>/daemons中添加/取消对watchfrr_options 行的注释:

- #watchfrr_options="--netns"
+ #watchfrr_options="--netns=<network-namespace-name>"
+
+ # `--netns` argument is optional and if not provided it will
+ # default to the pathspace name.
+ watchfrr_options="--netns"

要在新的pathspace+网络命名空间中启动FRR,应使用额外参数调用初始化脚本:

/etc/init.d/frr start <pathspace-name>

注意
一些Linux发行版可能不使用FRR附带的默认init脚本,在这种情况下,您可能希望尝试在/usr/lib/FRR中运行捆绑的脚本/frrinit.sh文件.
在systemd上,您可以创建不同的单元或参数化现有的单元。参见手册页:https://www.freedesktop.org/software/systemd/man/systemd.unit.html

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值