Primeiro, eu não chamaria isso de erro, apenas uma mensagem informativa.
Em segundo lugar, os servidores DNS sempre responderão às consultas UDP (pelo menos, BIND, não consigo encontrar opções para desabilitar o UDP) e os clientes sempre tentarão enviar uma consulta UDP primeiro (por exemplo, não há opções no resolv.conf para mudar isso nem na JVM) - se eles se encaixam em um pacote UDP (pedidos geralmente fazem)Se você tiver um caso de uso específico, poderá especificar o uso do TCP, por exemplo, no shell script use 'dig + tcp' ou 'host -T' para resolução, e você pode usar as chamadas do sistema 'sethostent / gethostbyname / endhostent' (veja a página man) para forçar o TCP em outros casos.
Se você realmente quiser tentar bloquear o UDP, a única opção que posso ver é com uma regra de iptable, mas não tenho certeza de que essa configuração funcionaria. Espero que a resolução do DNS simplesmente falhe.