How to setup DNS server behind a VPN

dnsopenvpn

I want to host some websites behind a VPN and I need some help with the finer points of the configuration. Thus far I've settled on OpenVPN + Bind9 and I want to configure the domains like this:

External DNS

mail.example.com 
www.example.com
vpn.example.com

I want to be able to connect to the vpn using 'vpn.example.com'. Once connected I then want to be able to resolve anything which is '*.vpn.example.com' with the DNS server sitting behind the VPN.

I know that OpenVPN can push DNS servers to clients when they connect. I am having trouble though with the DNS config, both internal and external. I've gone through a few tutorials etc. and tried to reason about it myself but I'm not getting anywhere.

So my main question would be does the above configuration make sense? If so, any general pointers or examples would be greatly appreciated.

Related Question