Paquetes marcados como NO VÁLIDOS en la regla ADELANTE

Paquetes marcados como NO VÁLIDOS en la regla ADELANTE

Tengo un firewall que tiene 3 alias de IP en 1 interfaz física. Los paquetes se caen entre estas 3 interfaces (ya sea ICMP, HTTP o cualquier otra cosa). Lo rastreamos hasta que estos paquetes se marcaron como NO VÁLIDOS en la regla ADELANTE y se descartaron debido a esta regla:

chain FORWARD {
    policy DROP;

    # connection tracking
    mod state state INVALID LOG log-prefix 'INVALID FORWARD DROP: '; 
    mod state state INVALID DROP;
    mod state state (ESTABLISHED RELATED) ACCEPT;
}

(Es decir, vemos los INVALID FORWARD DROPinicios de sesión dmesg)

¿Qué podría estar causando esto?

Respuesta1

Utilice macvlan en modo puente en lugar de alias de IP y mantenga la interfaz física en modo promisc.

p.ej

  1. eno1 es la interfaz que desea utilizar.
  2. Luego cree macvlan1@eno1, macvlan2@eno1 y macvlan3@eno1.
  3. Mantenga eno1 en modo promisco.

Consulte la secuencia a continuación para crear una interfaz macvlan.

# /sbin/ip link add link eno1 macvlan1 type macvlan mode bridge

# /sbin/ip addr add 192.168.1.1/24 dev macvlan1

# /sbin/ip link set macvlan1 address aa:bb:bb:dd:ee:ff up

Consulte el siguiente comando para activar el modo promisc para eno2

# /sbin/ip link set eno1 promisc on

Respuesta2

El INVALIDestado significa que el paquete no está asociado con una conexión conocida (y tampoco está iniciando una nueva conexión). Las únicas razones que se me ocurren es que algo está borrando la tabla de seguimiento de conexiones, la tabla está desbordada o las entradas se están agotando demasiado rápido. Puedes comprobar el tamaño de la tabla de seguimiento de conexiones con sudo conntrack -L | wc -ly el número máximo de entradas con cat /proc/sys/net/netfilter/nf_conntrack_max.

información relacionada