Skip to content

Instantly share code, notes, and snippets.

@tylerapplebaum
Forked from chriselsen/ffrouting-install.sh
Last active May 28, 2021 22:38
Show Gist options
  • Save tylerapplebaum/4c7c653c4943aefc4693c3be492d6b8a to your computer and use it in GitHub Desktop.
Save tylerapplebaum/4c7c653c4943aefc4693c3be492d6b8a to your computer and use it in GitHub Desktop.

Revisions

  1. tylerapplebaum revised this gist May 28, 2021. No changes.
  2. @chriselsen chriselsen revised this gist May 26, 2020. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion ffrouting-install.sh
    Original file line number Diff line number Diff line change
    @@ -94,4 +94,4 @@ sudo sed -i "/bgpd=no/ cbgpd=yes" /etc/frr/daemons
    sudo sed -i "/bgpd_options=\" -A 127.0.0.1\"/ cbgpd_options=\" -A 127.0.0.1 -M rpki\"" /etc/frr/daemons

    # Start FRR
    systemctl start frr
    sudo systemctl start frr
  3. @chriselsen chriselsen revised this gist May 26, 2020. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions ffrouting-install.sh
    Original file line number Diff line number Diff line change
    @@ -36,6 +36,7 @@ mkdir build; cd build
    cmake -D CMAKE_BUILD_TYPE=Release ..
    make
    sudo make install
    sudo ldconfig

    # FRRouting
    sudo groupadd -r -g 92 frr
  4. @chriselsen chriselsen revised this gist May 26, 2020. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion ffrouting-install.sh
    Original file line number Diff line number Diff line change
    @@ -32,7 +32,7 @@ sudo apt-get install libssh-dev -y
    cd /tmp
    git clone https://github.com/rtrlib/rtrlib/
    cd rtrlib
    mkdir build && cd build
    mkdir build; cd build
    cmake -D CMAKE_BUILD_TYPE=Release ..
    make
    sudo make install
  5. @chriselsen chriselsen revised this gist May 25, 2020. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions ffrouting-install.sh
    Original file line number Diff line number Diff line change
    @@ -90,6 +90,7 @@ sudo sed -i "/net.ipv6.conf.all.forwarding=1/ cnet.ipv6.conf.all.forwarding=1" /

    # Enable BGP
    sudo sed -i "/bgpd=no/ cbgpd=yes" /etc/frr/daemons
    sudo sed -i "/bgpd_options=\" -A 127.0.0.1\"/ cbgpd_options=\" -A 127.0.0.1 -M rpki\"" /etc/frr/daemons

    # Start FRR
    systemctl start frr
  6. @chriselsen chriselsen revised this gist May 25, 2020. 1 changed file with 15 additions and 4 deletions.
    19 changes: 15 additions & 4 deletions ffrouting-install.sh
    Original file line number Diff line number Diff line change
    @@ -8,7 +8,7 @@ sudo apt-get install -y \
    pkg-config libpam0g-dev libjson-c-dev bison flex python3-pytest \
    libc-ares-dev python3-dev libsystemd-dev python-ipaddress python3-sphinx \
    install-info build-essential libsystemd-dev libsnmp-dev perl libcap-dev \
    libpcre3-dev cmake frr-rpki-rtrlib
    libpcre3-dev cmake

    # Libyang
    cd /tmp
    @@ -26,6 +26,17 @@ sudo apt-get install -y protobuf-c-compiler libprotobuf-c-dev
    # ZeroMQ
    sudo apt-get install -y libzmq5 libzmq3-dev

    #RTRlib
    sudo apt-get install libssh-dev -y

    cd /tmp
    git clone https://github.com/rtrlib/rtrlib/
    cd rtrlib
    mkdir build && cd build
    cmake -D CMAKE_BUILD_TYPE=Release ..
    make
    sudo make install

    # FRRouting
    sudo groupadd -r -g 92 frr
    sudo groupadd -r -g 85 frrvty
    @@ -74,11 +85,11 @@ sudo install -m 644 tools/frr.service /etc/systemd/system/frr.service
    sudo systemctl enable frr

    # Sysctl
    sed -i "/net.ipv4.ip_forward=1/ cnet.ipv4.ip_forward=1" /etc/sysctl.conf
    sed -i "/net.ipv6.conf.all.forwarding=1/ cnet.ipv6.conf.all.forwarding=1" /etc/sysctl.conf
    sudo sed -i "/net.ipv4.ip_forward=1/ cnet.ipv4.ip_forward=1" /etc/sysctl.conf
    sudo sed -i "/net.ipv6.conf.all.forwarding=1/ cnet.ipv6.conf.all.forwarding=1" /etc/sysctl.conf

    # Enable BGP
    sed -i "/bgpd=no/ cbgpd=yes" /etc/frr/daemons
    sudo sed -i "/bgpd=no/ cbgpd=yes" /etc/frr/daemons

    # Start FRR
    systemctl start frr
  7. @chriselsen chriselsen revised this gist May 25, 2020. 1 changed file with 2 additions and 10 deletions.
    12 changes: 2 additions & 10 deletions ffrouting-install.sh
    Original file line number Diff line number Diff line change
    @@ -7,7 +7,8 @@ sudo apt-get install -y \
    git autoconf automake libtool make libreadline-dev texinfo \
    pkg-config libpam0g-dev libjson-c-dev bison flex python3-pytest \
    libc-ares-dev python3-dev libsystemd-dev python-ipaddress python3-sphinx \
    install-info build-essential libsystemd-dev libsnmp-dev perl libcap-dev libpcre3-dev cmake
    install-info build-essential libsystemd-dev libsnmp-dev perl libcap-dev \
    libpcre3-dev cmake frr-rpki-rtrlib

    # Libyang
    cd /tmp
    @@ -19,15 +20,6 @@ cmake -DENABLE_LYD_PRIV=ON -DCMAKE_INSTALL_PREFIX:PATH=/usr \
    make
    sudo make install

    # RTRlib
    cd /tmp
    git clone https://github.com/rtrlib/rtrlib/
    cd rtrlib
    mkdir build; cd build
    cmake -D CMAKE_BUILD_TYPE=Release ..
    make
    sudo make install

    # Protobuf
    sudo apt-get install -y protobuf-c-compiler libprotobuf-c-dev

  8. @chriselsen chriselsen revised this gist May 25, 2020. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion ffrouting-install.sh
    Original file line number Diff line number Diff line change
    @@ -67,7 +67,7 @@ cd frr
    --enable-systemd=yes \
    --enable-rpki=yes \
    --with-pkg-git-version \
    --with-pkg-extra-version=-MyOwnFRRVersion
    --with-pkg-extra-version=-chriselsen
    make
    sudo make install

  9. @chriselsen chriselsen revised this gist May 25, 2020. 1 changed file with 9 additions and 0 deletions.
    9 changes: 9 additions & 0 deletions ffrouting-install.sh
    Original file line number Diff line number Diff line change
    @@ -19,6 +19,15 @@ cmake -DENABLE_LYD_PRIV=ON -DCMAKE_INSTALL_PREFIX:PATH=/usr \
    make
    sudo make install

    # RTRlib
    cd /tmp
    git clone https://github.com/rtrlib/rtrlib/
    cd rtrlib
    mkdir build; cd build
    cmake -D CMAKE_BUILD_TYPE=Release ..
    make
    sudo make install

    # Protobuf
    sudo apt-get install -y protobuf-c-compiler libprotobuf-c-dev

  10. @chriselsen chriselsen revised this gist May 25, 2020. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion ffrouting-install.sh
    Original file line number Diff line number Diff line change
    @@ -56,7 +56,7 @@ cd frr
    --enable-group=frr \
    --enable-vty-group=frrvty \
    --enable-systemd=yes \
    --enable-rpki \
    --enable-rpki=yes \
    --with-pkg-git-version \
    --with-pkg-extra-version=-MyOwnFRRVersion
    make
  11. @chriselsen chriselsen revised this gist May 25, 2020. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions ffrouting-install.sh
    Original file line number Diff line number Diff line change
    @@ -56,6 +56,7 @@ cd frr
    --enable-group=frr \
    --enable-vty-group=frrvty \
    --enable-systemd=yes \
    --enable-rpki \
    --with-pkg-git-version \
    --with-pkg-extra-version=-MyOwnFRRVersion
    make
  12. @chriselsen chriselsen revised this gist May 24, 2020. 1 changed file with 3 additions and 0 deletions.
    3 changes: 3 additions & 0 deletions ffrouting-install.sh
    Original file line number Diff line number Diff line change
    @@ -75,5 +75,8 @@ sudo systemctl enable frr
    sed -i "/net.ipv4.ip_forward=1/ cnet.ipv4.ip_forward=1" /etc/sysctl.conf
    sed -i "/net.ipv6.conf.all.forwarding=1/ cnet.ipv6.conf.all.forwarding=1" /etc/sysctl.conf

    # Enable BGP
    sed -i "/bgpd=no/ cbgpd=yes" /etc/frr/daemons

    # Start FRR
    systemctl start frr
  13. @chriselsen chriselsen revised this gist Sep 12, 2019. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion ffrouting-install.sh
    Original file line number Diff line number Diff line change
    @@ -71,7 +71,7 @@ sudo install -m 640 -o frr -g frr tools/etc/frr/daemons /etc/frr/daemons
    sudo install -m 644 tools/frr.service /etc/systemd/system/frr.service
    sudo systemctl enable frr

    #Sysctl
    # Sysctl
    sed -i "/net.ipv4.ip_forward=1/ cnet.ipv4.ip_forward=1" /etc/sysctl.conf
    sed -i "/net.ipv6.conf.all.forwarding=1/ cnet.ipv6.conf.all.forwarding=1" /etc/sysctl.conf

  14. @chriselsen chriselsen renamed this gist Sep 12, 2019. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions ffrouting-install.txt → ffrouting-install.sh
    Original file line number Diff line number Diff line change
    @@ -1,3 +1,5 @@
    #!/bin/bash

    sudo apt-get update && sudo apt-get upgrade -y

    # Dependencies
  15. @chriselsen chriselsen revised this gist Sep 12, 2019. 1 changed file with 76 additions and 0 deletions.
    76 changes: 76 additions & 0 deletions ffrouting-install.txt
    Original file line number Diff line number Diff line change
    @@ -1 +1,77 @@
    sudo apt-get update && sudo apt-get upgrade -y

    # Dependencies
    sudo apt-get install -y \
    git autoconf automake libtool make libreadline-dev texinfo \
    pkg-config libpam0g-dev libjson-c-dev bison flex python3-pytest \
    libc-ares-dev python3-dev libsystemd-dev python-ipaddress python3-sphinx \
    install-info build-essential libsystemd-dev libsnmp-dev perl libcap-dev libpcre3-dev cmake

    # Libyang
    cd /tmp
    git clone https://github.com/CESNET/libyang.git
    cd libyang
    mkdir build; cd build
    cmake -DENABLE_LYD_PRIV=ON -DCMAKE_INSTALL_PREFIX:PATH=/usr \
    -D CMAKE_BUILD_TYPE:String="Release" ..
    make
    sudo make install

    # Protobuf
    sudo apt-get install -y protobuf-c-compiler libprotobuf-c-dev

    # ZeroMQ
    sudo apt-get install -y libzmq5 libzmq3-dev

    # FRRouting
    sudo groupadd -r -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

    cd /tmp
    git clone https://github.com/frrouting/frr.git frr
    cd frr
    ./bootstrap.sh
    ./configure \
    --prefix=/usr \
    --includedir=\${prefix}/include \
    --enable-exampledir=\${prefix}/share/doc/frr/examples \
    --bindir=\${prefix}/bin \
    --sbindir=\${prefix}/lib/frr \
    --libdir=\${prefix}/lib/frr \
    --libexecdir=\${prefix}/lib/frr \
    --localstatedir=/var/run/frr \
    --sysconfdir=/etc/frr \
    --with-moduledir=\${prefix}/lib/frr/modules \
    --with-libyang-pluginsdir=\${prefix}/lib/frr/libyang_plugins \
    --enable-configfile-mask=0640 \
    --enable-logfile-mask=0640 \
    --enable-snmp=agentx \
    --enable-multipath=64 \
    --enable-user=frr \
    --enable-group=frr \
    --enable-vty-group=frrvty \
    --enable-systemd=yes \
    --with-pkg-git-version \
    --with-pkg-extra-version=-MyOwnFRRVersion
    make
    sudo make install

    sudo install -m 775 -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 frrvty tools/etc/frr/vtysh.conf /etc/frr/vtysh.conf
    sudo install -m 640 -o frr -g frr tools/etc/frr/frr.conf /etc/frr/frr.conf
    sudo install -m 640 -o frr -g frr tools/etc/frr/daemons.conf /etc/frr/daemons.conf
    sudo install -m 640 -o frr -g frr tools/etc/frr/daemons /etc/frr/daemons

    sudo install -m 644 tools/frr.service /etc/systemd/system/frr.service
    sudo systemctl enable frr

    #Sysctl
    sed -i "/net.ipv4.ip_forward=1/ cnet.ipv4.ip_forward=1" /etc/sysctl.conf
    sed -i "/net.ipv6.conf.all.forwarding=1/ cnet.ipv6.conf.all.forwarding=1" /etc/sysctl.conf

    # Start FRR
    systemctl start frr
  16. @chriselsen chriselsen created this gist Sep 12, 2019.
    1 change: 1 addition & 0 deletions ffrouting-install.txt
    Original file line number Diff line number Diff line change
    @@ -0,0 +1 @@
    sudo apt-get update && sudo apt-get upgrade -y