¿Cómo puedo configurar un dominio 'local' para que todos en mi red local puedan ver un sitio alojado localmente?

16

Quiero configurar MediaWiki en una de mis máquinas domésticas, y luego hacer que todas las solicitudes en la red local para 'wiki.home' o 'wiki.local' apunten a ese cuadro. Sé que esto se puede hacer editando cada archivo / etc / hosts de forma individual, pero quiero algo más automatizado para que, por ejemplo, si un amigo o familiar venga a mi casa, no necesiten meterse con el archivo de hosts para ver el sitio.

¿Hay una manera simple de hacer esto? Tengo el wiki en funcionamiento, y he estado buscando en dnsmasq, pero no puedo entender cómo configurar el DNS correctamente. Como quiero una solución automatizada, siento que necesito cambiar la configuración de DNS en mi enrutador, pero si cambio la configuración de DNS allí, ¿cómo puedo resolver hosts externos?

Detalles de configuracion

  • Enrutador: Netgear WNR2000v2. El enrutador me da la opción de especificar manualmente los servidores DNS, lo que supongo que tendré que señalar a mi cuadro de Ubuntu si quiero poner esto en funcionamiento.

  • Host MediaWiki y dnsmasq: ejecuta Ubuntu 12.04. He tenido algunas dificultades con la configuración de dnsmasq (principalmente debido a mi inexperiencia). Por ejemplo, no estoy seguro, pero creo que durante la instalación, Ubuntu modificó mi configuración de DNS para que /etc/resolv.confahora tuviera 127.0.0.1como único servidor DNS. En ese momento, pude resolver los hosts locales, pero nada más. He resuelto esto temporalmente modificando /etc/resolv.confy agregando 192.168.1.1como el servidor de nombres secundario, pero la preocupación aquí es que 192.168.1.1usará el cuadro de Ubuntu para DNS. ¿Me estoy perdiendo algo obvio aquí?

  • Configuración de dnsmasq: descomentó las siguientes líneas:

    domain-needed
    bogus-priv
    local=/local/
    domain=local
    
Dan
fuente
Considere publicar sus detalles de configuración. Además, ¿qué has probado? ¿Qué configuración cambiaste en tu enrutador? ¿Qué clase de router tienes? Supongo que estás usando Linux, pero ¿qué distribución? Hay tantas cosas que podrían salir mal que podríamos escribir un libro sobre el tema;)
jmort253
dnsmasq funcionará, pero otras alternativas incluyen mDNS y NIS .
Lèse majesté
¿puedes cambiar el nombre de tu máquina en el wifi?
ytpillai

Respuestas:

8

Con el DNS estándar, ejecutaría un servidor DNS que tenga autoridad para el dominio local ( home.o local., aunque es mejor evitarlo, vea la nota a continuación), pero que también actúe como un solucionador para todos los demás dominios.

dnsmasq puede usarse para este propósito: tiene el modo recursivo habilitado por defecto y su configuración se ve bien; todo lo que se necesita es decirle qué servidores de nombres usar para dominios no locales. Normalmente esos serían leídos del /etc/resolv.confarchivo del sistema ; Sin embargo, ya que desea que el dominio local para trabajar en el equipo servidor DNS también, usted tendrá que crear una copia dedicada de resolv.conf que sería utilizado solamente por dnsmasq , mientras que el original resolv.conf señalaría nameserver 127.0.0.1.

# cp /etc/resolv.conf /etc/dnsmasq-resolv.conf
# echo "nameserver 127.0.0.1" > /etc/resolv.conf
# dnsmasq -r /etc/dnsmasq-resolv.conf

Nota: Estas instrucciones son muy básicas y deben adaptarse a la distribución de Linux en uso. En particular, consulte las guías de Debian y Ubuntu en dnsmasq.

Después de esto, el enrutador debe configurarse para usar esta computadora como servidor DNS; dnsmasq manejaría todas las consultas DNS de las computadoras de su red .

(Los servidores DNS con todas las funciones, como bind9 , pueden realizar consultas recursivas por sí mismos: la configuración de servidores de nombres ascendentes se vuelve completamente opcional. Así es como funcionan los servidores de nombres de su ISP, por ejemplo. Sin embargo, alojar su propio dominio con bind9 es bastante complicado al principio, en comparación con el simple dnsmasq .)


Nota: Si tiene Avahi (también conocido como Bonjour) configurado en cualquier computadora en la red (que Ubuntu tiene, por defecto), es mejor si evita local.en DNS y elige algo así home., name.localya que Avahi ya maneja los nombres en forma de .

(Aunque Avahi normalmente solo responde current-hostname.local, en realidad es posible publicar entradas adicionales como wiki.local; sin embargo, necesitarán agregar direcciones IP adicionales debido a la forma en que funciona mDNS. Debido a esto, usar Avahi en lugar de DNS centralizado no funciona) ofrece más ventajas, así que no lo estoy sugiriendo).

usuario1686
fuente
2

Encontré que el demonio Avahi es la forma más fácil de hacer esto. Nota: si está utilizando máquinas Windows para conectarse al dominio .local, debe asegurarse de que esas máquinas tengan instalado iTunes u otro cliente Bonjour.

Consulte este enlace para obtener más información: http://www.howtogeek.com/167190/how-and-why-to-assign-the-.local-domain-to-your-raspberry-pi/

Aunque ese enlace es específico para Raspberry Pi, debería funcionar en las máquinas Ubuntu de la misma manera. Para otras distribuciones de Linux que no usan apt-get, simplemente ajústelo apt-geta su administrador de paquetes apropiado, por ejemplo, yumpara Fedora y CentOS)

Estos son los comandos exactos que ejecuté para que esto funcione en mi servidor de medios Raspberry Pi:

sudo apt-get update && sudo apt-get upgrade sudo apt-get install avahi-daemon

A partir de ahí, automáticamente comienza a usar el nombre de host de su computadora más la .localextensión como nombre de dominio. Entonces, si el nombre de host de su máquina es mediaserver, entonces puede acceder a él en la red escribiendo mediaserver.localen la barra de URL de cualquier máquina que tenga Bonjour / Avahi (es decir, todas las Mac, más las máquinas Windows con iTunes instalado).

camercu
fuente
0

La resolución de nombre local es una característica simple y ha sido parte de la mayoría de los enrutadores que utilicé. También se implementa en el firmware DD-WRT. Netgear no se preocupa por esta característica que se solicita constantemente .

Entonces, la respuesta es mucho más simple que las otras publicadas aquí: evite los problemas y cambie su enrutador Netgerat a algo que admita la resolución de nombres locales. O, si esa no es una opción, y siente la fuerza y ​​tiene el tiempo, aplique DD-WRT.

Oleg Mikheev
fuente