tabla mangle y rutas multiples

Jens Hardings jhp en csol.org
Mar Ene 10 10:42:18 CLST 2006


Miguel Oyarzo wrote:

># regla por defecto (va primero en mangle?)
>iptables -A PREROUTING -i eth0 -t mangle -j MARK --set-mark 2
>iptables -A PREROUTING -i eth2 -t mangle -j MARK --set-mark 2
>iptables -A PREROUTING -i eth3 -t mangle -j MARK --set-mark 2
># regla especifica
>iptables -A PREROUTING -t mangle -i eth0 -p tcp --dport 80   -j MARK --set-mark 1
>
>si subo la especifica primero, entonces el paquete no se marca directamente.
>
>la salida de # iptables -L -n -v -t mangle   igual me muestra las reglas default arriba.
>
>Alguien puede confirmar esto? porque no funciona como la tabla filter?
>  
>

Se supone que la marca es una sola, así que la última regla que calza
elimina la(s) marca(s) anterior(es). Al parecer no se puede entregar una
máscara para marcar solamente algunos bits del paquete (que parece es lo
que intentas hacer), pero lo que sí se puede hacer es marcar la conexión
(utilizando máscara para modificar sólo algunos bits) y luego se puede
aplicar la marca de la conexión al paquete.

Se puede jugar un poco con reglas como estas, eliminando o modificando
el orden de las tres primeras:

iptables -A PREROUTING -i eth0 -j MARK --set-mark 1
iptables -A PREROUTING -i eth0 -j MARK --set-mark 2
iptables -A PREROUTING -i eth0 -j MARK --set-mark 3

iptables -A FORWARD -m mark --mark 1/1 -j LOG --log-prefix "mark 1: "
iptables -A FORWARD -m mark --mark 1 -j LOG --log-prefix "mark solo 1: "
iptables -A FORWARD -m mark --mark 2/2 -j LOG --log-prefix "mark 2: "
iptables -A FORWARD -m mark --mark 2 -j LOG --log-prefix "mark solo 2: "

Saludos,

-- 
Jens.



Más información sobre la lista de distribución Linux