Esecuzione di DNS in locale per la rete domestica


102

Ho una piccola rete domestica che è appena diventata più grande (nuova compagna di stanza, la mia compagna di stanza già in possesso di un computer portatile (in cima al suo computer), i miei amici che arrivano con i computer portatili, ecc.).

Mi piacerebbe girare un server DNS locale per le ricerche di mia roba rete locale ( fileserver.local, windowsTV.local, machineA.local, machineB.local, appletv.local). Avevo una linea di business con un IP statico ed eseguivo bind / name internamente. Tuttavia, ora ho un account normale.

I server DNS del mio ISP cambiano costantemente (per qualsiasi motivo, al mio ISP non piace mantenere lo stesso intervallo IP a lungo). Ho bisogno che il mio DNS locale sia aggiornato automaticamente per usare il DNS del mio ISP per il traffico esterno, ma essere in grado di mantenere un server DNS interno (aggiornare il file hosts è una seccatura con ogni nuova macchina in cima alla ricostruzione di macchine esistenti con win7 o Ubuntu 9.04).

Inoltre, i server DNS di My ISP spesso si arrestano in modo anomalo o non rispondono. Ci sono server DNS aperti che sono affidabili (non voglio riconfigurare ogni giorno) che potrei usare come il mio principale, quindi se quelli falliscono, quindi utilizzare il mio ISP?

AGGIORNAMENTO: Cerco anche ogni workstation per poter usare dhcp per connettersi, ma invece di ottenere i server DNS ISP, ottenere quello interno ....


2
Ci sono almeno 2 domande qui: configurazione DNS locale, server DNS pubblici. Pubblica 2 domande la prossima volta.
hyperslug,

17
Sono d'accordo, ma sto cercando una soluzione globale. ogni domanda da sola avrebbe una risposta corretta, ma potrebbe non essere a maglie, sto cercando una soluzione per entrambi i problemi che funzionano insieme.
Roy Rico,

@RoyRico Hai mai trovato una buona soluzione? Sto cercando di fare la stessa cosa con il router di Tomato e sto correndo contro i muri in ogni direzione.
Jeff,

Se hai una Linux box, ecco come impostare DNSMASq in dettaglio - sfxpt.wordpress.com/2011/02/06/…
xpt

I nuovi server DNS di Google sono 8.8.8.8 e 8.8.4.4 nel caso qualcuno si chiedesse ...
Tmanok,

Risposte:


16

Se vuoi che i domini falsi interni funzionino, non puoi configurare le tue workstation con nessun server DNS tranne il tuo. Una volta impostato BIND, può funzionare da solo e non è necessario il tuo ISP o altri server DNS non autorevoli.


