Estou trabalhando na criação de uma intranet doméstica para mim e meus colegas de quarto. Minha idéia é que poderemos armazenar coisas como contas de serviços públicos anteriores em um local mais acessível do que uma gaveta na cozinha etc. De qualquer forma, tenho o Apache 2 rodando em um Raspberry Pi, na minha LAN e se eu usar seu endereço IP, eu posso acessar as páginas servidas no Pi. Como estou fazendo esse projeto mais para aprender sobre redes e fornecer um serviço ao meu apartamento, pensei que seria legal se minha rede pudesse fornecer resolução de nome de host para minha LAN. Então, em vez de apontar meu navegador para 192.168.1.151
o endereço IP do Pi, eu poderia apontá-lo para oberon
(seu nome de host) e visualizar as páginas da web servidas pelo Pi.
Agora eu sabia que não era a primeira pessoa a querer fazer isso, então comecei pesquisando no Google. Esta pergunta, também no Unix e Linux, me ajudou imensamente: Como tornar uma máquina acessível a partir da LAN usando seu nome de host . Neste ponto, eu tentei de tudo na resposta verificada. Pensei em usar o hosts
arquivo, mas isso significaria que eu teria que dizer aos meus colegas de quarto para configurar suas máquinas, o que eu não quero que eles façam. Tentei reservar uma concessão de DHCP para o Pi no meu roteador (um NETGEAR WNR1000v2 (também conhecido como N150)) e, enquanto a reserva funcionava, a resolução do nome do host não. Isso me frustra porque eu disse ao meu roteador o IP do Pi e seu nome de host, mas ele ainda não fornece essas informações aos clientes na minha LAN.
Com esses dois métodos não funcionando, decidi instalar dnsmasq
no Pi. Parecia simples de configurar e eu ficaria feliz em aprender uma nova ferramenta. Eu instalei e ele está funcionando muito bem (parece). Eu posso dig
ou nslookup
apelidos do Pi (que eu definidos em /etc/hosts
a oberon
e homenet
) e obter os resultados corretos. Posso fazer o mesmo com nomes da Internet como yahoo.com
e obter respostas corretas porque configurei o Google 8.8.8.8
e 8.8.4.4
como servidores de backup /etc/dnsmasq.conf
. Veja isso:
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
Observe que o SERVER
is 127.0.0.1
: oberon
está pesquisando seu próprio endereço IP por conta própria. Isto é o que eu esperava ver. Saída é a mesma se eu fizer dig oberon @localhost
. Por causa dessa saída, estou pensando que dnsmasq
está funcionando bem. Portanto, para elevar o nível a outro nível, desejo que todos os clientes na minha LAN possam digitar oberon
seu navegador e serem levados para oberon
a página de índice. Por isso, sei que preciso configurar meu roteador (desculpas se isso se afastar do território estritamente Unix e Linux).
Eu tenho um Netgear WNR1000v2 com o qual estou bastante familiarizado. Eu configurei o encaminhamento de porta para que eu possa fazer o SSH no Pi e também procurei em outras configurações. Sei que antes de iniciar este projeto, eu estava recebendo meus servidores DNS do meu ISP, mas agora quero usá-los principalmente, mas também 192.168.1.151
como última verificação. Então, mudei a configuração de DNS do meu roteador para o seguinte:
Portanto, com essa configuração, eu esperava poder fazer nslookup oberon
no meu desktop (Windows) e obter um resultado de 192.168.1.151
. Mas isso não acontece. Isto é o que acontece:
C:\Users\me>nslookup oberon
Server: UnKnown
Address: fe80::226:f2ff:fefa:bea
*** UnKnown can't find oberon: Non-existent domain
A redefinição ou dnsflushing
o adaptador de rede na minha máquina Windows não altera nada.
Agora, aqui está o porquê de eu arrancar meu cabelo aqui:
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 muito bem. Se eu disser à minha caixa do Windows 192.168.1.151
para resolver o nome oberon
, tudo estará bem (o .lan
domínio fazia parte da configuração de dnsmasq
, então esperava vê-lo lá). Se eu conseguir que meu roteador diga à minha máquina Windows para usar 192.168.1.151
quando fizer consultas de DNS, eu devo ser bom!
Portanto, parece-me que o problema está no meu roteador, mas não consigo descobrir o que fazer além de alterar os servidores DNS para incluir 192.168.1.151
como já tenho. Alguém pode me ajudar aqui? Vou tentar fornecer qualquer informação adicional desejada.