Configurando um domínio de nível superior

1

Acabei de começar um novo trabalho e temos uma intranet com nosso próprio domínio de nível superior, como .abc. Assim, se eu quiser entrar no nosso "site e-benefits", eu simplesmente abriria um navegador da web e acessaria o worklink.abc e o login dele.

Como desenvolvedor que sabe muito pouco sobre DNS e sistemas de TI, estou curioso para saber como isso funciona e o que eu precisaria fazer para conseguir algo semelhante em casa.

Meu nome é Adam e gostaria de ter uma intranet em casa onde talvez todos os domínios terminassem com um sufixo .adm . Dessa forma eu poderia desenvolver aplicativos web Java internos para mapear, páginas como http://mydomain.adm?foo=bar , etc. Tenho certeza que isso me levará a um novo mundo de servidores DNS e configurações, mas isso não me assusta.

Algum de vocês, "caras de sistemas", pode dar a um desenvolvedor de Java deficiente uma introdução de leigos de alto nível sobre como eu poderia conseguir isso? Neste ponto, nem sei por onde começar. Se você puder me dar uma lista de pendências decente para trabalhar, posso pesquisar os detalhes de lá. Obrigado antecipadamente!

    
por Mara 23.12.2011 / 17:01

1 resposta

1

Como Dan mencionou, você pode usar o arquivo /etc/hosts do sistema para realizar o que deseja. Isso não é "configurar um TLD" de maneira significativa, pois, na verdade, não tem nada a ver com o DNS. /etc/hosts é (... normalmente ...) referenciado pelo seu sistema antes que verifica com o DNS. O arquivo hosts simplesmente mapeia nomes para endereços e não sabe nada sobre domínios. Então, se você colocar isso em /etc/hosts :

127.0.0.1 localhost apple.com

E então faça isso:

curl http://apple.com/

curl tentará se conectar a 127.0.0.1 . Mas se você fizer isso:

curl http://www.apple.com/

Seu sistema irá (... provavelmente ...) referir-se ao DNS, porque www.apple.com não foi encontrado no arquivo hosts . Como a maioria dos softwares usa os recursos de resolução de nomes de sistemas (controlados por /etc/nsswitch.conf ), isso funcionará para quase tudo. É simples, mas existem algumas desvantagens:

  • Se você tiver mais de uma máquina, será necessário manter o arquivo hosts atualizado em todas elas.
  • Você não pode fornecer nada além do mapeamento de nome para endereço usando o arquivo hosts . Portanto, nenhum registro MX ou SRV , nenhum registro CNAME e assim por diante.

A próxima solução mais fácil é usar dnsmasq , que é uma ferramenta muito bacana que fornece DNS, DHCP, e serviços TFTP - em outras palavras, praticamente tudo que você precisa para uma pequena rede. Usando dnsmasq , você pode:

  • Crie seu próprio TLD para uso na sua rede,
  • Forneça o endereço IP do seu servidor de nomes local automaticamente aos clientes via DHCP,
  • Substituir respostas de servidores DNS públicos (assim, você pode substituir "www.google.com" por um servidor interno de sua preferência, por exemplo).

dnsmasq está muito bem documentado, mas se você tiver perguntas específicas depois de ver a documentação, volte e verei o que posso fazer.

Aqui está um exemplo bem curto ... se você executar isto:

dnsmasq -C /dev/null --local=/localnet/ -s localnet -E

O -C /dev/null está lá para garantir que estamos começando com uma configuração "vazia", pois não sei o que pode estar no seu local /etc/dnsmasq.conf . Esta linha de comando, dnsmasq , disponibilizará quaisquer entradas no seu arquivo /etc/hosts via DNS no domínio "localnet". Por exemplo, se eu tivesse o seguinte no meu arquivo hosts :

10.10.10.10 fluff
10.10.10.11 nutella

Eu poderia fazer isso em um sistema que foi configurado para usar minha dnsmasq instance para o DNS:

$ host fluff.localnet
fluff.localnet has address 10.10.10.10

E eu também posso usar nomes não qualificados:

$ host nutella
nutella has address 10.10.10.11

Você pode ficar bastante chique com dnsmasq e provavelmente é mais do que suficiente para uma rede doméstica. Se você precisasse atender a uma população maior - e fornecer serviço DNS redundante, exibições dentro / fora, ACLs e assim por diante -, então você procuraria algo como BIND , mas isso não é necessário para o que você está fazendo (ou para o que eu estou fazendo, para esse assunto - eu uso dnsmasq em casa).

    
por 23.12.2011 / 17:22