Tengo un dominio que uso en casa, por razones de argumento, llamémoslo domain.com
. Utilizo este dominio en mi red doméstica, pero en realidad también soy propietario del dominio. Entonces, cuando cargo www.domain.org
un subdominio, quiero que mi servidor DNS redirija esta solicitud a Internet real y no a mi dominio local.
Utilizo el dominio para identificar los dispositivos en casa. ¿Cómo logro esto?
Estoy ejecutando BIND en una máquina Ubuntu que actúa como puerta de enlace y como servidor DNS.
Respuesta1
Recomiendo mover su red interna al tercer nivel (es decir device1.lan.domain.org
) para evitar conflictos.
Dicho esto, lo que quieres es esencialmente delegación de subdominio. IIRC debería ser tan fácil como agregar estas entradas:
www IN NS ns1.example.com.
www IN NS ns2.example.com.
Debido a que esto no funcionará sin acceso a Internet de todos modos, puede ignorar todas las demás prácticas recomendadas relacionadas con la delegación.
Respuesta2
La forma más sencilla de hacerlo es utilizar la $INCLUDE
funcionalidad de BIND.
Todo lo que necesita hacer es crear un archivo para todos sus nombres internos, por ejemplo db.domain.com-internal
, con todos sus registros internos (que ya tiene, simplemente sustituya el nombre del archivo), y luego crear un segundo archivo, llámelo db.domain.com-external
, que contiene todos los registros de su dominio real externo menos los registros SOA y NS.
Al final del db.domain.com-internal
archivo, agregue esta línea: ,
$INCLUDE db.dominio.com-externo
Esto le permite separar lógicamente lo interno de lo externo usando dos archivos para distinguirlos, pero la $INCLUDE
directiva los fusiona como una vista completa de su dominio. Y antes de preguntar, no importa que la resolución de www.dominio.com ocurra internamente, ya sea mediante un registro A o un registro CNAME, la dirección IP que obtiene su navegador aún la envía a su sitio web en Internet.
Vuelve a cargar, comprueba si hay errores y listo. Simple.
Esto funciona bien ya que una configuración adecuada de DNS dividido (interno/externo) expone al mundo un subconjunto del conjunto de registros completo que es visible internamente. Es decir, en general, para la vista pública externa de un dominio, solo se exponen nombres accesibles públicamente con direcciones IP.