zoukankan      html  css  js  c++  java
  • build FRR on ubuntu

    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'...
    复制代码
  • 相关阅读:
    分布式文件系统HDFS体系
    开源分布式文件系统比较
    分布式文件系统FastDFS设计原理
    开源日志系统比较
    FMX.Controls单元 中图形矩阵变换
    磁波刀和海扶刀的区别
    pchar,pwidechar,pansichar作为返回参数时内存访问错误
    【笔记】每次开机后,第一次打开一个程序,比如浏览器或播放器,会比较慢。但关掉后第二次或第三次打开的话就会比较快了,这是为什么?
    DOS批处理中%cd%和%~dp0的异同分析
    [转]使用互斥对象让程序只运行一次(delphi)
  • 原文地址:https://www.cnblogs.com/heimafeitian/p/9653168.html
Copyright © 2011-2022 走看看