Solución 1:
La compensación para las banderas DNS en el paquete IP es de 28 bytes y debe verificar los últimos 2 bits en la regla fieldu32 de 2 bytes para que sea "28&0x000F=0x03"
Mi regla de prueba es:iptables -A INPUT -m u32 -p udp --sport 53 --u32 "28&0x000F=0x03" -j LOG
Por cierto, me gusta la idea de usar esta regla de firewall para DNS de horizonte dividido, voy a probarla para algunas de mis redes.
Solución 2:
¡Esto elimina las respuestas "rechazadas" de BIND9 a las consultas UDP falsificadas actuales!
iptables -F OUTPUT
#iptables -A OUTPUT -p udp --sport 53 -j LOG --log-prefix="OUT-UPD-RAW : "
#iptables -A OUTPUT -m u32 -p udp --sport 53 --u32 "28&0xFFFF=0x8105" -j LOG --log-prefix="STOPPED-DNS-REJECTED-REPLY "
iptables -A OUTPUT -m u32 -p udp --sport 53 --u32 "28&0xFFFF=0x8105" -j DROP
iptables -A OUTPUT -p udp --sport 53 -j LOG --log-prefix="OUT-UPD-SENT: "