Alias ​​para IPs na rede LAN doméstica

23

É possível atribuir um alias de seqüência de caracteres legível a um endereço IP como 192.168.1.1? Talvez algo parecido com isto:

192.168.1.1 -> router.home

ou

192.168.1.22 -> printer.home

Não é necessário que o router.home seja acessível a partir da web externa, mas apenas na LAN. Na verdade, não deve ser acessível a partir da web externa.

Acho que o objetivo é ter um servidor DNS local, que responda ao endereço router.home. Alguma idéia de como criar um apelido?

EDIT: A resposta de Yamakaja funciona muito bem, mas requer a alteração do arquivo hosts em todos os computadores na LAN. A pesquisa de DNS local pode ser feita no roteador doméstico? Isso pularia muito trabalho manual.

sanjihan
fonte
2
Observe que alguns roteadores fazem isso sozinhos, por exemplo, se você usa roteadores Asus e acessa o router.asus.com, ele abrirá a página de configuração do roteador. Outros roteadores também têm "truques" semelhantes para fazer isso.
acejavelin
Não, eu não uso o roteador asus. A questão é realmente um pouco mais geral ... Não apenas eu gostaria de acessar o roteador sem o IP, mas também outros dispositivos conectados à rede. Vou adicionar uma edição.
sanjihan
2
Meu argumento foi que alguns roteadores têm esse recurso embutido, pois geralmente atuam como um servidor de cache DNS, já que você não
indicou
1
sim sim, entendi e obrigado! roteador era apenas um exemplo. imagine rodar também uma impressora ou PI framboesa ou sistema de ventilação controlado pela Internet na LAN.
sanjihan
@sanjihan Acho que você precisará divulgar a marca e o modelo do seu roteador ou informar o que está usando no DNS para que alguém lhe forneça mais instruções sobre as configurações que você poderá concluir para esta tarefa. Então, para recapitular, 1.)marca e modelo do seu dispositivo roteador ou 2.)o que você está usando exatamente para DNS (por exemplo, Windows DNS, built-in funcionalidade do roteador, etc.)
Pimp Juice TI

Respostas:

18

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 binda ferramenta DNS padrão de fato, mas isso provavelmente é um pouco poderoso demais para uma pequena rede doméstica.

Instale dnsmasqusando 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, dnsmasqtambém pode ser usado como servidor DHCP, mas ainda não o fiz.

dnsmasqbusca 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 routeragora está atribuído a 192.168.1.1, printerpara 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.confe acrescente as seguintes linhas:

listen-address=127.0.0.1
listen-address=192.168.1.42

Isso indica que dnsmasqele 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.42como 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/hostsservidor 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 routerou printercom router.homee 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):

TuringTux
fonte
11

Sim, é, e existem duas (ou mais?) Opções:


Editando o arquivo hosts (da maneira lenta)

Dependendo do seu sistema operacional, você precisará adicionar uma entrada ao seu arquivo "hosts". Você pode encontrá-lo na /etc/hostsmaioria dos Unixoids e no C:\Windows\system32\drivers\etc\hostsWindows.

Para adicionar sua entrada, vá para a parte inferior do arquivo e adicione uma linha neste formato:

<IP>       <the hostname to assign>

por exemplo.

192.168.1.1      router

(Observe que o espaço entre o ip e o nome do host não importa. Mas parece melhor se corresponder às outras entradas. Você pode usar guias ou espaços)

Em seguida, você pode acessar seu roteador em um navegador acessando apenas

http://router/

ou

router/

Servidor DNS local

Por favor, veja a resposta do TuringTux para mais informações

Yamakaja
fonte
Valeu cara! Isso funciona muito bem para um único computador. É possível estender isso para todos os computadores na LAN sem alterar manualmente o arquivo hosts em cada computador?
sanjihan
@sanjihan Não é tão fácil, por exemplo, você pode comprar seu próprio nome de domínio por menos de 1 $ na namecheap e usá-lo para apontar para as suas coisas. Por exemplo, você pode configurar o roteador. <seudominio>. <tld> para apontar para 192.168.1.1 Mas isso tornará seus nomes mais longos. Além disso, marque minha resposta como aceita para que outros usuários saibam que esta pergunta foi respondida.
Yamakaja
Você pode apenas usar o nome do PC se eles fazem parte do mesmo grupo de trabalho?
jiggunjer
@jiggunjer eu realmente não sei. Eu não sou tão familiarizado com o Windows
Yamakaja
2

Quero atualizar a ótima resposta acima:

Você pode procurar no seu roteador e verificar se ele possui suporte manual à entrada de DNS.

Nesse caso, você pode adicionar seu 192.168.1.22endereço local como printer.home. Caso contrário, você estará limitado à edição de arquivos de hosts locais ou à sua própria configuração do servidor DNS.

Valentin
fonte