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 passados em um lugar que seja mais acessível do que uma gaveta na cozinha etc. De qualquer forma, eu tenho o Apache 2 rodando em um Raspberry Pi, na minha LAN, e se eu usar seu endereço IP, eu posso acessar páginas sendo servidas no Pi. Como estou fazendo mais este projeto para aprender sobre rede como para fornecer um serviço para o meu apartamento, achei 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 apontar para oberon
(seu hostname) 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. Esta questão, também no Unix & Linux, me ajudou imensamente: Como tornar uma máquina acessível a partir da LAN usando seu nome de host . Neste ponto, tentei tudo na resposta verificada. Eu pensei em usar o arquivo hosts
, 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 tenham que fazer. Eu tentei reservar uma concessão de DHCP para o Pi no meu roteador (um NETGEAR WNR1000v2 (também conhecido como um N150)) e enquanto a reserva funcionou, resolução de nome de 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 para clientes em minha LAN.
Com esses dois métodos não funcionando, decidi instalar o dnsmasq
no Pi. Parecia simples de configurar e ficaria feliz em aprender uma nova ferramenta. Eu instalei e tê-lo funcionando muito bem (parece). Eu posso dig
ou nslookup
os apelidos do Pi (que eu configurei em /etc/hosts
to oberon
e homenet
) e obter os resultados corretos. Eu posso fazer o mesmo para nomes de internet como yahoo.com
e obter respostas corretas, pois configuro 8.8.8.8
e 8.8.4.4
do Google como servidores de backup em /etc/dnsmasq.conf
. Veja isto:
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 SERVER
é 127.0.0.1
: oberon
está procurando seu próprio endereço IP em si mesmo. Isso é o que eu esperava ver. A saída é a mesma se eu fizer dig oberon @localhost
. Por causa dessa saída, estou pensando que dnsmasq
está funcionando bem. Então, para trazê-lo para o próximo nível, eu quero que todos os clientes em minha rede local possam digitar oberon
em seu navegador e serem levados para a página de índice oberon
. Para isso, sei que preciso configurar meu roteador (desculpas se isso se distanciar estritamente do território Unix e Linux).
Eu tenho um Netgear WNR1000v2 com o qual estou bastante familiarizado. Eu configurei o encaminhamento de porta para que eu possa usar o SSH no Pi, e também procurei outras configurações. Eu sei que antes de começar este projeto, eu estava recebendo meus servidores DNS do meu provedor, mas agora eu quero usar esses servidores DNS principalmente, mas também usar 192.168.1.151
como última verificação. Então eu mudei a configuração de DNS do meu roteador para o seguinte:
Portanto, com essa configuração, esperava poder fazer nslookup oberon
na minha área de trabalho (Windows) e obter um resultado de 192.168.1.151
. Mas isso não acontece. Isso é 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
do adaptador de rede na minha máquina Windows não altera nada.
Agora, por que estou arrancando 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 bem. Se eu disser à minha caixa do Windows para usar 192.168.1.151
para resolver o nome oberon
, está tudo bem (o domínio .lan
fazia parte da configuração de dnsmasq
, então eu esperava vê-lo lá). Se eu conseguisse que meu roteador dissesse à minha máquina Windows para usar o 192.168.1.151
quando fizer consultas DNS, eu deveria ser bom!
Então, parece-me que o problema está no meu roteador, mas eu simplesmente não consigo descobrir o que fazer além de alterar os servidores DNS para incluir 192.168.1.151
como eu já tenho. Alguém pode me ajudar aqui? Tentarei fornecer qualquer informação adicional desejada.