Como trabaja el NTH en la v3

En la versión V3 hay una pequeña modificación en la implementación del NTH. Ahora tiene solo dos parametros ‘every’ y ‘packet’.

Como trabaja en V3

Cada regla tiene su propio contador. Cuando la regla recibe un paquete el contador actual de ella se incrementará un valor. Si el contador concuerda con el valor de ‘every’ el paquete sera matcheado y el contador será seteado a cero.

Si el passtrough=no es seteado los paquetes serán marcados asi:

  • la primer regla nth=2,1, ésta macheará cada primer paquete de 2, por lo tanto, el 50% de todo el tráfico será marcado por la regla.
  • la segunda regla si el passthrough=no el matcheara SOLO el 25% del tráfico porque en la v3 solo se necesita una regla para marcar el tráfico, no como en la v.2.9.

Ejemplo

Ahora es posible marcar el 50% de todo el tráfico con solo una regla:

/ip firewall mangle
add action=mark-packet chain=prerouting new-packet-mark=AAA nth=2,1;

Si mas de una regla es necesitada, entonces hay dos maneras de matchear los paquetes:

  • la primer regla mira todo los paquetes y machea el 1/3 de todo, la segunda regla mira el 2/3 de los paquetes y matcheara 1/2, la tercer regla mira y marca todoss los paquetes que dejan pasar las primeras 2 reglas (1/3 de todos los paquetes).

.

/ip firewall mangle
add action=mark-packet chain=prerouting new-packet-mark=AAA nth=3,1 passthrough=no;
add action=mark-packet chain=prerouting new-packet-mark=BBB nth=2,1 passthrough=no;
add action=mark-packet chain=prerouting new-packet-mark=CCC ;
.
  • todas las reglas miran todo los paquetes y cada regla matchea cada tercer paquete.
.
/ip firewall mangle
add action=mark-packet chain=prerouting new-packet-mark=AAA nth=3,1 passthrough=yes;
add action=mark-packet chain=prerouting new-packet-mark=BBB nth=3,2 passthrough=yes;
add action=mark-packet chain=prerouting new-packet-mark=CCC nth=3,3 passthrough=yes;

.

Traducción: [Maximiliano Dobladez]