build FRR on ubuntu

简介: https://github.com/FRRouting/frr/wiki/Building-FRR-on-Ubuntu-1404 Install required packagesAdd packages:apt-get install git autoconf automake libt...

https://github.com/FRRouting/frr/wiki/Building-FRR-on-Ubuntu-1404

 

Install required packages

Add packages:

apt-get install git autoconf automake libtool make gawk libreadline-dev \
   texinfo dejagnu pkg-config libpam0g-dev libjson-c-dev bison flex \
   python-pytest libc-ares-dev python3-dev

Add frr groups and user

sudo groupadd -g 92 frr
sudo groupadd -r -g 85 frrvty
sudo adduser --system --ingroup frr --home /var/run/frr/ \
   --gecos "FRR suite" --shell /sbin/nologin frr
sudo usermod -a -G frrvty frr

Download Source, configure and compile it

(You may prefer different options on configure statement. These are just an example.)

git clone https://github.com/frrouting/frr.git frr
cd frr
./bootstrap.sh
./configure \
    --prefix=/usr \
    --enable-exampledir=/usr/share/doc/frr/examples/ \
    --localstatedir=/var/run/frr \
    --sbindir=/usr/lib/frr \
    --sysconfdir=/etc/frr \
    --enable-pimd \
    --enable-watchfrr \
    --enable-ospfclient=yes \
    --enable-ospfapi=yes \
    --enable-multipath=64 \
    --enable-user=frr \
    --enable-group=frr \
    --enable-vty-group=frrvty \
    --enable-configfile-mask=0640 \
    --enable-logfile-mask=0640 \
    --enable-rtadv \
    --enable-fpm \
    --enable-ldpd \
    --with-pkg-git-version \
    --with-pkg-extra-version=-MyOwnFRRVersion
make
make check
sudo make install

derek@kbox:~/share/frr$ autoreconf -i
.ibtoolize: error: AC_CONFIG_MACRO_DIRS([m4]) conflicts with ACLOCAL_AMFLAGS=-I m4
autoreconf: libtoolize failed with exit status: 1

在项目的根目录下添加如下.gitattributes文件便可

*.sh     -crlf
*.ac     -crlf
*.am     -crlf

 

Create empty FRR configuration files

sudo install -m 755 -o frr -g frr -d /var/log/frr
sudo install -m 775 -o frr -g frrvty -d /etc/frr
sudo install -m 640 -o frr -g frr /dev/null /etc/frr/zebra.conf
sudo install -m 640 -o frr -g frr /dev/null /etc/frr/bgpd.conf
sudo install -m 640 -o frr -g frr /dev/null /etc/frr/ospfd.conf
sudo install -m 640 -o frr -g frr /dev/null /etc/frr/ospf6d.conf
sudo install -m 640 -o frr -g frr /dev/null /etc/frr/isisd.conf
sudo install -m 640 -o frr -g frr /dev/null /etc/frr/ripd.conf
sudo install -m 640 -o frr -g frr /dev/null /etc/frr/ripngd.conf
sudo install -m 640 -o frr -g frr /dev/null /etc/frr/pimd.conf
sudo install -m 640 -o frr -g frr /dev/null /etc/frr/ldpd.conf
sudo install -m 640 -o frr -g frr /dev/null /etc/frr/nhrpd.conf
sudo install -m 640 -o frr -g frrvty /dev/null /etc/frr/vtysh.conf

nable IP & IPv6 forwarding

Edit /etc/sysctl.conf and uncomment the following values (ignore the other settings)

# Uncomment the next line to enable packet forwarding for IPv4
net.ipv4.ip_forward=1

# Uncomment the next line to enable packet forwarding for IPv6
#  Enabling this option disables Stateless Address Autoconfiguration
#  based on Router Advertisements for this host
net.ipv6.conf.all.forwarding=1

Reboot or use sysctl -p to apply the same config to the running system ### Install the init.d service

sudo install -m 755 tools/frr /etc/init.d/frr
sudo install -m 644 tools/etc/frr/daemons /etc/frr/daemons
sudo install -m 644 tools/etc/frr/daemons.conf /etc/frr/daemons.conf
sudo install -m 644 -o frr -g frr tools/etc/frr/vtysh.conf /etc/frr/vtysh.conf

Enable daemons

Edit  /etc/frr/daemons and change the value from "no" to "yes" for those daemons you want to start by systemd.
For example.
zebra=yes
bgpd=yes
ospfd=yes
ospf6d=yes
ripd=yes
ripngd=yes
isisd=yes

