es trabajoso pero facil
tienes que seleccionar las interfaces en donde va a escuchar bind:
eso esta en los settings de bind el cuadro de selección listen all
luego te recomiendo habilitar response rate limit
y en custom options pones algo asi:
allow-query-cache { any; localnets; };
allow-recursion { localnets; };
recursion no;
con esto haces que se pueda consultar la cahe dns para aumentar la velocidad de las respuestas y a la ves le dices que no pregunten por nadie mas que por ti y que sólo tu red interna puede preguntar por otros
tambien activa Forwarder Configuration y pon los dns de tu ISP o los que quieras usar como consultores de dns (ojo con la sintaxis: van separados por ; y terminan en ; igual)
luego en el apartado views crea una nueva
seleccionas recursion no
match-clients any y localnets
allow-recursion solo localnets
y pon esto tambien en Custom Options
allow-query-cache {localnets; };
así te aseguras que ese view solo sirva a tu propósito (recursión desde dentro, visible para todos)
luego crea tus zonas y asígnales ese view creado
y ya estás listo para servir de dns externo
te recomiendo también firmar tus zonas :
para eso en DNSSEC activa Inline Signing y pfsense se encarga del resto
así lo hice yo y me resulta bien hasta hoy, espero que a ti te sirva igual