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.

