]> git.proxmox.com Git - mirror_frr.git/blame - doc/Building_FRR_on_Debian8.md
Rename: FreeRangeRouting FRRouting
[mirror_frr.git] / doc / Building_FRR_on_Debian8.md
CommitLineData
278fb111
MW
1Building FRR on Debian 8 from Git Source
2========================================
3
4Debian 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
11Install required packages
12-------------------------
eb651bbc 13
278fb111
MW
14Add packages:
15
eb651bbc
MW
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
278fb111 19
eb651bbc
MW
20Install newer pytest (>3.0) from pip
21
22 sudo pip install pytest
278fb111 23
278fb111
MW
24Get FRR, compile it and install it (from Git)
25---------------------------------------------
26
eb651bbc
MW
27**This assumes you want to build and install FRR from source and not using
28any packages**
278fb111
MW
29
30### Add frr groups and user
31
eb651bbc
MW
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/ \
447a8fe9 35 --gecos "FRR FRRouting suite" --shell /bin/false frr
278fb111
MW
36 sudo usermode
37
38### Download Source, configure and compile it
eb651bbc
MW
39(You may prefer different options on configure statement. These are just
40an 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
278fb111
MW
71
72### Create empty FRR configuration files
eb651bbc
MW
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
278fb111
MW
84
85### Enable IP & IPv6 forwarding
86
eb651bbc
MW
87Edit `/etc/sysctl.conf` and uncomment the following values (ignore the
88other settings)
278fb111 89
eb651bbc
MW
90 # Uncomment the next line to enable packet forwarding for IPv4
91 net.ipv4.ip_forward=1
278fb111 92
eb651bbc
MW
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
278fb111
MW
97
98**Reboot** or use `sysctl` to apply the same config to the running system