在CentOS 7上从源码构建FRRouting(FRR)的完整指南

在CentOS 7上从源码构建FRRouting(FRR)的完整指南

frr The FRRouting Protocol Suite frr 项目地址: https://gitcode.com/gh_mirrors/fr/frr

前言

FRRouting(FRR)是一个功能强大的开源路由软件套件,提供了BGP、OSPF、IS-IS等多种路由协议支持。本文将详细介绍在CentOS 7系统上从源码构建FRR的完整过程,帮助网络工程师和开发者在企业环境中部署这一专业路由解决方案。

CentOS 7环境准备

在开始构建前,需要了解CentOS 7的一些限制:

  1. MPLS功能限制:默认内核不支持MPLS功能,需要Linux内核4.5或更高版本
  2. 依赖库版本:某些功能可能需要较新版本的依赖库

安装构建依赖

执行以下命令安装必要的开发工具和库:

sudo yum install git autoconf automake libtool make \
  readline-devel texinfo net-snmp-devel groff pkgconfig \
  json-c-devel pam-devel bison flex pytest c-ares-devel \
  python-devel python-sphinx libcap-devel \
  elfutils-libelf-devel libunwind-devel protobuf-c-devel

重要说明

  • 某些依赖库如libunwind可能需要特别注意版本兼容性
  • 如果计划使用YANG模型功能,还需要额外安装libyang库

创建FRR系统用户和组

为安全考虑,FRR需要专用系统用户运行:

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

获取源码并构建

  1. 获取FRR源码
  2. 运行bootstrap准备构建环境
  3. 配置构建选项
  4. 编译和安装
git clone <FRR源码仓库地址> frr
cd frr
./bootstrap.sh
./configure \
    --bindir=/usr/bin \
    --sbindir=/usr/lib/frr \
    --libdir=/usr/lib/frr \
    --libexecdir=/usr/lib/frr \
    --with-moduledir=/usr/lib/frr/modules \
    --enable-snmp \
    --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
make
make check
sudo make install

配置选项说明

  • --enable-snmp:启用SNMP支持
  • --enable-multipath=64:支持最多64条等价路径
  • --disable-ldpd:禁用LDP协议(因MPLS限制)
  • --enable-fpm:启用转发平面管理器功能

配置FRR环境

创建配置文件结构

sudo mkdir /var/log/frr
sudo mkdir /etc/frr
sudo touch /etc/frr/{zebra,bgpd,ospfd,ospf6d,ripd,ripngd,pimd,nhrpd,eigrpd,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

安装守护进程配置

sudo install -p -m 644 tools/etc/frr/daemons /etc/frr/
sudo chown frr:frr /etc/frr/daemons

配置说明: 编辑/etc/frr/daemons文件,启用需要的路由协议守护进程,将对应值改为yes

系统网络配置

启用IP转发

创建/etc/sysctl.d/90-routing-sysctl.conf文件:

# 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

系统服务集成

安装systemd服务文件

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

启动FRR服务

sudo systemctl start frr

验证安装

  1. 检查服务状态:systemctl status frr
  2. 使用vtysh连接FRR控制台验证功能
  3. 检查各守护进程是否正常运行

后续配置建议

  1. 根据网络需求配置各路由协议
  2. 设置日志轮转策略
  3. 配置SNMP监控
  4. 考虑设置备份和恢复策略

通过以上步骤,您已在CentOS 7系统上成功构建并部署了FRRouting套件,可以开始配置各种路由协议来满足您的网络需求。

frr The FRRouting Protocol Suite frr 项目地址: https://gitcode.com/gh_mirrors/fr/frr

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

任铃冰Flourishing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值