Estou / estava tendo exatamente o mesmo problema com o CrunchBang 11; é possível que minha solução semi-satisfatória funcione no Ubuntu, já que ambas são baseadas no Debian.
Eu descobri por experiência que se eu ambos :
-
instale o pacote resolvconf e
-
especifique explicitamente os servidores DNS na configuração da VPN no NetworkManager
em seguida, a conexão com a VPN substitui completamente os servidores DNS em /etc/resolv.conf pelos que estão configurados no NetworkManager para a VPN. Eu preferiria apenas usar a configuração DNS fornecida pelo servidor VPN, mas acho que usar um DNS público (por exemplo, OpenNIC) na configuração da VPN é OK. Eu diria (mas não posso ter certeza) que as solicitações de DNS saiam pela VPN, ao contrário das solicitações para o servidor DNS da rede local. (No meu caso específico, o /etc/resolv.conf costumava conter um endereço IP não roteável apontando para o DNS embutido do roteador wifi local, que por sua vez era encaminhado para o ISP local.)
(Pode ser que isso seja um efeito colateral de especificar três ou mais servidores DNS na configuração VPN; tenho quatro. Sem o resolvconf, o arquivo resolv.conf gerado contém todos os quatro ou cinco servidores DNS com um comentário de aviso sobre como somente três podem ser usados, e o servidor DNS local é o último, mas ainda potencialmente utilizável.Com o resolvconf, apenas três estão incluídos, o que eu acho que "espreme" o servidor DNS não-VPN indesejado de menor prioridade.