Estoy trabajando para configurar una intranet doméstica para mí y mis compañeros de cuarto. Mi idea es que podamos almacenar cosas como facturas de servicios públicos anteriores en un lugar que sea más accesible que un cajón en la cocina, etc. De todos modos, tengo Apache 2 ejecutándose en una Raspberry Pi, en mi LAN, y si uso su dirección IP, puedo acceder a las páginas que se sirven en el Pi. Como estoy haciendo este proyecto más para aprender sobre la creación de redes y proporcionar un servicio a mi departamento, pensé que sería genial si mi red pudiera proporcionar una resolución de nombre de host para mi LAN. Entonces, en lugar de apuntar mi navegador a 192.168.1.151
la dirección IP del Pi, podría apuntarlo oberon
(su nombre de host) y ver las páginas web que sirve el Pi.
Ahora sabía que no era la primera persona en querer hacer esto, así que comencé buscando en Google. Esta pregunta, también en Unix y Linux, me ha ayudado inmensamente: cómo hacer que una máquina sea accesible desde la LAN utilizando su nombre de host . En este punto, he intentado todo en la respuesta verificada. Pensé en usar el hosts
archivo, pero eso significaría que tendría que decirles a mis compañeros de cuarto que configuren sus máquinas, lo que no quiero que tengan que hacer. Traté de reservar un contrato de arrendamiento de DHCP para el Pi en mi enrutador (un NETGEAR WNR1000v2 (también conocido como N150)), y aunque la reserva funcionó, la resolución del nombre de host no funciona. Esto me frustra porque le dije a mi enrutador la IP del Pi y su nombre de host, pero aún no proporciona esta información a los clientes en mi LAN.
Con estos dos métodos que no funcionan, decidí instalar dnsmasq
en Pi. Parecía simple de configurar y estaría encantado de aprender una nueva herramienta. Lo instalé y lo tengo funcionando bien (parece). Que pueda dig
o nslookup
apodos del Pi (que yo pongo en /etc/hosts
a oberon
y homenet
) y obtener los resultados correctos. Puedo hacer lo mismo para nombres de Internet como yahoo.com
y obtener respuestas correctas porque configuré Google 8.8.8.8
y 8.8.4.4
como servidores de respaldo /etc/dnsmasq.conf
. Mira esto:
me@oberon~$ dig oberon
; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> oberon
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 10787
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;oberon. IN A
;; ANSWER SECTION:
oberon. 0 IN A 192.168.1.151
;; Query time: 10 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Sun Oct 6 18:59:18 2013
;; MSG SIZE rcvd: 40
Tenga en cuenta que SERVER
es 127.0.0.1
: oberon
está buscando su propia dirección IP en sí mismo. Esto es lo que esperaba ver. La salida es la misma si lo hago dig oberon @localhost
. Debido a este resultado, creo que dnsmasq
está funcionando bien. Entonces, para llevarlo al siguiente nivel, quiero que todos los clientes en mi LAN puedan escribir oberon
en su navegador y acceder a oberon
la página de índice. Por esto sé que necesito configurar mi enrutador (disculpas si esto se aleja estrictamente del territorio de Unix y Linux).
Tengo un Netgear WNR1000v2 con el que estoy bastante familiarizado. He configurado el reenvío de puertos para que pueda SSH en el Pi, y también he hurgado en otras configuraciones. Sé que antes de comenzar este proyecto, estaba obteniendo mis servidores DNS de mi ISP, pero ahora quiero usar esos servidores DNS principalmente, pero también los uso 192.168.1.151
como último control. Así que cambié la configuración de DNS de mi enrutador a lo siguiente:
Entonces, con esta configuración, esperaba poder hacerlo nslookup oberon
en mi escritorio (Windows) y obtener un resultado 192.168.1.151
. Pero esto no sucede. Esto es lo que sucede:
C:\Users\me>nslookup oberon
Server: UnKnown
Address: fe80::226:f2ff:fefa:bea
*** UnKnown can't find oberon: Non-existent domain
Restablecer o dnsflushing
el adaptador de red en mi máquina Windows no cambia nada.
Ahora he aquí por qué me estoy arrancando el pelo:
C:\Users\me>nslookup oberon 192.168.1.151
Server: oberon.lan
Address: 192.168.1.151
Name: oberon
Address: 192.168.1.151
Claramente, dnsmasq
está funcionando bien. Si le digo a mi cuadro de Windows que use 192.168.1.151
para resolver el nombre oberon
, todo está bien (el .lan
dominio era parte de la configuración de dnsmasq
, por lo que esperaba verlo allí). Si pudiera hacer que mi enrutador le diga a mi máquina Windows que use 192.168.1.151
cuando realiza consultas DNS, ¡sería bueno!
Entonces, me parece que el problema está en mi enrutador, pero no puedo entender qué hacer más allá de cambiar los servidores DNS para incluir 192.168.1.151
como ya lo he hecho. ¿Me puede ayudar alguien? Intentaré proporcionar cualquier información adicional que desee.