Configurando o dnsmasq para uma rede local

17

Eu, e um pequeno grupo de desenvolvedores acaba de se mudar para um novo escritório, e gostaria de configurar o dnsmasq em nosso desenvolvimento servidor, por isso, quando implantamos aplicativos da web lá, não precisamos editar nossos próprios arquivos hosts. Nós temos um roteador em 192.168.3.1 que não temos acesso. Imaginei instalar um servidor DNS na caixa de desenvolvimento, e todos nós gravamos seu IP como um servidor DNS secundário. Infelizmente eu estou lutando para fazer este trabalho.

O nome do servidor devel é o devbox, o IP é 192.168.3.99 e está executando o último servidor Ubuntu (Karmic)

Meu computador está executando o Ubuntu Desktop (Karmic)

O que eu gostaria de alcançar

Digamos que eu tenha três websites, website1, website2, website3, em execução na caixa de desenvolvimento. Gostaria de acessá-los pelos URLs:

http://website1.devbox
http://website2.devbox
http://website3.devbox

Então eu configurei o Apache na caixa de desenvolvimento, instalei o dnsmasq e coloquei as seguintes linhas em seu arquivo hosts:

192.168.3.99 website1.devbox
192.168.3.99 website2.devbox
192.168.3.99 website3.devbox

e editei meu próprio arquivo resolv.conf para incluir a caixa de desenvolvimento como um servidor de nomes:

nameserver 192.168.3.99 

Está funcionando bem, eu posso acessar os sites. O problema é que ele não escala bem. Eu gostaria de todos os domínios terminados em .devbox encaminhado para a caixa de desenvolvimento, e é com isso que estou lutando.

Eu tentei colocar

192.168.3.99 devbox

no arquivo hosts e editando a linha no dnsmasq.conf:

# Add local-only domains here, queries in these domains are answered
# from /etc/hosts or DHCP only.
local=/devbox/

Mas não consigo trabalhar. Se eu tentar qualquer URL que não esteja explicitamente presente no arquivo de hosts da caixa de desenvolvimento, a pesquisa do DNS falhará.

A diretiva local é outra coisa? Eu estou olhando para o lugar errado?

    
por K. Norbert 27.04.2010 / 17:48

1 resposta

14

Consulte a documentação do DNSmasq , especialmente o dnsmasq manpage e exemplo de arquivo de configuração . A palavra-chave local diz ao DNSmasq para realizar essas pesquisas de domínio com dados locais. Isso afeta os pedidos enviados para o DNSmasq para foo.localnet e bar.localnet , por exemplo. Eu não acho que isso é o que você quer.

# Add local-only domains here, queries in these domains are answered
# from /etc/hosts or DHCP only.
local=/localnet/

Para forçar pesquisas de host / subdomínio a serem resolvidas em um endereço específico, você provavelmente desejaria usar a palavra-chave endereço . O segundo exemplo abaixo deve permitir que web1.devbox e web2.devbox e web73872.devbox sejam resolvidos para o endereço especificado.

# Add domains which you want to force to an IP address here.
# The example below send any host in doubleclick.net to a local
# webserver.
address=/doubleclick.net/127.0.0.1

# for your example
address=/devbox/192.168.3.99

Eu uso DNSmasq em casa para lidar com coisas simples de DNS para minha LAN; Nesse caso, as palavras-chave local e domínio e expand-hosts são apropriadas. O servidor DNSmasq é meu servidor de nomes primário, portanto, todas as solicitações passam por ele; quaisquer endereços não-locais são passados de volta para o servidor de nomes do ISP. Você pode considerar essa configuração, se possível.

    
por 27.04.2010 / 21:03