Além da resposta de Yamakaja , é assim que você configura um servidor DNS local.
Primeiro, você precisa de um computador no qual deseja executar o servidor DNS. Este pode ser um dos seus computadores normais (se eles rodam Linux e estão na maioria das vezes) ou, por exemplo, um Raspberry Pi . As vantagens de um dispositivo desse tipo são baratas, não precisam de muita energia e são pequenas.
Configurando o servidor DNS
Decidi configurar o servidor DNS em um Raspberry Pi usando dnsmasq
, que é uma pequena ferramenta de servidor DNS, ideal para uso em redes pequenas. Você também pode usar bind
a ferramenta DNS padrão de fato, mas isso provavelmente é um pouco poderoso demais para uma pequena rede doméstica.
Instale dnsmasq
usando o gerenciador de pacotes, em sistemas baseados no Debian (por exemplo, Raspbian), o comando seria
sudo apt-get install dnsmasq
Suponho agora que você já configurou uma alocação de endereço IP estático (ou seja, os endereços IP mencionados na sua pergunta não mudam). Se você não tiver, dnsmasq
também pode ser usado como servidor DHCP, mas ainda não o fiz.
dnsmasq
busca os nomes de host do /etc/hosts
. Edite este arquivo da seguinte maneira:
# IP address Host name
192.168.1.1 router
192.168.1.22 printer
O nome do host router
agora está atribuído a 192.168.1.1
, printer
para 192.168.1.22
.
Agora, você configurou seu próprio servidor DNS, mas os computadores da sua rede ainda não o utilizam. Para fazê-los usar esse servidor, você precisa fazer uma etapa da preparação:
Encontre o endereço IP do seu dispositivo dnsmasq usando ip address
(vamos supor que seja 192.168.1.42
). Abra /etc/dnsmasq.conf
e acrescente as seguintes linhas:
listen-address=127.0.0.1
listen-address=192.168.1.42
Isso indica que dnsmasq
ele deve atender às solicitações quando elas são endereçadas a 127.0.0.1
(isto é, quando ele próprio deseja usar seu servidor DNS) ou 192.168.1.42
(isto é, quando outros computadores desejam usar seu servidor DNS).
Usando o servidor DNS
Você deve informar a cada computador na sua rede que ele deve (também) usar 192.168.1.42
como servidor DNS. A maneira como você faz isso depende do seu sistema operacional. Você pode procurar isso facilmente no seu sistema operacional especificado na Internet (basta pesquisar em "Alterar servidor DNS em <OS>" ou algo assim).
Para o Windows 7, você pode seguir este tutorial: https://www.opennicproject.org/configure-your-dns/how-to-change-dns-servers-in-windows-7/ .
No meu sistema (Arch Linux), tive que acrescentar a seguinte linha para /etc/resolvconf.conf
name_servers=192.168.1.42
Observe que o arquivo que você deve usar depende da configuração do seu gerente de rede. Adicione o IP do servidor DNS em cada computador que você deseja usar seu DNS.
Você provavelmente terá que reiniciar os dispositivos se ele não funcionar imediatamente.
É isso aí, você terminou. Agora você pode acessar todos os dispositivos inseridos no /etc/hosts
servidor dnsmasq simplesmente usando o nome do host que você forneceu.
(Opcional) Verificando a funcionalidade
Se você deseja verificar se a resolução do DNS funciona corretamente, instale dnsutils
(Linux) no sistema que deve usar seu servidor. Então execute
$ dig router
Isso deve retornar algo como isto
; <<>> DiG 9.10.4-P1 <<>> router
;; global options: +cmd
;; Got answer:
...
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;router. IN A
;; ANSWER SECTION:
router. 0 IN A 192.168.1.1
;; Query time: 14 msec
;; SERVER: 192.168.1.42#53(192.168.1.42)
;; WHEN: So Jun 26 10:43:18 CEST 2016
;; MSG SIZE rcvd: 50
Ele mostra o nome do host que você deseja resolver, o endereço IP para o qual foi resolvido e o servidor DNS usado. Como você vê, está tudo bem.
(Opcional) Especificando um TLD
Se você deseja acessar os dispositivos não apenas com router
ou printer
com router.home
e printer.home
, adicione as seguintes linhas ao seu /etc/dnsmasq.conf
:
expand-hosts # Tells dnsmasq to add a TLD to each host name
domain=home # The TLD
Pode ser necessário reiniciar novamente.
Fontes / leitura adicional
Sobre dnsmasq
:
Sobre bind
(se você estiver interessado):