Você deve ser capaz de configurar facilmente o balanceamento de carga DNS com o LVS no modo DR. Pessoalmente eu usaria Ldirectord ao invés de Piranaha (que é antiga e buggy), mas também deve funcionar.
Como você disse, você precisará configurar sua marca de firewall para as portas TCP e UDP corretas e, em seguida, carregar o saldo de todos os pacotes marcados para o (s) seu (s) servidor (es) backend. Eu suponho que você não precisará de persistência para o DNS (não funcionaria para o UDP).
Acho que o passo que você provavelmente está faltando é permitir que os servidores backend respondam ao tráfego que você está enviando - comumente conhecido como o problema do ARP. Se você tiver servidores Windows, use este método . Ou para Linux, o método mais simples é usar um redirecionamento do iptables:
iptables -t nat -A PREROUTING -p tcp -d <VIP> -j REDIRECT
É explicado com mais detalhes na página 21 do link guia de início rápido.
Se precisar de ajuda, poste sua configuração e eu darei uma olhada.