Além da resposta do 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 desse dispositivo são que ele é barato, não precisa de muita energia e é pequeno.
Configurando o servidor DNS
Eu decidi configurar o servidor DNS em um Raspberry Pi usando dnsmasq
, que é um pequeno servidor DNS ferramenta, ideal para uso em pequenas redes. 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
Agora, suponho que você já tenha configurado uma alocação de endereço IP estático (ou seja, os endereços IP mencionados em sua pergunta não mudam). Se você não tiver, dnsmasq
também pode ser usado como um servidor DHCP, mas ainda não o fiz.
dnsmasq
busca os nomes de host de /etc/hosts
. Edite este arquivo da seguinte forma:
# 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
a 192.168.1.22
.
Agora, você configurou seu próprio servidor DNS, mas os computadores da sua rede ainda não o usam. Para fazê-los usar este servidor, você precisa fazer um passo de preparação:
Encontre o endereço IP do seu dispositivo dnsmasq usando ip address
(suponhamos que seja 192.168.1.42
). Abra o /etc/dnsmasq.conf
e anexe as seguintes linhas:
listen-address=127.0.0.1
listen-address=192.168.1.42
Isso diz a dnsmasq
que deve ouvir as solicitações quando elas forem endereçadas a 127.0.0.1
(ou seja, quando ele quiser usar seu servidor DNS) ou 192.168.1.42
(ou seja, quando outros computadores quiserem usar seu servidor DNS ).
Usando o servidor DNS
Você tem que dizer a cada computador em 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 pesquisar isso facilmente no sistema operacional especificado na Internet (basta pesquisar "Alterar servidor DNS em < SO >" ou algo assim).
Para o Windows 7, você pode seguir este tutorial: link .
No meu sistema (Arch Linux), eu tive que acrescentar a seguinte linha a /etc/resolvconf.conf
name_servers=192.168.1.42
Observe que o arquivo que você precisa usar depende da configuração do seu gerenciador 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 não funcionar imediatamente.
É isso aí, está feito. Agora você pode acessar todos os dispositivos que você inseriu em /etc/hosts
do servidor dnsmasq simplesmente usando o nome do host que você forneceu.
(Opcional) Verificando a funcionalidade
Se você quiser 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 assim
; <<>> 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 ele foi resolvido e o servidor DNS usado. Como você vê, está tudo bem.
(Opcional) Especificando um TLD
Se você quiser acessar os dispositivos não apenas com router
ou printer
, mas 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
Você pode precisar reiniciar novamente.
Fontes / leituras adicionais
Sobre dnsmasq
:
Sobre bind
(se você tiver interesse):