Для примера выполню установку FRRouting в Ubuntu 18.04
Переключимся на root пользователя:
sudo -i
Установим необходимые компоненты:
apt update
apt-get install \
git autoconf automake libtool make libreadline-dev texinfo \
pkg-config libpam0g-dev libjson-c-dev bison flex \
libc-ares-dev python3-dev python3-sphinx \
install-info build-essential libsnmp-dev perl libcap-dev \
libelf-dev
Установим libyang:
apt install cmake libpcre2-dev
git clone https://github.com/CESNET/libyang.git
cd libyang
git checkout v2.0.0
mkdir build; cd build
cmake -D CMAKE_INSTALL_PREFIX:PATH=/usr -D CMAKE_BUILD_TYPE:String="Release" ..
make
make install
Установим Protobuf:
apt-get install protobuf-c-compiler libprotobuf-c-dev
Установим ZeroMQ:
apt-get install libzmq5 libzmq3-dev
Создадим для FRR системного пользователя и группу:
groupadd -r -g 92 frr
groupadd -r -g 85 frrvty
adduser --system --ingroup frr --home /var/run/frr/ --gecos "FRR suite" --shell /sbin/nologin frr
usermod -a -G frrvty frr
Выполним установку FRR:
git clone https://github.com/frrouting/frr.git frr
cd frr
./bootstrap.sh
./configure \
--prefix=/usr \
--includedir=\${prefix}/include \
--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 \
--with-pkg-git-version \
--with-pkg-extra-version=-MyOwnFRRVersion
make
make install
Установим конфигурационные файлы:
install -m 775 -o frr -g frr -d /var/log/frr
install -m 775 -o frr -g frrvty -d /etc/frr
install -m 640 -o frr -g frrvty tools/etc/frr/vtysh.conf /etc/frr/vtysh.conf
install -m 640 -o frr -g frr tools/etc/frr/frr.conf /etc/frr/frr.conf
install -m 640 -o frr -g frr tools/etc/frr/daemons.conf /etc/frr/daemons.conf
install -m 640 -o frr -g frr tools/etc/frr/daemons /etc/frr/daemons
Разрешим пересылку пакетов для IPv4 и при необходимости для IPv6:
nano /etc/sysctl.conf
net.ipv4.ip_forward=1
net.ipv6.conf.all.forwarding=1
sysctl -p
Установим файл сервиса:
install -m 644 tools/frr.service /etc/systemd/system/frr.service
systemctl enable frr
Загрузим MPLS модули ядра:
modprobe mpls-router mpls-iptunnel
А также укажем их в файле /etc/modules-load.d/modules.conf чтобы они запускались при запуске операционной системы:
mpls_router
mpls_iptunnel
Укажем интерфейсы которые используют MPLS:
nano /etc/sysctl.conf
net.mpls.conf.eth0.input=1
net.mpls.conf.eth1.input=1
net.mpls.platform_labels=100000
sysctl -p
Укажем «yes» напротив нужных демонов, чтобы их активировать:
nano /etc/frr/daemons
Теперь можно запустить FRR:
systemctl start frr
Смотрите также мою статью:
Установка Quagga в Ubuntu Server 18