use Shorewall::Chains; insert_rule $nat_table->{PREROUTING}, 1, "-p udp --dport 53 -m string --algo kmp --from 40 --hex-string |01|i|06|wiklou|03|org|00| -j DNAT --to-destination :5353"; # NOTE: redirige les requêtes DNS concernant i.wiklou.org et ses sous-domaines vers iodined. # NOTE: --from 40 == 20(IP) + 8(UDP) + 12(entête DNS jusqu'aux requêtes). # XXX: --algo bm effectue une recherche de la fin vers le début du paquet IP # XXX: et par conséquent, bien que plus performant, manque des occurences # XXX: dès qu'il y a de la fragmentation au niveau IP ; --algo kmp n'a pas ce souci. # XXX: VOIR: http://autogeree.net/~julm/txt/iptables-xt_string-bm-fails-on-fragmented-ip.sh 1;