Como resolver o nome de domínio local?


21

Meu roteador Belkin tem uma opção para definir um nome de domínio local, o qual, suspeito, me permite endereçar hosts em minha própria rede usando esse domínio. Por padrão, isso está definido como "Belkin".

É possível chamar hosts dentro da minha rede assim, por exemplo, em ping foobar.belkinvez de ping 192.168.2.4?

O problema é que a página interna dos meus roteadores mostra todos os nomes de host definidos (o que dhclientparece funcionar) e o próprio roteador é acessível como router.belkin, mas nenhum outro host é.

Meu problema aqui é que o roteador sabe o nome de cada host, mas os hosts não sabem o nome de cada um. Como posso consertar isso?

Nota: O Nmap mostrou que a porta udp / 53 para DNS está aberta no meu roteador, mas não consigo encontrar nenhuma maneira de configurá-lo na interface da Web.

Adicione: // É um "Belkin F7D3302 v1"


Bem, você pode executar ping nos clientes locais por IP?
M.Bennett

Sim, sem problemas
MechMK1

Embora eu possa acessar meu FRITZ! Box usando http://fritz.box, eu acesso outras máquinas na rede usando, em .localvez de .box. Anteriormente, com outro modem / roteador, era .lan.
Arjan 14/05

Acho que todos nos adiantamos em responder a essa pergunta sem saber realmente qual produto Belkin está sendo usado. Qual modelo de roteador você está usando?
Qwilson 15/05

Respostas:


11

Em geral, o roteador não atua como um servidor DNS, mas costuma atuar como um proxy DNS. Ou seja, no DHCP, eles fornecem seu próprio IP como servidor DNS e, em seguida, se viram e atingem os servidores DNS reais. Se estiver fazendo isso, acho que você poderia resolver esses nomes locais .belkin.

Verifique ipconfig / all e veja se o gateway padrão e o servidor DHCP têm o mesmo IP. Caso contrário, digite nslookup, digite "server ROUTER_IP" no prompt e tente fazer uma pesquisa no google.com.br. Se isso funcionar, provavelmente existe uma configuração no roteador para fornecer seu próprio IP como servidor DNS não verificado.


14

Se as máquinas da sua LAN executarem um sistema operacional relativamente moderno , você poderá acessá-las anexando ".local" ao nome do host, assim:

ping MACHINE_NAME.local

Para obter o nome de um determinado IP, use

avahi-resolve-address MACHINE_IP

Para ver todos os nomes de máquinas e IPs conectados na rede local, use algo como este comando BASH:

px-lan-scan () {
    LOCAL_MASK=$(ip -o -4 addr show | awk -F '[ /]+' '/global/ {print $4}' | cut -d. -f1,2,3)
    GATEWAY=$(route -n | \grep '^0.0.0.0' | awk '{print $2}')
    if [ $1 ] ; then range=$1 ; else range="10" ; fi

    for num in $(seq 1 ${range}) ; do
        IP=$LOCAL_MASK.$num
        if [[ $IP == $GATEWAY ]] ; then MACHINE="gateway" ; else MACHINE=$(avahi-resolve-address $IP 2>/dev/null | sed -e :a -e "s/$IP//g;s/\.[^>]*$//g;s/^[ \t]*//") ; fi
        ping -c 1 $IP>/dev/null
        if [ $? -eq 0 ] ; then
            echo -e "UP    $IP \t ($MACHINE)" ; else
            echo -e "DOWN  $IP"
        fi
    done
}

1

Claro, é isso que faço com o meu roteador em casa.

Seu roteador deve ser capaz de fazer isso, desde que você tenha as habilidades de serviço de DNS ativadas para processar solicitações de DNS para sua LAN para esse domínio (ele encaminhará solicitações de outros domínios para seus servidores DNS habituais, como sua web navegação não é interrompida nos clientes).

Você precisa fazer com que cada cliente use o roteador para suas pesquisas de DNS, o que provavelmente acontecerá desde que você também esteja usando DHCP.


Meu roteador é um servidor DHCP, mas não tenho certeza se ele pode servir como servidor DNS. Pelo menos, eu encontrei nenhum tal opção
MechMK1

