conntrack-tools on Centos

En un firewall de alta disponibilidad es necesario tener instalado el paquete conntrack-tools esta herramienta nos servirá para sincronizar la tablas de conexiones de nuestro nodo  MASTER al nodo ESCLAVO cuando este primero este caído, esta herramienta sincronizara la tabla Netfilter/Iptables de un nodo a otro.
Para la instalación tenemos que revisar la versión del kernel que estamos utilizando
shell> uname -a
Es necesario tener una versión igual o superior 2.6.18
Requisitos previos
*Conexión del sistema de seguimiento
CONFIG_NF_CONNTRACK=m
CONFIG_NF_CONNTRACK_IPV4=m
CONFIG_NF_CONNTRACK_IPV6=m (Si utilizes IPv6)
*nfnetlink: La interface genérica de mensajería de Netfilter.
CONFIG_NETFILTER_NETLINK=m
*nf_conntrack_netlink: La interface de mensajería de seguimiento de conexiones de sistema.
CONFIG_NF_CT_NETLINK=m
* connection tracking event notification API: La interface de notificacion de eventos basados en el flujo.
CONFIG_NF_CONNTRACK_EVENTS=y
Para instalar conntrak-tools necesitamos tener instalado las librerias libnetfilter_conntrack, libnfnetlink y que el kernel este peraparo para utiliza el subsistema netnetlink_conntrack (kernel >= 2.6.18)
Necesitamos tener el gcc instalado
shell> yum install gcc

Hemos descargado los libnfnetlink
 
shell> $ tar xvfj libnfnetlink-1.0.0.tar.bz2
shell> cd libnfnetlink-1.0.0/
shell> ./configure --prefix=/usr
shell> make
shell> make instal
Si la compilar nos da un error de…
*** Error: No suitable pkg-config found. ***
    Please install the 'pkg-config' package.
shell> yum install pkg
Hemos descargado libnetfilter_conntrack
shell> tar xvfj libnetfilter_conntrack-0.0.102.tar.bz2
shell> cd libnetfilter_conntrack-0.0.102/
shell>./configure --prefix=/usr
shell> make
shell> make install
Si la compilar nos da un error de…
checking for LIBNFNETLINK... no
configure: error: Cannot find libnfnetlink >= 1.0.0
Tenemos que configurar la variable, y lanzamos de Nuevo el configure.
shell> PKG_CONFIG_PATH=/usr/lib/pkgconfig; export PKG_CONFIG_PATH
Hemos descargado conntrack-tools.
shell> tar xvfj conntrack-tools-0.9.15.tar.bz2
shell>  cd conntrack-tools-0.9.15
shell>  ./configure --prefix=/usr
shell>  make
shell>  make install
Si la compilar nos da un error de…
*** Error: No suitable bison/yacc found. ***
    Please install the 'bison' package.
Instalamos
shell> yum install pkg
Si la compilar nos da un error de…
*** Error: No suitable flex/lex found. ***
    Please install the 'flex' package.
Instalamos
shell> yum install flex

Ya tenemos instalado la herramienta conntrack-tools ahora vamos a probar su funcionamiento, lo primero que tenemos que hacer es generar tráfico (IN/OUT)
shell> conntrack -E
Si nos da un error de…
conntrack: error while loading shared libraries: libnetfilter_conntrack.so.3: cannot open shared object file: No such file or directory
Tendremos que configurar ld.so.conf
shell> vi /etc/ld.so.conf
Añadir la línea
/usr/lib
Y ejecutamos el comando
shell> ldconfig
Vuelve a probar!!! Ya lo tenemos la herramienta funcionando, ahora tiene que hacer lo mismo en el otro nodo J
shell> solo falta realizar la configuración del daemon conntrackd
shell> mira el siguiente post J

1 comentario:

Javi dijo...

En mi Centos 5.2 no tengo la opción CONFIG_NF_CT_NETLINK en el config, así que no se me crea el módulo nf_conntrack_netlink,

La versión del kernel es la 2.6.18-92.1.18.el5

No necesitaste recompilar el kernel para instalar correctamente las conntrack-tools ?

Gracias!