Domain controllers for your network should always be behind your firewall.
Normally a domain controller would never be in a DMZ unless it is a special
situation where it is the domain controller for only DMZ computers. Normally
you only need internal dns servers. Internal dns servers can resolve
internet requests for domain clients if they are configured to use root
hints or forward to your ISP dns server. The main reason you would want an
external dns server is if you are going to host your own dns servers for
your website available for internet users. In such case you would need to
provide two external dns servers. Most however pay a small fee to an ISP to
do this for them. NEVER expose your internal dns servers to internet users.
If your internal users need to access your domain resources on the internet
and you use the same domain name for internet and internal network then you
can use "split brains" dns and add manual records to your internal dns
server for your internal network users to resolve the names of your internet
resources. A Windows dns server does not need to be a domain controller if
you have a need to provide external dns outside of the firewall. --- Steve
http://support.microsoft.com/default.aspx?scid=kb;en-us;291382 --- AD
dns FAQ.