Routing avanzado con el núcleo Linux

Eric Van Buggenhaut

Andago

eric@andago.com

El núcleo Linux, a partir de la versión 2.4 nos ofrece una interfaz que permite implementar herramientas profesionales de alto nivel en cuanto a la gestión del tráfico de paquetes IP. Nos permite hacer cosas como túneles IP, tablas de routing múltiples, reserva de ancho de banda, multicasting, proxy ARP y mucho más. Esas funcionalidades estaban hasta ahora solo disponibles en routers propietarios de gama alta y de precio casi prohibitivo. El núcleo linux nos permite implementarlas de modo más seguro, mas económico y con más rendimiento, además de desarrollar nuestras propias herramientas específicas.


Tabla de contenidos
Introducción
Configurar el sistema
El comando ip
ip link -- manejar las interfaces
Gestión de tablas ARP
Tablas de routing múltiples
ip tunnel -- Túneles
Reserva de ancho de banda
Bibliografía

Introducción

A partir de la versión 2.4 del núcleo Linux, está disponible un socket llamado NETLINK que permite implementar en espacio usuario (user space) código de gestión de paquetes y tráfico IP. Teóricamente, este socket, por su naturaleza, nos permite implementar cualquier código.

Sin embargo, nos vamos a centrar en el código escrito por Alexey Kuznetsov y disponible bajo el nombre 'iproute' bajo licencia GPL. Está accesible en ftp://ftp.inr.ac.ru/ip-routing

El código está disponible como paquete Debian iproute*deb

Vamos a ver a lo largo de esta charla algunas de las cosas que nos permite hacer este código: