Installing Keepalived

Install keepalived from the distribution’s repositories or, alternatively, compile from source. Although installing from the repositories is generally the fastest way to get keepalived running on a system, the version of keepalived available in the repositories are typically a few releases behind the latest available stable version.

Installing from the Repositories

Installing on Red Hat Enterprise Linux

As of Red Hat 6.4, Red Hat and the clones have included the keepalived package in the base repository. Therefore, run the following to install the keepalived package and all the required dependencies using YUM:

yum install keepalived

Installing on Debian

Run the following to install the keepalived package and all the required dependencies using Debian’s APT package handling utility:

apt-get install keepalived

Compiling and Building from Source

In order to run the latest stable version, compile keepalived from source. Compiling keepalived requires a compiler, OpenSSL and the Netlink Library. You may optionally install Net-SNMP, which is required for SNMP support.

Install Prerequisites on RHEL/CentOS/Fedora

On RHEL, Centos, Fedora etc install the following prerequisites (on older systems replace dnf with yum):

dnf install curl gcc autoconf automake openssl-devel libnl3-devel \
    iptables-devel ipset-devel net-snmp-devel libnfnetlink-devel file-devel

For DBUS support:

dnf install glib2-devel

For JSON support:

dnf install json-c-devel

Install Prerequisites on Debian/Ubuntu

On Debian/Ubuntu, install the following prerequisites:

apt-get install pkg-config curl gcc autoconf automake libssl-dev libnl-3-dev \
    libnl-genl-3-dev libsnmp-dev libnl-route-3-dev libnfnetlink-dev libipset-dev \
    iptables-dev libsnmp-dev

For DBUS support:

dnf install libglib2.0-dev

Install Prerequisites on Alpine Linux

On Alpine Linux install the following prerequisites:

autoconf automake iptables-dev ipset-dev libnfnetlink-dev libnl3-dev musl-dev and
    openssl-dev or libressl-dev

For SNMP support:

net-snmp-dev (requires libressl-dev and not openssl-dev)

Install Prerequisites on Archlinux

On Archlinux run the following to install the required libraries:

pacman -S ipset libnfnetlink libnl1

For SNMP support:

pacman -S net-snmp

Build and Install

Use curl or any other transfer tool such as wget to download keepalived. The software is available at http://www.keepalived.org/download.html or https://github.com/acassen/keepalived. Then, compile the package:

curl --progress http://keepalived.org/software/keepalived-1.2.15.tar.gz | tar xz
cd keepalived-1.2.15
./build_setup
./configure
make
sudo make install

It is a general recommendation when compiling from source to specify a PREFIX. For example:

./configure --prefix=/usr/local/keepalived-1.2.15

This makes it easy to uninstall a compiled version of keepalived simply by deleting the parent directory. Additionally, this method of installation allows for multiple versions of Keepalived installed without overwriting each other. Use a symlink to point to the desired version. For example, your directory layout could look like this:

[root@lvs1 ~]# cd /usr/local
[root@lvs1 local]# ls -l
total 12
lrwxrwxrwx. 1 root root   17 Feb 24 20:23 keepalived -> keepalived-1.2.15
drwxr-xr-x. 2 root root 4096 Feb 24 20:22 keepalived-1.2.13
drwxr-xr-x. 2 root root 4096 Feb 24 20:22 keepalived-1.2.14
drwxr-xr-x. 2 root root 4096 Feb 24 20:22 keepalived-1.2.15

Setup Init Scripts

After compiling, create an init script in order to control the keepalived daemon.

On RHEL:

ln -s /etc/rc.d/init.d/keepalived.init /etc/rc.d/rc3.d/S99keepalived

On Debian:

ln -s /etc/init.d/keepalived.init /etc/rc2.d/S99keepalived

Note: The link should be added in your default run level directory.