Multiples gateways con múltiples interfaces

Ayer en el capítulo 74 estuvimos hablando de la posibilidad de tener varios interfaces y obviamente cada interfaz tendrá su gateway, su puerto en el router y quedó pendiente el explicar cómo hacer eso, pues bien, hoy vamos a ello.

De este tema no obstante ya hablamos en un post de este mismo blog, en PBR (Policy Based Routing) en Linux.

Esto lo conseguiremos con las routing tables y marcando el tráfico, es decir con policy routing.

En el capítulo de hoy montamos este entorno para que veáis como va, y aquí os dejo las notas:

Fichero /etc/iproute2/rt_tables

#
# reserved values
#
255	local
254	main
253	default
0	unspec
#
# local
#
#1	inr.ruhep
1 ETH0
2 ETH1

Y el fichero /etc/network/interfaces

iface eth0 inet static
    address 192.168.1.4
    netmask 255.255.255.0
    gateway 192.168.1.1
    post-up ip route add default via 1192.168.1.1 dev eth0 table ETH0
    post-up ip rule add from 192.168.1.0/24 table ETH0

iface eth1 inet static
    address 172.16.1.0
    netmask 255.255.255.0
    post-up ip route add default via 172.16.1.1 dev eth1 table ETH1
    post-up ip rule add from 172.16.1.0/24 table ETH1

Aquí es importante darse cuenta que el gateway por defecto para todo el tráfico no etiquetado, es decir, el generador por el propio servidor va por el eth0

Routing Tables: http://linux-ip.net/html/routing-tables.html