Lösung 1:
Der Offset für DNS-Flags im IP-Paket beträgt 28 Bytes, und Sie müssen die letzten 2 Bits in der 2-Byte-Feldu32-Regel überprüfen, da dies "28&0x000F=0x03"
ist
Meine Testregel lautet:iptables -A INPUT -m u32 -p udp --sport 53 --u32 "28&0x000F=0x03" -j LOG
Übrigens gefällt mir die Idee, diese Firewall-Regel für Split-Horizon-DNS zu verwenden, um sie für einige meiner Netzwerke zu testen.
Lösung 2:
Dadurch werden "abgelehnte" BIND9-Antworten auf die aktuellen gefälschten UDP-Anfragen gelöscht!
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: "