Pergunta 1:
A string não corresponde porque o "." não está incluído no pacote. Um pacote DNS não contém um "hostname" como tal, mas "labels". No pacote, cada parte do nome do domínio é um rótulo, prefixado pelo número de bytes para o rótulo.
Então "isc.org" se traduz em:
isc: 03 69 73 63
org: 03 6f 72 67
Ou no pacote:
03697363036f7267
Cada etiqueta está limitada a 63 bytes, o nome inteiro é limitado a 255 bytes.
É explicado no RFC do DNS:
Pergunta 2:
Você precisa ativar o sinalizador net.netfilter.nf_conntrack_acct para usar a opção conntrack (consulte iptables
manpage). Mas eu não acho sábio usá-lo assim. Sempre haverá respostas legítimas que são grandes pacotes.
Talvez seja melhor usar a extensão hashlimit. Já foi mencionado: