Veamos cada caso por separado.
DNS publico.
Este servidor va a tener las zonas DNS públicas, para que pueda cumplir este servicio, basta con que tenga el servicio de DNS instalado y las zonas DNS creadas.
Adicionalmente es recomendable que desactives la recursividad en el servidor para evitar que desde fuera puedan usar tu servidor de DNS como un resolver de otros dominios. (por ejemplo que un usuario ponga en su máquina que tu servidor es su DNS).
Para esto debes cargar las propiedades del servidor de DNS y seleccionar la opción "Disable recursion"
Bueno, ahora si este servidor no necesita navegar en Internet, puedes perfectamente dejarlo sin ningún servidor de DNS primario o secundario y funcionará sin problemas.
Si quieres que el servidor pueda navegar para descargar actualizaciones, etc, entonces puedes configurarlo con los DNS públicos de google (8.8.8.8 y 8.8.4.4) o los de Open DNS (208.67.222 y 208.67.220.220)
Edge Transport
El servidor de Edge necesita usar un servidor de DNS para las tareas de recepción de los correos entrantes desde Internet, para esto puedes configurar que use los DNS públicos de google (8.8.8.8 y 8.8.4.4) o los de Open DNS (208.67.222 y 208.67.220.220).
El único detalle es que debes modificar el archivo c:\%Systemroot%\System32\Drivers\Etc\hosts
del servidor, para que pueda resolver los nombres de tus Hub Transport Internos. El servidor de Edge Transport y los Hub Transport servers deben ser capaces de resolver sus nombres para poderse comunicar.