9
Tuttavia, se possibile, un buon netizen inoltrerà alle cache DNS del proprio ISP. Il carico sui server DNS di root è orrendo. Soprattutto per piccoli siti come questo, perché non si ridimensionerebbe se ogni famiglia decidesse di andare direttamente. (Se sei preoccupato per la manomissione dell'ISP, usa DNSSEC).
sourcejedi

1
@sourcejedi, fraintendete cosa fa effettivamente un server DNS di cache ... sicuramente non batte i server root, ma li disturba solo una volta alla settimana.
milli,

7
C'è un motivo diverso per cui dovresti inoltrare ai tuoi server DNS ISP ... sembrerai loro un normale client. Se non lo fai e ti accorgono che hai un sistema che invia query DNS in tutto il mondo, presumeranno che tu stia eseguendo un server DNS e potrebbe semplicemente lanciarti una regola del firewall in faccia e farti venire il tubo. Farai fatica a capire cosa si è rotto e probabilmente perderai ore cercando di capire se / quando ciò accadrà.
milli,

1
Oltre al punto @ milli, il DNS del tuo ISP può anche sostituire la risoluzione di alcuni domini sui loro computer privati ​​con contenuti più veloci / memorizzati nella cache / senza limiti. L'uso del DNS pubblico può interrompere tali servizi o costare di più.
Walf,

85

Fondamentalmente è necessario eseguire il proprio server DHCP e DNS. Stai già eseguendo il tuo server DHCP se hai un router tipico che fornisce indirizzi IP privati.

Il server DHCP deve essere configurato per distribuire l'IP del router come indirizzo gateway e, ovviamente, l'indirizzo IP del server DNS come indirizzo del server DNS.

Il server DNS deve essere configurato per risolvere localmente un dominio di livello superiore non ufficiale, ad esempio .local, e quindi inoltrare qualsiasi altra richiesta a un altro DNS. In BIND devi aggiungere una forwarders { }sezione al tuo `/etc/bind/named.conf.options 'che contiene i server DNS pubblici che vuoi usare per risolvere indirizzi non locali. Come altri commenti suggeriscono, se non si desidera inoltrare ai server DNS del proprio ISP, è possibile utilizzare OpenDNS, i server DNS pubblici di Google o 4.2.2.1/4.2.2.2 (dimentico chi fa quelli).

Se stai utilizzando il tuo server DNS, hai bisogno di una casella che rimanga sempre attiva, poiché tutte le query DNS sulla tua rete domestica passeranno attraverso di essa. Questa casella richiede un IP fisso sulla sottorete domestica. Assicurati che non possa essere bulldozato dal DHCP e che la casella stessa non dovrebbe ricevere un IP tramite DHCP. Se il tuo DHCP è configurato per distribuire gli indirizzi da 192.168.1.1 a 192.168.1.100, ad esempio, dai al tuo server DNS l'IP 192.168.1.101. Nella solita situazione dei router domestici è sufficiente dire al router che il server DNS è 192.168.1.101 e riavviare.

Se riesci a ottenere un DNS locale in esecuzione sul tuo router a banda larga, ottimo, ma un server DNS potrebbe beneficiare di molta RAM per le query di memorizzazione nella cache, a seconda del software DNS che utilizzi. Sulla mia rete uso semplicemente BIND . Sembra che potresti avere una piccola esperienza con quello e per me funziona benissimo.


3
4.2.2.1/4.2.2.2/4.2.2.3 provengono dal livello 3.
Hengjie,

1
Risposta eccellente! Grazie per le informazioni complete e chiare. Proverò a configurarlo presto sulla mia rete locale.
Modulo

2
Successo! Questo approccio è valido. È particolarmente importante impostare un IP fisso al di fuori dell'intervallo indirizzabile / evitare DHCP per la casella DNS. Grazie!
Modulo

@Hengjie che cos'è Layer 3?
Jonathan,

Il livello 3 è un provider di data center e un provider di rete. Capita anche di fornire server DNS affidabili.
Hengjie,

15

Esistono server DNS aperti che sono affidabili

L'hai detto: OpenDNS .

208.67.222.222
208.67.220.220

3
Vorrei anche consultare aboutdebian.com/dns.htm per una buona panoramica dei diversi modi in cui è possibile configurare il proprio server DNS.
Kenneth Cochran,

1
+1 per OpenDNS. Lo uso sia a lavoro che a casa. Servizio fantastico.
DWilliams,

4
Fai attenzione che i server dei nomi OpenDNS siano bugiardi: riscrivono le risposte DNS, ti indirizzano a un servizio di annunci o censurano alcune destinazioni.
bortzmeyer,

1
@bortz, non li ho visti mentire al riguardo, ma reindirizzano alla loro pagina di destinazione + annunci in caso di URL non validi. La censura è opt-in ed è disattivata per impostazione predefinita.
hyperslug,

12
Anche i server DNS pubblici di Google a 8.8.8.8 e 8.8.4.4 sono abbastanza buoni.
LawrenceC,

6

Se stai utilizzando Windows - dovresti dare un'occhiata a Simple DNS Plus - è un server DNS completo che include anche un plug-in del server DHCP - e ha una GUI facile da usare.

[Nota: il prodotto è stato sviluppato dall'autore di questo post]


Uso Windows come una delle mie macchine, ma non è sempre attivo. La macchina Linux è di solito accesa.
Roy Rico,

Solo menzionare questa non è una soluzione gratuita. Sono disponibili licenze di prova e di istruzione di 14 giorni. Altrimenti
tirerai la

5

Unbound è piuttosto semplice, supporta file di configurazione in stile bind e abbastanza affidabile. Se il server sarà una casella di tipo "gateway" autonomo e desideri qualche ulteriore dettaglio, ti consigliamo di dare un'occhiata anche alla distro firewall / gateway chiamata districare.


4

Se hai una Linux box, allora vorresti impostare DNSMASq che ha i tuoi indirizzi locali e usarlo come server DNS di inoltro / cache per indirizzi esterni. Questo è spesso anche ciò che viene utilizzato sulle distribuzioni Linux per router domestici come openwrt / ddwrt / tomato.

In alternativa, sulla maggior parte delle reti Apple / Mac useresti Bonjour / Zeroconf su cui entrambi i computer Linux e Apple possono comunicare per la risoluzione DNS / servizio a livello di trasmissione.

Detto questo, su una rete puramente ibrida con tutti e tre i sistemi operativi in ​​esecuzione, avrai sicuramente bisogno di un server DNS locale con inoltro a OpenDNS, GoogleDNS o DNS ISP locale a seconda della posizione / delle esigenze.


2

4.2.2.1 e 4.2.2.2 sono ciò che uso

modifica: vale a dire per quanto riguarda i server pubblici. Facile da ricordare e non credo di averli visti fallire da quando li ho usati.


Ho già visto quelli prima. Chi gestisce quelli? Il pubblico può usarli? quanto sono affidabili?
Roy Rico,

Verizon. Sembra che a loro non importa. Molto.
hyperslug,

Sono server DNS aperti, gratuiti per uso pubblico. Sono veloci e affidabili.
Walter

3
Ho visto 4.2.2.2 fallire abbastanza per i nostri clienti (che richiedono un DNS affidabile per l'elaborazione delle carte di credito!) Che cambio sempre questi in DNS pubblico o OpenDNS di Google ogni volta che li vedo. Il passaggio dai server di Verizon risolve sempre immediatamente questo problema.
Stephen Jennings,

2

Qualsiasi router a banda larga offre servizi DNS e DHCP per la rete locale. Se desideri connessioni INcomming da Internet a macchine locali, devi disporre di un router che supporti anche DynDNS e Incomming PortForwarding.

Se ne scegli uno dall'elenco hardware supportato da DD-wrt, puoi inviarlo con quel firmware e supporterà qualsiasi funzione di cui potresti aver bisogno nella tua piccola rete.


4
Non credo che la maggior parte dei router a banda larga fornisca un servizio DNS, almeno non con il firmware fornito. La maggior parte fornisce semplicemente DHCP e lo utilizza per indicare ai sistemi di utilizzare i server DNS del proprio ISP. Ora, se si esegue il flashing su un firmware di terze parti come DD-WRT, OpenWRT o Tomato, possono fornire anche servizi DNS.
Afrazier,

1

Per eseguire un server DNS sulla tua LAN, dai un'occhiata a 'pdnsd' che è un nameserver per * nix.


1

Alcuni server DNS gratuiti che è possibile utilizzare per l'inoltro:

1.1.1.1 - Cloudflare
1.0.0.1 - Cloudflare
4.2.2.1 - Layer 3
4.2.2.2 - Layer 3
4.2.2.3 - Layer 3
8.8.8.8 - Google
8.8.4.4 - Google
208.67.222.222 - OpenDNS
208.67.220.220 - OpenDNS

0

Se scarichi il programma di benchmark DNS dal testo del link , eseguirà il benchmark di un elenco di server DNS pubblici e del tuo server DNS locale. Dopo aver eseguito questo programma, provare a inserire una copia dei server più veloci nelle impostazioni DNS sul router, quindi rinnovare la sessione DHCP ed eseguire nuovamente il test.

Se il tuo router lo consente, aggiungi sia il router sia uno dei server DNS esterni rapidi all'elenco dei server DNS che passa al client DHCP (ma scegline uno diverso da quello inserito per gli indirizzi del server DNS del router).


0

Ho avuto un problema simile. Ho acquistato un router compatibile OpenWRT e installato OpenWRT. Offre il binding IP statico insieme alla risoluzione dei nomi nel router, che mi ha permesso di dare nomi ai miei computer e dispositivi nella rete come desidero.


-1

Forse sto dicendo qualcosa di stupido. In questo caso aggiungerei semplicemente IP e nomi ai file hosts sui singoli computer.

192.168.0.120 tv.local

192.168.0.80 studiopc.local

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.