Categories
General tcp-ip

Encaminamiento regulado

Por fin uno de vosotros (un compañero vuestro) se ha lanzado y propone un tema que, bajo mi punto de vista y desde el enfoque de la administración de redes de computadores, me parece MUY interesante.

Os animo a los demás a seguir su ejemplo.

Aquí os lo dejo. La idea es que, como en las entradas anteriores, expongáis otros ejemplos de escenarios en los que es interesante y útil el dirigir paquetes mediante encaminamiento regulado.

Edito: Por si alguien tiene dudas, os aclaro que también se pueden usar los ejemplos expuestos en clase. Lo que no debéis es repetiros en los comentarios.

——————–

Autor de la entrada: Juan Galiana

Texto:

Encaminamiento regulado es la capacidad de encaminar entre distintas redes en base a la información que contiene la cabecera o datos de los paquetes que circulan por ellas. Se pueden crear normas para clasificar los paquetes que vendrán determinadas de varias maneras: dirección origen, destino, interfaz entrante, TOS y fwmark. En concreto iproute2 permite usar la información de marcado de iptables (fwmark) para encaminar por una ruta u otra los paquetes dependiendo de estas marcas.
Utilidades que puede tener esto:

No sólo podemos usar información de la cabecera (como por ejemplo puerto, o tipo de protocolo) sino también otra información extendida que permite iptables, aunque es un dato propio de una máquina y no de una red, vamos a redirigir por ejemplo el tráfico TCP del usuario con UID 1000 por la IP 172.16.70.70 y dispositivo eth1, (los demás irán por la ruta por defecto):
1)# echo “200 FILTRO”>> /etc/iproute2/rt_tables
2)# ip rule add fwmark 1 table FILTRO
3)# ip route add table FILTRO via 172.16.70.70 dev eth1
4)# iptables -t mangle -A OUTPUT -p tcp -m owner –uid-owner 1000 -j MARK –set-mark 1

1) Creamos la tabla en el rt_tables
2) Añadimos una regla, asociando nuestra tabla FILTRO con la marca “1” en los paquetes.
3) Añadimos una ruta para la regla FILTRO, configurando que saldrán por lainterfaz eth1, ip 172.16.70.70
4) Marcamos con iptables el tráfico TCP del usuario con UID 1000 con la marca “1”
El redirigir tráfico de un UID específico puede servirnos para salir a Internet por una interfaz distinta (otra interfaz física o vpn) cuando la ruta por defecto no permita el paso de ese tipo de tráfico, simplemente corriendo el proceso con uid distinto.
El marcado por UID es un ejemplo curioso que permite iptables, pero también se podrían marcar por otros características como tipo de protocolo de transporte TCP o UDP, marcarlo con distintas marcas y luego asociar rutas distintas mediante reglas que asocien estas marcas con la ruta que nos interese.