DD-WRT serve server DNS aggiuntivi anziché solo l'IP del router


9

Ho un router DD-WRT (usando DD-WRT v24SP2-MULTI (21/03/11) std) impostato con DNSMasq per risolvere determinati domini verso indirizzi interni e passare tutto il resto attraverso. Il router stesso è configurato per utilizzare i server DNS pubblici di Google per risolvere gli indirizzi.

La mia schermata di configurazione è simile alla seguente:

Schermata di configurazione DDWRT

Il mio problema è che quando un client DHCP si connette, ottengono il router più i due server DNS di Google come server DNS assegnati:

Server DNS assegnati da DHCP

Questo è un problema perché a volte i client wireless tentano di risolvere un dominio che dovrebbe puntare a un indirizzo IP interno e finiscono per ottenere un IP esterno perché, per qualsiasi motivo, la loro richiesta viene inviata 8.8.8.8invece che al router.

Non voglio che il router serva solo il suo IP come server DNS. È possibile?


1
Potrei sbagliarmi, ma poiché quella è la sezione di configurazione del server DHCP stai esplicitamente dicendo al tuo router di fornire quei server di Google come opzioni DNS per i client. Si desidera rimuovere quelli dall'elenco e quindi configurare il router per ottenere il proprio DNS da Google, forse la risposta di seguito è il modo corretto per farlo.
horatio,

Se rimuovo quelli, il router fornirà i server ottenuti dall'ISP tramite DHCP ..
0x6A75616E

Dici "per qualsiasi motivo" diverse volte nel tuo post e nei tuoi commenti. Questo è il motivo per cui 8.8.8.8 viene passato ai client. Perché te l'hai detto. Se non si desidera che venga segnalato, è necessario rimuoverlo. Se il tuo router è un server DNS, prova SOLO l'indirizzo del tuo router.
horatio

@horatio, non proprio .. Il mio punto è il motivo per cui il server DHCP fornisce tutti gli indirizzi DNS aggiuntivi. Se dnsmasq sul dispositivo e l'applicazione di determinate regole di risoluzione dei nomi, servire server DNS aggiuntivi (oltre al router stesso) vanifica tale scopo.
0x6A75616E

Quella sezione è un elenco di server DNS da distribuire ai client che richiedono informazioni DHCP.
horatio,

Risposte:


7

È buono che stai usando DNSMasq.

Puoi configurare ciò che desideri nella scheda Servizi (> Servizi) , nella casella DNSMasq> Opzioni DNSMasq aggiuntive , ma prima vorrai cancellare quei campi DNS statici. Campi DNS statici in "Impostazione> Impostazione di base"

Aggiungere quanto segue alla casella delle opzioni DNSMasq:

dhcp-option= option:dns-server, 192.168.10.10 # DHCP option 006

server = 8.8.8.8 # DNSMasq will use these servers for forwarding the DNS requests that it can't serve
server = 8.8.4.4

Questo sembra aver funzionato perfettamente per me stesso. Domanda molto stupida però. Quale parte di quella prima riga specifica l'opzione DHCP 006? Opzione: dns-server?
Residualfail

@Residualfail: Sì; Penso che sia possibile specificarlo anche numericamente, ma option:dns-servercorrisponde all'opzione DHCP 006.
palswim,

