Alias ​​para IP en la red LAN doméstica

23

¿Es posible asignar un alias de cadena legible a una dirección IP como 192.168.1.1? Tal vez algo como esto:

192.168.1.1 -> router.home

o

192.168.1.22 -> printer.home

No es necesario que el router.home sea accesible desde la web externa, sino solo en la LAN. De hecho, no debería ser accesible desde fuera de la web.

Supongo que el objetivo es tener un servidor DNS local, que responda a la dirección de router.home. ¿Alguna idea de cómo crear tal alias?

EDITAR: la respuesta de Yamakaja funciona muy bien, pero requiere cambiar el archivo de hosts en cada computadora en LAN. ¿Se puede hacer una búsqueda de DNS local en el enrutador doméstico? Eso evitaría mucho trabajo manual.

sanjihan
fuente
2
Tenga en cuenta que algunos enrutadores lo hacen ellos mismos, por ejemplo, si usa enrutadores Asus y va a router.asus.com , se abrirá la página de configuración del enrutador. Otros enrutadores tienen "trucos" similares para hacer algo similar a esto también.
acejavelin
No, no uso el enrutador asus. La pregunta es en realidad un poco más general ... No solo me gustaría acceder al enrutador sin la IP, sino también a otros dispositivos conectados a la red. Agregaré una edición.
sanjihan
2
Mi punto es que algunos enrutadores tienen esta capacidad incorporada, ya que a menudo actúan como un servidor de almacenamiento en caché de DNS, ya que no mencionó qué enrutador está utilizando, lo dejé abierto a "otros enrutadores tienen trucos similares para hacer esto también"
acejavelin
1
si si, lo tengo y gracias! el enrutador fue solo un ejemplo. imagine ejecutar una impresora o un raspberry PI o un sistema de ventilación controlado por Internet en la LAN también.
sanjihan
@sanjihan Creo que tendrá que revelar la marca y el modelo de su enrutador o decirle lo que está utilizando para DNS para que alguien le dé instrucciones adicionales sobre las configuraciones que puede completar para esta tarea. Entonces, para recapitular, 1.)hacer y modelar su dispositivo enrutador o 2.)qué está usando exactamente para DNS (por ejemplo, DNS de Windows, funcionalidad de enrutador incorporado, etc.)
Pimp Juice IT

Respuestas:

18

Además de la respuesta de Yamakaja , así es como configura un servidor DNS local.

Primero, necesita una computadora en la que desea ejecutar el servidor DNS. Esta puede ser una de sus computadoras normales (si ejecutan Linux y están en la mayoría del tiempo) o, por ejemplo, una Raspberry Pi . Las ventajas de este dispositivo son que es barato, no necesita mucha energía y es pequeño.

Configurar el servidor DNS

Decidí configurar el servidor DNS en una Raspberry Pi usando dnsmasq, que es una pequeña herramienta de servidor DNS, ideal para usar en redes pequeñas. También podría usar bindla herramienta de DNS estándar de facto, pero probablemente sea demasiado poderosa para una red doméstica pequeña.

Instale dnsmasqusando el administrador de paquetes, en sistemas basados ​​en Debian (por ejemplo, Raspbian), el comando sería

sudo apt-get install dnsmasq

Ahora supongo que ya ha configurado una asignación de dirección IP estática (es decir, las direcciones IP que menciona en su pregunta no cambian). Si no lo ha hecho, dnsmasqtambién se puede usar como servidor DHCP, pero aún no lo he hecho.

dnsmasqrecupera los nombres de host de /etc/hosts. Edite este archivo de la siguiente manera:

# IP address    Host name
192.168.1.1     router
192.168.1.22    printer

El nombre de host routerahora está asignado a 192.168.1.1, printera 192.168.1.22.

Ahora, ha configurado su propio servidor DNS, pero las computadoras en su red aún no lo usan. Para que usen este servidor, debe realizar un paso de preparación:

Encuentre la dirección IP de su dispositivo dnsmasq usando ip address(supongamos que es 192.168.1.42). Abra /etc/dnsmasq.confy agregue las siguientes líneas:

listen-address=127.0.0.1
listen-address=192.168.1.42

Esto le dice dnsmasqque debe escuchar las solicitudes cuando se dirigen a 127.0.0.1(es decir, cuando quiere usar su servidor DNS) o 192.168.1.42(es decir, cuando otras computadoras quieren usar su servidor DNS).

Usando el servidor DNS

