]> git.proxmox.com Git - mirror_frr.git/blob - doc/Building_FRR_on_Debian8.md
Rename: FreeRangeRouting FRRouting
[mirror_frr.git] / doc / Building_FRR_on_Debian8.md
1 Building FRR on Debian 8 from Git Source
2 ========================================
3
4 Debian 8 restrictions:
5 ----------------------
6
7 - MPLS is not supported on `Debian 8` with default kernel. MPLS requires
8 Linux Kernel 4.5 or higher (LDP can be built, but may have limited use
9 without MPLS)
10
11 Install required packages
12 -------------------------
13
14 Add packages:
15
16 sudo apt-get install git autoconf automake libtool make gawk \
17 libreadline-dev texinfo libjson-c-dev pkg-config bison flex \
18 python-pip
19
20 Install newer pytest (>3.0) from pip
21
22 sudo pip install pytest
23
24 Get FRR, compile it and install it (from Git)
25 ---------------------------------------------
26
27 **This assumes you want to build and install FRR from source and not using
28 any packages**
29
30 ### Add frr groups and user
31
32 sudo addgroup --system --gid 92 frr
33 sudo addgroup --system --gid 85 frrvty
34 sudo adduser --system --ingroup frr --groups frrvty --home /var/run/frr/ \
35 --gecos "FRR FRRouting suite" --shell /bin/false frr
36 sudo usermode
37
38 ### Download Source, configure and compile it
39 (You may prefer different options on configure statement. These are just
40 an example.)
41
42 git clone https://github.com/freerangerouting/frr.git frr
43 cd frr
44 git checkout stable/2.0
45 ./bootstrap.sh
46 ./configure \
47 --enable-exampledir=/usr/share/doc/frr/examples/ \
48 --localstatedir=/var/run/frr \
49 --sbindir=/usr/lib/frr \
50 --sysconfdir=/etc/frr \
51 --enable-vtysh \
52 --enable-isisd \
53 --enable-pimd \
54 --enable-watchfrr \
55 --enable-ospfclient=yes \
56 --enable-ospfapi=yes \
57 --enable-multipath=64 \
58 --enable-user=frr \
59 --enable-group=frr \
60 --enable-vty-group=frrvty \
61 --enable-configfile-mask=0640 \
62 --enable-logfile-mask=0640 \
63 --enable-rtadv \
64 --enable-tcp-zebra \
65 --enable-fpm \
66 --with-pkg-git-version \
67 --with-pkg-extra-version=-MyOwnFRRVersion
68 make
69 make check
70 sudo make install
71
72 ### Create empty FRR configuration files
73 sudo install -m 755 -o frr -g frr -d /var/log/frr
74 sudo install -m 775 -o frr -g frrvty -d /etc/frr
75 sudo install -m 640 -o frr -g frr /dev/null /etc/frr/zebra.conf
76 sudo install -m 640 -o frr -g frr /dev/null /etc/frr/bgpd.conf
77 sudo install -m 640 -o frr -g frr /dev/null /etc/frr/ospfd.conf
78 sudo install -m 640 -o frr -g frr /dev/null /etc/frr/ospf6d.conf
79 sudo install -m 640 -o frr -g frr /dev/null /etc/frr/isisd.conf
80 sudo install -m 640 -o frr -g frr /dev/null /etc/frr/ripd.conf
81 sudo install -m 640 -o frr -g frr /dev/null /etc/frr/ripngd.conf
82 sudo install -m 640 -o frr -g frr /dev/null /etc/frr/pimd.conf
83 sudo install -m 640 -o frr -g frrvty /dev/null /etc/frr/vtysh.conf
84
85 ### Enable IP & IPv6 forwarding
86
87 Edit `/etc/sysctl.conf` and uncomment the following values (ignore the
88 other settings)
89
90 # Uncomment the next line to enable packet forwarding for IPv4
91 net.ipv4.ip_forward=1
92
93 # Uncomment the next line to enable packet forwarding for IPv6
94 # Enabling this option disables Stateless Address Autoconfiguration
95 # based on Router Advertisements for this host
96 net.ipv6.conf.all.forwarding=1
97
98 **Reboot** or use `sysctl` to apply the same config to the running system