1
Sembra che avrei potuto parlare troppo presto. Non sembra che il DNS stia tornando al DNS di Google dopo che il mio DNS interno è stato chiuso. = (
Residualfail

4

Informazioni tratte dal sito ufficiale DD-WRT: http://www.dd-wrt.com/wiki/index.php/OpenDNS

Sembra che puoi impostare i server DNS rimanenti su IP non instradabili (nel mio caso 10.0.0.0e 10.0.0.1) e comprimerà i tuoi server DNS ISP con questi non instradabili. Finora per me sembra funzionare senza alcun ritardo in attesa sui server DNS inesistenti.


Non ci saranno ritardi, poiché gli indirizzi non instradabili verranno immediatamente eliminati dallo stack di rete. Crea una piccola quantità di sovraccarico ed è un trucco, ma non dovrebbero esserci problemi nel mondo reale.
Qualcuno il

3

Non sto usando DDWRT, quindi questa è mezza domanda / mezza risposta.

Il manuale DNSMasq come server DHCP dice nella sezione "Opzioni DNSMasq extra":

Ci sono alcune opzioni extra nell'interfaccia web per DNSMasq che puoi impostare inserendole in Opzioni DNSMasq aggiuntive nella scheda "Servizi".

Se si desidera passare attraverso i server DNS dal proprio ISP, è possibile utilizzare i seguenti parametri:

dhcp-option=6, x.x.x.x, y.y.y.y

dove xxxx = DNS1 yyyy = DNS2

Ciò sembra significare che il passaggio dei server ISP è facoltativo, pertanto l'individuazione e l'eliminazione della riga sopra dovrebbe disattivarla.


1
Vorrei impostare dhcp-option = 6.192.168.10.10 per passare quell'indirizzo IP come IP del server DNS ai client DHCP.
Thane

1
Grazie per il puntatore. L'ho provato sia su uDHCPd (che è il demone DNS che stavo usando su ddwrt) sia su DNSMasq (passato ad esso) ma senza risultati :(. Continua a servire i record DNS aggiuntivi per qualsiasi motivo.
0x6A75616E

In tal caso dovresti forse pubblicare la domanda sui forum DD-WRT .
Harry

2

Se non si desidera che i client raggiungano il DNS esterno, non inserire i loro indirizzi nella configurazione del server DHCP.

Suppongo che tu volessi aggiungere (eventualmente più velocemente) i server DNS di Google in una configurazione di client DHCP esterno (dove DNSMASQ avrebbe preso le sue preferenze client DNS)

Extra:

Devi aggiungere server DNS (tutti) extra alla configurazione del collegamento WAN. DNSMasq li userà e nessuno dei client DHCP acquisirà dal provider.


grazie per il tuo contributo, ma non ha molto senso nel contesto della domanda. DNSMasq funziona inoltrando le richieste DNS dai client ai server DNS reali con la possibilità di modificare al volo alcune risposte. Se ho rimosso i server DNS dalla configurazione, il router torna semplicemente ai server assegnati dall'ISP. Stai rispondendo alla mia domanda dicendo "correggi la tua configurazione" ma la domanda stessa è "come riparare la configurazione".
0x6A75616E,

2

Un'opzione di configurazione tipica per DD-WRT è consentire al router di instradare il DNS al di fuori dei server DNS primari dell'ISP; che hai fatto con successo; tuttavia, poiché le richieste vengono generate dal computer CLIENT, connettendo TOO al router, l'ordine di preferenza viene sempre assegnato al DNS configurato sul computer client e quindi al router.

Quello che stai descrivendo sta accadendo è che il client si sta associando al tuo router, il che è corretto, ma il loro DNS mostra il tuo router IP + 2 altre impostazioni DNS. Controllare il computer client e accertarsi che le impostazioni IPV4 siano impostate per estrarre dinamicamente la configurazione del server DNS dalla connessione e non configurarla manualmente:

Configurazione del client

Quindi, assicurati di aver configurato correttamente il tuo router DD-WRT:

Configura router

Nella configurazione sopra, hai anche alcuni problemi; hai impostato l'intervallo di indirizzi DHCP per iniziare 200e terminare alle 255; Ti consiglierei di cambiarlo per iniziare a 200 e finire a 254; lasciando disattivato l'indirizzo 255, dato che per le configurazioni normali *.*.*.255è un indirizzo di trasmissione e non un indirizzo IP normale da utilizzare per assegnare al client associato.

Ho evidenziato le impostazioni DNS locali perché hai impostato le tue 127.0.0.1; ciò significa che si sta eseguendo un server DNS locale sul router . In caso contrario, cambiarlo in 0.0.0.0o un indirizzo corretto in un server DNS locale sulla rete.

Noterai che quando il server e il client sono configurati in questo modo, apparirà solo l'indirizzo IP DNS del router; e tutte le richieste verranno instradate attraverso i server DNS associati al router.

Nota sul server DNS locale Se si desidera che il router associ un determinato indirizzo locale agli IP locali, è possibile aggiungerli alle opzioni di configurazione DNSMasq nella schermata DD-WRT appropriata oppure utilizzare un server DNS locale e inserire un indirizzo IP appropriato per quel server (di solito un server statico, nell'ambito della rete). In questo modo, l'ordine di risoluzione sarà prima il server locale, quindi i 2 esterni. Tuttavia, solo i client vedranno l'IP del router come server DNS.


grazie per la tua risposta !, Mi sono assicurato che tutti i client della rete non abbiano un hard code DNS. In effetti, in ogni caso 192.168.10.10 (il router stesso) ritorna come primo server DNS a colpire. Quello che succede è che alcuni computer hanno colpito casualmente i server DNS secondari che DHCP sta attualmente fornendo. Ho provato un milione di cose e sembra proprio che non ci sia modo di servirlo da solo. Potrei finire per eseguire alcune altre istanze di dnsmasq su una macchina diversa e usarlo come dns2 e dns3 .. un tale hack! lol. grazie ancora.
0x6A75616E

2

Ho avuto un problema simile dopo la morte del mio router e ho dovuto far funzionare un WRT160N con flash.

Ho una scatola che funziona come un server DNS locale su 192.168.2.30 nella mia rete. Fondamentalmente voglio che DHCP fornisca quell'indirizzo come server DNS; Non voglio che il DNS vada altrove.

Sto usando "Firmware: DD-WRT v24-sp2 (19/12/10) mini"

Non sembra importare quale combinazione di impostazioni DNSMasq, impostazioni DHCP, DNS locale o qualunque cosa io usi. Se il server DNS 2 e il server DNS 3 sono vuoti o corrispondono al server DNS 1, DD-WRT insiste nel distribuire i server DNS di Comcast per quegli spot. Non lo voglio perché ho 192.168.2.30 inoltro a OpenDNS per query non locali.

Lo scrivo come un bug in questa versione piuttosto vecchia (ormai) di DD-WRT e sto installando / configurando il mio server DHCP su 192.168.2.30 e disabilitando DHCP sul router.


1
in realtà non è una cattiva idea ... Potrei semplicemente impostare dhcp su un'altra scatola e smettere di rovistare con ddwrt.
0x6A75616E,

1
Questo problema esiste ancora nella mia build di febbraio 2016, sembra essere una funzionalità. Sto abbandonando il router e tornerò su un PC Linux per questo. Le persone che sviluppano software per router dovrebbero davvero comprendere meglio i problemi di privacy che derivano da questo comportamento inaspettato, non comune e irresponsabile della GUI. Se devo hackerare le cose da solo, non ha davvero senso usare un sistema relativamente complicato e limitato. E quando esegui DNS e DHCP già su un altro computer, cosa resta del router? Pacchetto spingendo?
Qualcuno il

1

Aggiunto qualche anno in ritardo perché mi sono imbattuto in questa ricerca di una risposta ... Ho aggiunto interfacce virtuali al mio pi-hole per gestire altri 2 indirizzi IP.

eth0 192.168.10.10
eth0.1 192.168.10.11
eth0.2 192.168.10.12

Questo mi ha permesso di popolare tutte e 3 le caselle con gli indirizzi locali e di distribuirle abbastanza che, anche se il router dd-wrt distribuisce 5, 3 local e 2 ISP upstream, le mie macchine non le colpiranno.


0

Comunica con un metodo meno confuso: se è la tua LAN e il tuo DNS, sono sicuro che ci sono alcuni indirizzi da risparmiare per avere il DNS in ascolto su tre IP.

Il guadagno derivante dall'avere indirizzi non instradabili dovrebbe essere irrilevante nella pratica, ma almeno non ti affidi a qualcosa che si rompe e alla risposta dei router. Non puoi mai essere sicuro che un giorno non cambierà.

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.