Come risolvere il nome di dominio locale?


21

Il mio router Belkin ha un'opzione per impostare un nome di dominio locale, che, sospetto, mi consente di indirizzare gli host all'interno della mia rete usando questo dominio. Per impostazione predefinita, questo è impostato su "Belkin".

È possibile chiamare host all'interno della mia rete in questo modo, ad es. ping foobar.belkinAnziché ping 192.168.2.4?

Il fatto è che la pagina interna dei miei router mostra tutti i nomi host impostati (quindi dhclientsembra funzionare) e il router stesso è raggiungibile come router.belkin, ma nessun altro host lo è.

Il mio problema qui è che il router conosce il nome di ciascun host, ma gli host non conoscono il nome di ciascun altro. Come posso ripararlo?

Nota: Nmap ha mostrato che la porta udp / 53 per DNS è aperta sul mio router, ma non riesco a trovare alcun modo per configurarlo sull'interfaccia Web.

Aggiungi: // È un "Belkin F7D3302 v1"


Bene, puoi eseguire il ping dei client locali tramite IP?
M.Bennett,

Sì, senza problemi
MechMK1

Anche se riesco a raggiungere il mio FRITZ! Box utilizzando http://fritz.box, accedo ad altre macchine sulla sua rete utilizzando .localanziché .box. In precedenza, con un altro modem / router, lo era .lan.
Arjan,

Penso che siamo tutti riusciti a rispondere a questa domanda senza sapere realmente quale prodotto Belkin viene utilizzato. Quale modello di router stai usando?
Qwilson,

Risposte:


11

In generale il router non agirà come un server DNS ma spesso fungerà da proxy DNS. Cioè, nel DHCP forniranno il proprio IP come server DNS e poi si gireranno e colpiranno i veri server DNS. Se lo fa, penso che potresti risolvere quei nomi locali, .belkin.

Controllare ipconfig / all e vedere se il gateway predefinito e il server DHCP hanno lo stesso IP. In caso contrario, inserisci nslookup, quindi inserisci "server ROUTER_IP" al prompt e prova a cercare su google.com. Se funziona, probabilmente c'è un'impostazione nel router per avere il proprio IP come server DNS che non è controllato.


14

Se le macchine sulla tua LAN eseguono un sistema operativo relativamente moderno , puoi accedervi aggiungendo ".local" al loro nome host, in questo modo:

ping MACHINE_NAME.local

Per ottenere il nome da un determinato IP, utilizzare

avahi-resolve-address MACHINE_IP

Per vedere tutti i nomi dei computer e gli IP connessi sulla rete locale, utilizzare qualcosa come questo 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

Certo, questo è quello che faccio con il mio router a casa.

Il tuo router dovrebbe essere in grado di farlo fintanto che hai abilitato le sue capacità di servire DNS in modo che abbia elaborato le richieste DNS per la tua LAN per quel dominio (inoltrerà le richieste per altri domini ai tuoi soliti server DNS in modo tale che il tuo web la navigazione non è interrotta sui client).

Devi fare in modo che ciascun client utilizzi il router per le sue ricerche DNS, che probabilmente usciranno dalla scatola supponendo che tu stia utilizzando anche DHCP.


Il mio router è un server DHCP, ma non sono sicuro che sia in grado di fungere da server DNS. Almeno, non ho trovato questa opzione
MechMK1

sarei sorpreso se non fosse possibile, a dire il vero. Sto usando un router ASUS ma con il firmware ddwrt su di esso. Abbastanza sicuro che potrebbe farlo fuori dagli schemi però.
Sirex,


@Sirex Penso che la differenza chiave qui sia che il router ASUS utilizza DDWRT per il suo firmware. Questo software è ben noto, come OpenWRT, per fornire grandi funzionalità come ci si aspetterebbe da un router
b01

1

La risposta breve è (per la maggior parte) no. Il tuo router (nella maggior parte dei casi) non è un server DNS. Puoi tuttavia impostare voci statiche per tutti i tuoi dispositivi e quindi aggiungerle all'elenco degli host all'interno dei dispositivi indicati.

Belkin F7D3302 non supporta il servizio DNS.


Potresti benissimo avere ragione, ma tutti i modem / router di livello domestico che ho usato (come SpeedTouch, FRITZ! Box) sono venuti con un server DNS incorporato. (O almeno, potrei sempre usare nomi di computer piuttosto che qualche indirizzo IP.)
Arjan

Bene David sta usando un Belkin. Ha detto che non vede un posto dove configurare le impostazioni DNS all'interno del router. La mia risposta si basava sul presupposto (formato dalle informazioni fornite) che questo router non gestirà il DNS.
Qwilson,

Sì, funziona, ma questa è l'opzione più indesiderabile in quanto è molto difficile da mantenere. E se il router modifica uno qualsiasi degli IP si rompe.
b01,

1

Ho avuto lo stesso identico problema.

Il problema sembra essere che se si tenta di indirizzare un nome host locale, il router aggiunge automaticamente ".belkin" supponendo che belkin sia ciò che è stato impostato come nome di dominio locale. Cambiarlo in qualcos'altro non risolverà il problema e non puoi lasciarlo vuoto.

Come detto sopra xaccrocheur, la maggior parte dei sistemi operativi moderni accederà alla maggior parte delle cose aggiungendo .local Quindi ... Ho fatto una sorta di soluzione che funziona bene con la maggior parte delle mie macchine. Ho modificato l'impostazione del nome di dominio locale sul router in locale

Ora posso accedere alla maggior parte dei dispositivi solo con il nome host


0

Installa e configura il server DNS nella rete locale, registralo su tutti gli host, inserisci prima il server DNS interno nell'elenco dei server DNS sul router Belkin. Allora avrai quello che vuoi.


1
Vorrei dissentire rispettosamente con la tua risposta. Posizionare un server DNS nella rete sarebbe una soluzione, ma dato il fatto che la domanda di David è specifica per raggiungere il DNS attraverso il router, questa non è una risposta accettabile.
Qwilson,

@Qwilson Gorgeous. Dove, quindi, è necessario archiviare e localizzare i record DNS per il dispositivo locale?
STTR,

Per (la maggior parte) dispositivi locali, ci sarà un file host per i record interni e un server dedicato per i record esterni (ad es. 8.8.8.8).
Qwilson,

0

Anche se non suggerisco di farlo, ti darebbe il risultato desiderato (essere in grado di eseguire il ping dei nomi host locali senza impostare un server DNS separato)

  1. Sul tuo computer principale, seleziona C: \ Windows \ System32 \ drivers \ etc
  2. apri il file hosts usando il blocco note
  3. scorrere fino alla fine del file hosts
  4. aggiungi una nuova riga sotto l'ultima riga commentata nel file simile a questa

192.168.2.1 router.belkin

192.168.2.2 nome host

192.168.2.3 nomehost2

Salva il file hosts.

Ora prova a eseguire il ping del nome host e hostname2, dovresti vedere quanto segue

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:

Ancora una volta, non è così che lo farei. Opterei per installare un server DNS da solo, ma se non hai questa opzione è un'alternativa veloce e sporca.

Oh, non dimenticare se hai intenzione di farlo, aggiungi te stesso alle autorizzazioni di sicurezza sul file hosts in modo da poter scrivere nel file. Inoltre, non dimenticare di copiare questo file host su tutti gli altri computer della tua rete.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.