Como posso configurar um domínio 'local' para que todos na minha rede local possam visualizar um site hospedado localmente?

16

Quero configurar o MediaWiki em uma das minhas máquinas domésticas e, em seguida, todos os pedidos feitos na rede local para 'wiki.home' ou 'wiki.local' apontam para essa caixa. Sei que isso pode ser feito editando cada arquivo / etc / hosts individualmente, mas quero algo mais automatizado para que, por exemplo, se um amigo ou membro da família vier à minha casa, eles não precisem mexer com o hospeda o arquivo para visualizar o site.

Existe uma maneira simples de fazer isso? Eu tenho o wiki instalado e funcionando, e estive pesquisando no dnsmasq, mas não consigo descobrir como configurar o DNS corretamente. Como quero uma solução automatizada, sinto que preciso alterar as configurações de DNS no meu roteador, mas se eu alterar as configurações de DNS lá, como ainda posso resolver hosts externos?

Detalhes de configuração

  • Roteador: Netgear WNR2000v2. O roteador me dá a opção de especificar manualmente os servidores DNS, o que eu suponho que precisarei apontar para a minha caixa do Ubuntu se eu quiser colocar isso em funcionamento.

  • MediaWiki e host dnsmasq: Executa o Ubuntu 12.04. Eu tive algumas dificuldades com a configuração do dnsmasq (principalmente devido à minha inexperiência). Por exemplo, não tenho certeza, mas acho que durante a instalação, o Ubuntu modificou minhas configurações de DNS para que /etc/resolv.confagora tivesse 127.0.0.1como o único servidor DNS. Nesse ponto, eu poderia resolver os hosts locais, mas nada mais. Eu resolvi isso temporariamente modificando /etc/resolv.confe adicionando 192.168.1.1como servidor de nomes secundário, mas a preocupação aqui é que 192.168.1.1estará usando a caixa Ubuntu para DNS. Estou perdendo algo óbvio aqui?

  • Configurações do dnsmasq: descomente as seguintes linhas:

    domain-needed
    bogus-priv
    local=/local/
    domain=local
    
Dan
fonte
Considere postar seus detalhes de configuração. Além disso, o que você tentou? Quais configurações você mudou no seu roteador? Que tipo de roteador você tem? Eu suponho que você esteja usando Linux, mas que distro? Há tantas coisas que podem dar errado que poderia escrever um livro sobre o assunto;)
jmort253
O dnsmasq funcionará, mas outras alternativas incluem mDNS e NIS .
Lèse majesté
você pode simplesmente mudar o nome da sua máquina no wifi?
ytpillai

Respostas:

8

Com o DNS padrão, você executaria um servidor DNS com autoridade para o domínio local ( home.ou local., embora seja melhor evitar o último - veja a nota abaixo), mas também atua como um resolvedor para todos os outros domínios.

O dnsmasq pode ser usado para essa finalidade - ele tem o modo recursivo ativado por padrão e sua configuração parece bem; tudo o que é necessário é informar quais servidores de nomes usar para domínios não locais. Normalmente, esses seriam lidos no /etc/resolv.confarquivo do sistema ; no entanto, como você deseja que o domínio local também funcione no computador do servidor DNS, será necessário criar uma cópia dedicada do resolv.conf que seria usada apenas pelo dnsmasq , enquanto o resolv.conf original apontaria 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: Essas instruções são muito básicas e devem ser adaptadas à distribuição Linux em uso. Em particular, verifique os guias Debian e Ubuntu no dnsmasq.

Depois disso, o roteador precisa ser configurado para usar este computador como servidor DNS; todas as consultas DNS dos computadores da sua rede serão tratadas pelo dnsmasq .

(Os servidores DNS com todos os recursos, como o bind9 , podem realizar consultas recursivas - configurar os servidores de nomes upstream se torna totalmente opcional. É assim que os servidores de nomes do seu ISP funcionam, por exemplo. No entanto, hospedar seu próprio domínio com o bind9 é bastante complicado no início, comparação com o dnsmasq simples .)


Nota: Se você tiver o Avahi (também conhecido como Bonjour) configurado em qualquer computador na rede (que o Ubuntu possui, por padrão), é melhor evitar o local.DNS e escolher algo como isso home., pois os nomes na forma de name.localjá são tratados pelo Avahi .

(Embora o Avahi normalmente apenas responda current-hostname.local, é realmente possível publicar entradas adicionais como wiki.local; eles, no entanto, precisarão adicionar endereços IP adicionais devido à maneira como o mDNS funciona. Por esse motivo, o uso do Avahi em vez do DNS centralizado não é necessário. oferecer mais vantagens, por isso não estou sugerindo.)

user1686
fonte
2

Eu achei o daemon Avahi a maneira mais fácil de fazer isso. Nota: se você estiver usando máquinas Windows para conectar-se ao domínio .local, precisará garantir que essas máquinas tenham o iTunes ou outro cliente Bonjour instalado.

Confira este link para obter mais informações: http://www.howtogeek.com/167190/how-and-why-to-assign-the-.local-domain-to-your-raspberry-pi/

Embora esse link seja específico do Raspberry Pi, ele deve funcionar nas máquinas Ubuntu da mesma maneira. Para outras distribuições Linux que não usam apt-get, basta ajustar apt-getao seu gerenciador de pacotes apropriado - por exemplo, yumpara Fedora e CentOS)

Aqui estão os comandos exatos que executei para fazer isso no meu servidor de mídia Raspberry Pi:

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

A partir daí, ele começa automaticamente a usar o nome do host do computador e a .localextensão como nome de domínio. Portanto, se o nome do host da sua máquina for mediaserver, você poderá acessá-lo na rede digitando mediaserver.localna barra de URL de qualquer máquina que tenha Bonjour / Avahi (ou seja, todos os Macs, além de máquinas Windows com o iTunes instalado).

camercu
fonte
0

A resolução de nomes locais é um recurso simples e faz parte da maioria dos roteadores que usei. Também é implementado no firmware DD-WRT. O Netgear não se importa com esse recurso que é solicitado constantemente .

Portanto, a resposta é muito mais simples do que as postadas aqui - evite os problemas e altere o roteador Netgerat para algo que suporte a resolução de nomes local. Ou, se isso não for uma opção, e você sentir a força e o tempo necessário, atualize o DD-WRT.

Oleg Mikheev
fonte