Start the init.d service

  • sudo /etc/init.d/frr start
  • use /etc/init.d/frr status to check its status.

 

vtysh

  • sudo vtysh
derek@kbox:~$ sudo vtysh
[sudo] password for derek: 

Hello, this is FRRouting (version 3.1-dev-MyOwnFRRVersion-gff9eb72).
Copyright 1996-2005 Kunihiro Ishiguro, et al.

This is a git build of frr-3.1-dev-699-g4ff9eb72
Associated branch(es):
        local:master
        github/frrouting/frr.git/master

kbox# show version
FRRouting 3.1-dev-MyOwnFRRVersion-gff9eb72 (kbox).
Copyright 1996-2005 Kunihiro Ishiguro, et al.
This is a git build of frr-3.1-dev-699-g4ff9eb72
Associated branch(es):
        local:master
        github/frrouting/frr.git/master

configured with:
     '--prefix=/usr' '--enable-exampledir=/usr/share/doc/frr/examples/' '--localstatedir=/var/run/frr' '--sbindir=/usr/lib/frr'...

 

目录
相关文章
|
网络协议 Unix Linux
CentOS7下利用FRR路由套件实现OSPF动态路由组网
CentOS7下利用FRR路由套件实现OSPF动态路由组网
1587 0
CentOS7下利用FRR路由套件实现OSPF动态路由组网
|
缓存 Linux 开发工具
CentOS 7- 配置阿里镜像源
阿里镜像官方地址http://mirrors.aliyun.com/ 1、点击官方提供的相应系统的帮助 :2、查看不同版本的系统操作: 下载源1、安装wget yum install -y wget2、下载CentOS 7的repo文件wget -O /etc/yum.
243848 0
|
7月前
|
人工智能 Cloud Native 调度
阿里云容器服务在AI智算场景的创新与实践
本文源自张凯在2024云栖大会的演讲,介绍了阿里云容器服务在AI智算领域的创新与实践。从2018年推出首个开源GPU容器共享调度方案至今,阿里云容器服务不断推进云原生AI的发展,包括增强GPU可观测性、实现多集群跨地域统一调度、优化大模型推理引擎部署、提供灵活的弹性伸缩策略等,旨在为客户提供高效、低成本的云原生AI解决方案。
|
Ubuntu 虚拟化 Windows
将Vmware虚拟机磁盘映射到本地实现文件传输
将虚拟机磁盘映射到本地,可以实现文件互传,更方便使用,在开发时可以替代SecureFx等FTP客户端软件
857 0
|
负载均衡 监控 网络协议
边界网关协议 - 段路由的链路状态 (BGP-LS) 扩展
段路由 (Segment Routing,SR) 允许通过将路径编码为称为“段”的拓扑子路径序列来灵活定义端到端路径。这些段由路由协议通告,例如 IGP 拓扑中的链路状态路由协议(IS-IS、OSPFv2 和 OSPFv3)。
2220 0
边界网关协议 - 段路由的链路状态 (BGP-LS) 扩展
|
Ubuntu Linux 网络性能优化
VPP安装
VPP安装
523 0
|
存储 NoSQL Redis
redis7.0源码阅读(三):哈希表扩容、缩容以及rehash
redis7.0源码阅读(三):哈希表扩容、缩容以及rehash
216 0
|
网络协议 算法 网络架构
FRR+BFD+OSPF与BGP联动
FRR+BFD+OSPF与BGP联动
409 0
|
存储 人工智能 运维
云原生AIGC工作台(AIGC-Gateway)助力企业加速AIGC落地
为了解决企业内部落地AIGC引擎的通用性问题,阿里云与行者AI通过CloudNativeGame社区一起开源了AIGC-Gateway项目,降低企业内部AIGC落地的难度与费用,真正做到开箱即用,即开即用。
1542 1
|
数据可视化 程序员 开发者
如何自己制作一个游戏(附免费的游戏开发新手教程)
首先我们来看一下这个问题本身,能问出这个问题的基本上就是新手,小白,零基础,对于游戏开发这个领域没有任何的了解的人。为什么这么说呢?因为只有当你对于一个领域没有任何了解的时候,才会问出这么宽泛的问题。 所以你看,但凡问那种很宽泛的问题的,基本上都是对于这个领域没有任何了解的,也就是新手小白。但是新手小白也没有什么可丢人的,毕竟谁在接触一个新领域的时候不是新手小白呢?
4260 1

热门文章

最新文章