Perché il mio telefono utilizza il DNS pubblico di Google?


10

Ero solo curioso di sapere quale server DNS utilizzava il mio telefono. Quindi ho lanciato un emulatore di terminale e ho inserito:

$ cat /etc/resolv.conf
nameserver 8.8.8.8
nameserver 8.8.4.4

Come puoi vedere, il mio telefono utilizza 8.8.8.8 e 8.8.4.4 come server DNS ( server DNS pubblici di Google ).

A casa (Wifi), il mio router è configurato per fornire i server OpenDNS tramite DHCP. Ma, sul mio telefono, cat /etc/resolv.confrestituisce lo stesso output. Stessa cosa con 3G. E, anche se disabilito sia Wifi che 3G, e quindi riavvio il telefono, utilizza comunque i server DNS pubblici di Google.

Non ricordo di aver modificato resolv.confo installato alcuna applicazione per cambiarlo.

Il mio telefono è un HTC Desire con CyanogenMod 7.2.0.1 (Android 2.3.7).

Qualcuno può spiegarmi perché il mio telefono utilizza Google Public DNS? È una configurazione comune per qualsiasi dispositivo Android o CyanogenMod ROM?

Risposte:


11

Secondo Steve Kondik , questo è essenzialmente un vecchio codice rimasto dalle versioni precedenti di CyanogenMod:

Questo era solo qui per le app che erano staticamente collegate a uclibc nelle vecchie versioni CM. Probabilmente può essere rimosso.

Tuttavia, continua anche a notare :

Inoltre, questo file NON viene scritto quando ci si connette a una rete come / system è di sola lettura. I server DNS effettivi vengono letti dalle proprietà di sistema.

Ho anche appena verificato che i server forniti da DHCP vengono effettivamente utilizzati, quindi questo problema non è valido a meno che qualcuno non dimostri diversamente.

Quindi i valori in /etc/resolv.confrealtà non riflettono le tue impostazioni DNS. Quello che puoi fare invece è usare getpropper trovare i tuoi valori DNS. Puoi abbatterlo piuttosto bene se grep l'output in questo modo:

getprop | grep dns

Vale anche la pena notare: il /etc/resolv.conffile sembra essere stato rimosso completamente nelle versioni successive di CyanogenMod. Non ne ho affatto uno su CM10, ma getpropmostra correttamente le mie impostazioni DNS.


Ottima risposta, grazie. Tuttavia, getprop | grep dnsnon restituisce nulla. getprop | grep -E '([0-9]{1,3}\.){3}[0-9]{1,3}'(cercando l'indirizzo IPv4) non restituisce risultati pertinenti. Proprietà restituite sono ro.baseband, ro.build.description, ro.modversione gsm.version.baseband. Qualche idea?
Morgan Courbet,

@Morgan: suppongo che potrebbe esserci una sorta di differenza tra CM7 (che stai correndo) e CM10 (cosa ho testato). Cosa succede se non si esegue il grep dell'output? Vedi qualcosa di rilevante? (potrebbe voler more
convogliarlo

1
@Morgan: non ho a portata di mano un dispositivo Gingerbread da testare, ma ci dovrebbe essere un modo per farlo nelle impostazioni wireless standard se si configura un IP statico (non credo che si possa fare in questo modo se si utilizza DHCP, purtroppo). Su JB premo a lungo la rete a cui sono connesso e seleziono "Modifica" per accedervi. Tuttavia, potrebbe trovarsi nella sezione "Impostazioni avanzate" (pulsante menu quando nell'elenco delle reti wifi). È inoltre possibile utilizzare, setpropma non persisterà tra riavvi / disconnessioni. Per esempio. setprop net.rmnet0.dns1 <your DNS IP>dovrebbe cambiare il valore della net.rmnet0.dns1proprietà.
eldarerathis,

1
E penso che quello più specifico sarebbe usato dall'adattatore ( net.rmnet0.dns1nel tuo caso), anche se potrebbe ereditare quel valore dalla net.dns1proprietà più generica .
eldarerathis,

1
@Rhyuk: non lo so. setproppotrebbe essere una soluzione temporanea se gli fornissi valori vuoti, ma dovresti eseguirlo ad ogni avvio (e non sono sicuro che funzionerebbe davvero).
eldarerathis,
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.