Debe decirle a cada computadora de su red que debe (también) usarla 192.168.1.42como servidor DNS. La forma de hacerlo depende de su sistema operativo. Puede buscar esto fácilmente para su sistema operativo especificado en Internet (simplemente busque "Cambiar servidor DNS en <OS>", o algo así).

Para Windows 7, puede seguir este tutorial: https://www.opennicproject.org/configure-your-dns/how-to-change-dns-servers-in-windows-7/ .

En mi sistema (Arch Linux), tuve que agregar la siguiente línea a /etc/resolvconf.conf

name_servers=192.168.1.42

Tenga en cuenta que el archivo que debe usar depende de la configuración de su administrador de red. Agregue la IP del servidor DNS en cada computadora que desea usar su DNS.

Probablemente tendrá que reiniciar los dispositivos si no funciona de inmediato.

Eso es todo, ya terminaste. Ahora puede acceder a todos los dispositivos que ha ingresado en /etc/hostsel servidor dnsmasq simplemente usando el nombre de host que le ha dado.

(Opcional) Comprobación de funcionalidad

Si desea verificar si la resolución de DNS funciona correctamente, instale dnsutils(Linux) en el sistema que debe usar su servidor. Luego ejecuta

$ dig router

Esto debería devolver algo como esto

; <<>> DiG 9.10.4-P1 <<>> router
;; global options: +cmd
;; Got answer:
...

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;router.                        IN      A

;; ANSWER SECTION:
router.                 0       IN      A       192.168.1.1

;; Query time: 14 msec
;; SERVER: 192.168.1.42#53(192.168.1.42)
;; WHEN: So Jun 26 10:43:18 CEST 2016
;; MSG SIZE  rcvd: 50

Le muestra el nombre de host que quería resolver, la dirección IP a la que se resolvió y el servidor DNS utilizado. Como ves, todo está bien.

(Opcional) Especificar un TLD

Si desea acceder a los dispositivos no solo con routero printersino con router.homey printer.home, agregue las siguientes líneas a su /etc/dnsmasq.conf:

expand-hosts # Tells dnsmasq to add a TLD to each host name
domain=home # The TLD

Es posible que deba reiniciar nuevamente.

Fuentes / lecturas adicionales

Acerca de dnsmasq:

Acerca de bind(si le interesa):

TuringTux
fuente
11

Sí, lo es, y hay dos (¿o más?) Opciones:


Edición de su archivo de hosts (la manera perezosa)

Dependiendo de su sistema operativo, tendrá que agregar una entrada a su archivo "hosts". Puede encontrarlo en la /etc/hostsmayoría de los Unixoids y en C:\Windows\system32\drivers\etc\hostsWindows.

Para agregar su entrada, vaya al final del archivo y agregue una fila en este formato:

<IP>       <the hostname to assign>

p.ej.

192.168.1.1      router

(Tenga en cuenta que el espacio entre la ip y el nombre de host no importa. Pero se ve mejor si coincide con las otras entradas. Puede usar pestañas o espacios)

Luego puede acceder a su enrutador en un navegador simplemente accediendo

http://router/

o

router/

Servidor DNS local

Consulte la respuesta de TuringTux para obtener más información.

Yamakaja
fuente
¡Gracias hombre! Esto funciona muy bien para una sola computadora. ¿Es posible extender esto a todas las computadoras en la LAN sin cambiar manualmente el archivo de hosts en cada computadora?
sanjihan
@sanjihan No es tan fácil, por ejemplo, podrías comprar tu propio nombre de dominio por menos de 1 $ en namecheap y usarlo para señalar tus cosas. Por ejemplo, podría configurar el enrutador. <yourdomain>. <tld> para apuntar a 192.168.1.1 Pero eso hará que sus nombres sean más largos. También marque mi respuesta como aceptada para que otros usuarios sepan que esta pregunta ha sido respondida.
Yamakaja
¿Puedes usar el nombre de la PC si son parte del mismo grupo de trabajo?
jiggunjer
@jiggunjer, en realidad no lo sé. No estoy tan familiarizado con Windows
Yamakaja
2

Quiero actualizar la gran respuesta anterior:

Es posible que desee ver su enrutador y verificar si tiene soporte de entrada DNS manual.

Si es así, simplemente puede agregar su 192.168.1.22dirección local como printer.home. De lo contrario, me limita la edición de archivos de hosts locales o la configuración de su propio servidor DNS.

Valentin
fuente