
He buscado y buscado y no encuentro ninguna información sobre cómo se combinan los parámetros de iptables.
Si quiero hacer coincidir el tráfico hacia o desde una dirección IP, ¿puedo hacerlo -s a.b.c.d -d a.b.c.d
? Es decir, ¿se combinan los parámetros -s
y -d
comoo(el paquete coincide con cualquiera) oy(el paquete coincide con todos)?
Algo relacionado, ¿cómo interactúan -m iprange
yy ? Es decir, ¿puedo usarlo para especificar un rango y luego agregarlo para hacer una excepción?-s
-d
-m iprange --src-range 10.0.0.1-10.0.0.8
-s !10.0.0.5
Respuesta1
La mejor manera de aprender es probando. Sí, puedes combinar -s
y -d
, sin embargo, si tiene sentido depende de en qué tabla uses la regla.
Todos los parámetros de una regla son AND
. Si lo desea OR
, puede crear una tabla a la que envíe tráfico.
Algunas combinaciones generarán errores, nuevamente lo mejor es intentarlo.
Supongamos que su política es aceptar y solo desea coincidir si coincide una regla. Agregue la regla iptables -A OUTPUT -s x.x.x.x -d x.x.x.x -j ACCEPT
ya que el objetivo será el mismo que el predeterminado, no tiene ningún impacto, pero aparecerá iptables -vnL
y tendrá contadores.
Hay registros más avanzados, etc., pero esta es una forma rápida y sencilla de probar reglas rápidamente. (y por supuesto, tcpdump es tu amigo)
En lo que respecta a iprange
esto, volvería a decir que lo mejor es probar. En el peor de los casos, intentar agregar la regla generará un error. (ojalá alguien más pueda darle mejores respuestas a esta parte de su pregunta)