前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >FRRouting套件简介(二)安装FRR

FRRouting套件简介(二)安装FRR

原创
作者头像
通信行业搬砖工
发布2023-03-13 22:35:10
2.2K0
发布2023-03-13 22:35:10
举报
文章被收录于专栏:网络虚拟化

在第一篇章节中,我们讲述了frr的基本介绍,在本章节,我们侧重于如何安装FRR

步骤一:如何获取FRR源代码

 FRR的源代码可以在GitHub项目页面上找到,它的项目链接为:

https://github.com/FRRouting/frr

图片
图片

github 截图

从Git构建时,有几个分支可供选择。主分支是主要的开发分支。它应该被认为是不稳定的。每个发行版都有自己的分支stable/X.X,其中X.X是发行版。

此外,release tarballs发布在GitHub发布页面上,个人建议我们在拉取代码时候,尽量使用stable版本。

步骤二、安装依赖库

2.1本方法针对原版CentOS镜像安装依赖库

CentOS-7:依赖库

代码语言:javascript
复制
sudo yum install git autoconf automake libtool make \
代码语言:javascript
复制
  readline-devel texinfo net-snmp-devel groff pkgconfig \
代码语言:javascript
复制
  json-c-devel pam-devel bison flex pytest c-ares-devel \
代码语言:javascript
复制
  python-devel python-sphinx libcap-devel \
代码语言:javascript
复制
  elfutils-libelf-devel libunwind-devel

CentOS-8:依赖库

代码语言:javascript
复制
sudo dnf install --enablerepo=PowerTools git autoconf pcre-devel \
代码语言:javascript
复制
  automake libtool make readline-devel texinfo net-snmp-devel pkgconfig \
代码语言:javascript
复制
  groff pkgconfig json-c-devel pam-devel bison flex python2-pytest \
代码语言:javascript
复制
  c-ares-devel python2-devel libcap-devel \

  elfutils-libelf-devel libunwind-devel

需要注意的是如果centos升级了python库,则上述原版镜像自带的python2.X的依赖库需要更新至对应的python版本的依赖库;

本文以centos 7 为例:查看其版本为centos 7,内核版本3.10

图片
图片

安装依赖库:

图片
图片

按照上述步骤安装依赖库

2.2 安装pcre库

yum install pcre2-devel

图片
图片

2.3安装libyang:frr 8.0需要2.0以上版本

代码语言:javascript
复制
2.3.1 下载frr源代码git clone https://github.com/CESNET/libyang.gitcd libyang
git checkout v2.0.0 (该步骤为可选步骤)mkdir build; cd build
2.3.2 执行编译libyangcmake -D CMAKE_INSTALL_PREFIX:PATH=/usr \
-D CMAKE_BUILD_TYPE:String="Release" ..
make
sudo make install

四、配置frr group和用户

代码语言:javascript
复制
sudo groupadd -g 92 frr
sudo groupadd -r -g 85 frrvty
sudo useradd -u 92 -g 92 -M -r -G frrvty -s /sbin/nologin \
-c "FRR FRRouting suite" -d /var/run/frr frr

五、编译FRR

代码语言:javascript
复制
5.1 下载frr源代码git clone https://github.com/frrouting/frr.git frr
5.2 进入frr目录,生成编译文件cd frr
./bootstrap.sh示例:
./configure \
--bindir=/usr/bin \
--sbindir=/usr/lib/frr \
--sysconfdir=/etc/frr \
--libdir=/usr/lib/frr \
--libexecdir=/usr/lib/frr \
--localstatedir=/var/run/frr \
--with-moduledir=/usr/lib/frr/modules \
--enable-snmp=agentx \
--enable-multipath=64 \
--enable-user=frr \
--enable-group=frr \
--enable-vty-group=frrvty \
--disable-ldpd \
--enable-fpm \
--with-pkg-git-version \
--with-pkg-extra-version=-MyOwnFRRVersion \
SPHINXBUILD=/usr/bin/sphinx-build示例:
5.3执行编译操作makemake check
sudo make install

六、创建相关业务的配置文件

代码语言:javascript
复制
sudo mkdir /var/log/frr
sudo mkdir /etc/frr
sudo touch /etc/frr/zebra.conf
sudo touch /etc/frr/bgpd.conf
sudo touch /etc/frr/ospfd.conf
sudo touch /etc/frr/ospf6d.conf
sudo touch /etc/frr/isisd.conf
sudo touch /etc/frr/ripd.conf
sudo touch /etc/frr/ripngd.conf
sudo touch /etc/frr/pimd.conf
sudo touch /etc/frr/nhrpd.conf
sudo touch /etc/frr/eigrpd.conf
sudo touch /etc/frr/babeld.conf
sudo chown -R frr:frr /etc/frr/
sudo touch /etc/frr/vtysh.conf
sudo chown frr:frrvty /etc/frr/vtysh.conf
sudo chmod 640 /etc/frr/*.conf示例:

七、安装daemon配置

代码语言:javascript
复制
sudo install -p -m 644 tools/etc/frr/daemons /etc/frr/
sudo chown frr:frr /etc/frr/daemons示例:

使能IPv4 和IPv6转发

创建如下文件,然后添加如下内容。

路径:/etc/sysctl.d/90-routing-sysctl.conf

代码语言:javascript
复制
# Sysctl for routing
#
# Routing: We need to forward packets
net.ipv4.conf.all.forwarding=1
net.ipv6.conf.all.forwarding=1
示例:

执行下面命令生效配置:

sudo sysctl -p /etc/sysctl.d/90-routing-sysctl.conf

示例:

图片
图片

安装frr 服务

sudo install -p -m 644 tools/frr.service /usr/lib/systemd/system/frr.service

示例:

图片
图片

八、frr启动和停止操作命令

启动frr命令:systemctl start frr

图片
图片

停止frr命令:systemctl stop frr

图片
图片

重启frr命令:systemctl restart frr

图片
图片

总结:

通过上述步骤操作,我们介绍了:

1、centos 安装依赖库

2、如何安装pcre2-devel库

3、如何编译和安装libyang

4、在centos上如何编译和运行FRRouting 路由套件

5、如何配置和运行FRRouting 路由套件

如果您对DPDK-VPP-FRR感兴趣的朋友,欢迎关注本公众号:通信行业搬砖工 你的关注和点赞是对我们最大的赞赏和鼓励,感谢您的支持,谢谢!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档