
Según tengo entendido, iptables funciona en la capa de transporte (capa 4) y cualquier filtrado de paquetes que se realice se basa en los protocolos IP para la capa 4, como tcp y udp. Entonces, si ingresamos protocolos como esp, gre y l2tp eniptables -popción, ¿tiene algún sentido? ¿Podemos filtrar paquetes basados en protocolos de capa 2/3 usando iptables? Si no es así, ¿cómo filtra iptables los paquetes según los protocolos icmp?
Nuevo en iptables y todavía estoy aprendiendo. ¡Gracias!
Respuesta1
iptables
admite filtrado en las capas de enlace de datos, red y transporte.
La -p
opción (protocolo) no se limita específicamente a los protocolos de capa 4. Elpágina de manualmenciona icmp y esp específicamente. Sé que gre también es compatible (ya sea como 'gre' o protocolo '47'). El protocolo especificado se puede pasar a esta opción por su nombre o por su número entero especificado en /etc/protocols
. No estoy seguro de que iptables admita todos los protocolos de esta lista.
Si se especificó -p o --protocol y solo si se encuentra una opción desconocida, iptables intentará cargar un módulo coincidente con el mismo nombre que el protocolo, para intentar que la opción esté disponible.
Esta sintaxis de 'módulo de coincidencia' es el módulo de coincidencia de paquetes extendido y se especificaría mediante las -m --match
opciones.
Puede encontrar una lista de las extensiones compatibles aquí:extensiones-iptables. Encontrará una lista de los módulos del kernel de Netfilter disponibles en /lib/modules/$(uname -r)/kernel/net/netfilter
.