Byłem ciekawy, jakiego serwera DNS używał mój telefon. Uruchomiłem emulator terminala i wpisałem:
$ cat /etc/resolv.conf
nameserver 8.8.8.8
nameserver 8.8.4.4
Jak widać, mój telefon używa wersji 8.8.8.8 i 8.8.4.4 jako serwerów DNS ( publicznych serwerów DNS Google ).
W domu (Wi-Fi) mój router jest skonfigurowany do udostępniania serwerów OpenDNS przez DHCP. Ale w moim telefonie cat /etc/resolv.conf
zwraca to samo wyjście. To samo z 3G. I nawet jeśli wyłączę zarówno Wi-Fi, jak i 3G, a następnie ponownie uruchomię telefon, nadal korzysta z publicznych serwerów DNS Google.
Nie pamiętam, że zmieniłem resolv.conf
lub zainstalowałem jakąkolwiek aplikację, aby to zmienić.
Mój telefon to HTC Desire z CyanogenMod 7.2.0.1 (Android 2.3.7).
Czy ktoś może mi wyjaśnić, dlaczego mój telefon korzysta z Google Public DNS? Czy jest to powszechna konfiguracja dla urządzeń z Androidem lub CyanogenMod ROM?
źródło
getprop | grep dns
nic nie zwraca.getprop | grep -E '([0-9]{1,3}\.){3}[0-9]{1,3}'
(szukanie adresu IPv4) nie zwraca odpowiedniego wyniku. Zwracany właściwości sąro.baseband
,ro.build.description
,ro.modversion
igsm.version.baseband
. Dowolny pomysł?more
setprop
ale nie będzie się utrzymywać podczas ponownego uruchamiania / rozłączania. Na przykład.setprop net.rmnet0.dns1 <your DNS IP>
powinien zmienić wartośćnet.rmnet0.dns1
właściwości.net.rmnet0.dns1
w twoim przypadku), chociaż może on dziedziczyć tę wartość z bardziej ogólnejnet.dns1
właściwości.setprop
może być rozwiązaniem tymczasowym, jeśli podasz mu puste wartości, ale będziesz musiał uruchamiać go przy każdym rozruchu (i nie jestem pewien, czy to faktycznie zadziała).