Eu ficaria surpreso se não pudesse, para ser honesto. Estou usando um roteador asus, mas com o firmware ddwrt nele. Tenho certeza de que poderia fazê-lo fora da caixa.
Sirex

Eu pesquisei um pouco e não consegui encontrar nada para roteadores Belkin
MechMK1

@ Sirex Acho que a principal diferença aqui é que o roteador ASUS usa DDWRT para seu firmware. Esse software é bem conhecida, como é OpenWRT, para fornecer grandes recursos como seria de esperar de um roteador
b01

1

A resposta curta é (na maior parte) não. Seu roteador (na maioria dos casos) não é um servidor DNS. No entanto, você pode definir entradas estáticas para todos os seus dispositivos e adicioná-las à sua lista de hosts nos dispositivos fornecidos.

O Belkin F7D3302 não suporta a exibição de DNS.


Você pode estar certo, mas todos os roteadores / modem domésticos que usei (como SpeedTouch, FRITZ! Box) vieram com algum servidor DNS interno. (Ou pelo menos, eu poderia sempre usar nomes de computador em vez de algum endereço IP.)
Arjan

Bem, David está usando um Belkin. Ele mencionou que não vê um lugar para definir configurações de DNS no roteador. Minha resposta foi baseada na suposição (formada pelas informações fornecidas) de que este roteador não gerenciará o DNS.
Qwilson

Sim, isso funciona, mas é a opção mais indesejável, pois é muito difícil de manter. E se o roteador alterar qualquer um dos IPs, ele quebrará.
2201

1

Eu tive exatamente o mesmo problema.

O problema parece ser que, se você tentar endereçar um nome de host local, o roteador anexará automaticamente ".belkin", assumindo que belkin é o que você definiu como seu nome de domínio local. Mudá-lo para outra coisa não resolverá o problema e você não pode deixar em branco.

Como o xaccrocheur disse acima, a maioria dos sistemas operacionais modernos acessará a maioria das coisas anexando .local Então ... Eu fiz uma espécie de solução alternativa que funciona bem com a maioria das minhas máquinas. Alterei a configuração do nome de domínio local no roteador para local

Agora posso acessar a maioria dos dispositivos apenas pelo nome do host


0

Instale e configure o servidor DNS na rede local, registre-o em todos os hosts, insira o servidor DNS interno primeiro na lista de servidores DNS no roteador Belkin. Então você terá o que deseja.


11
Eu gostaria de discordar respeitosamente da sua resposta. A colocação de um servidor DNS na rede seria uma solução, mas, como a pergunta de David é específica para obter o DNS através do roteador, essa não é uma resposta aceitável.
Qwilson

@Qwilson Gorgeous. Onde, então, é necessário armazenar e localizar registros de DNS para o dispositivo local?
STTR

Para a maioria dos dispositivos locais, haverá um arquivo host para registros internos e um servidor dedicado para registros externos (por exemplo, 8.8.8.8).
Qwilson

0

Embora eu não sugira fazer isso, ele forneceria o resultado desejado (poder executar ping nos nomes de host locais sem configurar um servidor DNS separado)

  1. No seu computador principal, navegue até C: \ Windows \ System32 \ drivers \ etc
  2. abra o arquivo hosts usando o bloco de notas
  3. role até a parte inferior do arquivo de hosts
  4. adicione uma nova linha abaixo da última linha comentada no arquivo que se parece com isso

192.168.2.1 router.belkin

192.168.2.2 nome do host

192.168.2.3 hostname2

Salve o arquivo hosts.

Agora tente executar o ping do hostname e do hostname2, você verá o seguinte

ping hostname2

Pinging hostname2 [192.168.2.3] with 32 bytes of data:

ping hostname

Pinging hostname2 [192.168.2.2] with 32 bytes of data:

Novamente, não é assim que eu faria. Eu optaria por configurar um servidor DNS, mas se você não tiver essa opção, essa será uma alternativa rápida e suja.

Ah, não se esqueça, se você planeja fazer isso, adicione-se às permissões de segurança no arquivo hosts para poder gravar no arquivo. Além disso, não esqueça de copiar esse arquivo de hosts para todas as outras máquinas da sua rede.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.