Мне просто было любопытно узнать, какой DNS-сервер использовал мой телефон. Итак, я запустил эмулятор терминала и ввел:
$ cat /etc/resolv.conf
nameserver 8.8.8.8
nameserver 8.8.4.4
Как видите, мой телефон использует 8.8.8.8 и 8.8.4.4 в качестве DNS-серверов ( публичные DNS-серверы Google ).
Дома (Wi-Fi) мой маршрутизатор настроен на предоставление серверов OpenDNS через DHCP. Но на моем телефоне cat /etc/resolv.conf
возвращает тот же результат. То же самое с 3G. И даже если я отключу и Wi-Fi, и 3G, а затем перезагрузлю телефон, он все равно будет использовать общедоступные DNS-серверы Google.
Я не помню, чтобы изменил resolv.conf
или установил какое-либо приложение, чтобы изменить его.
Мой телефон — HTC Desire с CyanogenMod 7.2.0.1 (Android 2.3.7).
Может кто-нибудь объяснить мне, почему мой телефон использует Google Public DNS? Это обычная конфигурация для любых устройств Android или CyanogenMod ROM?
По словам Стива Кондика , это по сути старый код, оставшийся от старых версий CyanogenMod:
Это было только здесь для приложений, которые были статически связаны с uclibc в старых версиях CM. Скорее всего, его можно просто удалить.
Однако он также отмечает :
Кроме того, этот файл НЕ записывается при подключении к сети, так как /system доступен только для чтения. Фактические DNS-серверы считываются из системных свойств.
Я также только что проверил, что серверы, предоставленные DHCP, действительно используются, поэтому эта проблема недействительна, если кто-то не докажет обратное.
Таким образом, значения на /etc/resolv.conf
самом деле не отражают ваши настройки DNS. Вместо этого вы можете использовать getprop
для поиска значений DNS. Вы можете сократить его довольно хорошо, если вы выберете вывод следующим образом:
getprop | grep dns
Также стоит отметить: /etc/resolv.conf
файл, похоже, был полностью удален в более поздних версиях CyanogenMod. У меня его вообще нет на CM10, но getprop
он правильно показывает мои настройки DNS.
Морган Курбе
getprop | grep dns
ничего не возвращает.getprop | grep -E '([0-9]{1,3}\.){3}[0-9]{1,3}'
(поиск адреса IPv4) не возвращает соответствующий результат. Возвращаемые свойства :ro.baseband
,ro.build.description
иro.modversion
.gsm.version.baseband
Есть идеи?эльдарератис
more
или что-то подобное, так как это может быть долго)Морган Курбе
[dhcp.eth0.dns1]: []
,[dhcp.eth0.dns2]: []
,[dhcp.eth0.dns3]: []
,[dhcp.eth0.dns4]: []
,[net.dns1]: [192.168.10.110]
,[net.dns2]: []
,[net.rmnet0.dns1]: [192.168.10.110]
,[net.rmnet0.dns2]: [0.0.0.0]
,[net.dns1.3837]: []
. Возможно, мое подключение к Интернету все еще было отключено, когда я запускал команду. Вы знаете, какой из них используется? Вы рекомендуете приложение или метод, чтобы изменить его?эльдарератис
setprop
, но он не будет сохраняться при перезагрузке/отключении. Например.setprop net.rmnet0.dns1 <your DNS IP>
должно измениться значениеnet.rmnet0.dns1
свойства.эльдарератис
net.rmnet0.dns1
в вашем случае), хотя он может наследовать это значение от более общегоnet.dns1
свойства.Рюук
эльдарератис
setprop
может быть временным решением, если вы дадите ему пустые значения, но вам придется запускать его при каждой загрузке (и я не уверен, что это действительно сработает).Рюук