Ubuntu 12.10
Я объясню первую проблему. Иногда, когда я загружаю веб-страницу, она никогда не завершает загрузку и говорит, что не может добраться до сервера или чего-то в этом роде. Когда я пингую этот веб-сайт, терминал говорит, что не может разрешить имя хоста. Тогда я попробовал DNS-серверы Google, но мне не повезло. Это странно, потому что у меня никогда не было этой проблемы в Windows 7. Я использовал
cat /etc/resolv.conf
, и он придумал это:
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.1.1
search hsd1.or.comcast.net
Почему он использовал 127.0.1.1? Означает ли это, что он пытается разрешить адреса локально? Когда я проверяю связь с сервером поиска comcast, я получаю ошибку тайм-аута.
Возможно, вы захотите щелкнуть правой кнопкой мыши апплет менеджера сети, отредактировать соединения и добавить еще один DNS. Это должно «придерживаться»
/etc/resolv.conf (который на самом деле является символической ссылкой на /run/resolvconf/resolv.conf) записывается утилитой resolvconf на основе информации, поступающей из различных возможных источников.
127.0.1.1 - это IP-адрес обратной связи, который прослушивает контролируемый NetworkManager экземпляр dnsmasq. Dnsmasq работает локально и принимает DNS-запросы на 127.0.1.1 и перенаправляет эти запросы на внешний сервер имен, адрес которого предоставляется NetworkManager. Эта схема не всегда работает хорошо, и если у вас есть какие-либо проблемы с ней (как у вас), то рекомендуется отключить dnsmasq, управляемый NetworkManager. Чтобы отключить его, отредактируйте /etc/NetworkManager/NetworkManager.conf
sudo gedit /etc/NetworkManager/NetworkManager.conf
и закомментируйте строку
dns=dnsmasq
так, чтобы это выглядело следующим образом.
#dns=dnsmasq
Затем перезапустите сетевой менеджер. Используемая вами команда зависит от вашей версии Ubuntu:
sudo service network-manager restart # For newer systems using Systemd
sudo restart network-manager # For older systems using Upstart
После этого у вас должна быть строка nameserver
в resolv.conf с IP-адресом без обратной связи. Если это не так, попробуйте следующую команду.
sudo dpkg-reconfigure resolvconf
Если у вас все еще нет строки nameserver
в resolv.conf с IP-адресом без обратной связи, или если у вас все еще нет службы DNS, попробуйте перезагрузиться.
Если у вас все еще нет хорошей службы DNS, тогда начните исследовать сервер имен по внешнему IP-адресу (1.2.3.4 в примере ниже). Правильно ли разрешаются доменные имена при обращении с помощью утилит host
или dig
?
host www.ford.com 1.2.3.4
dig @1.2.3.4 www.gm.com
Работают ли серверы имен Google?
host www.ford.com 8.8.8.8
dig @8.8.4.4 www.gm.com
Если вы обнаружите, что ваш внешний сервер имен не работает должным образом, тогда вам следует настроить ваше соединение на использование сервера имен с хорошим поведением, такого как Google. Для этого щелкните правой кнопкой мыши индикатор сети и перейдите в «Редактировать соединения | | Редактировать ... | Настройки IPv4. Предполагая, что текущим методом является Automatic (DHCP)
, установите для метода значение Automatic (DHCP) addresses only
и заполните правильные адреса серверов имен в поле, озаглавленном Additional DNS servers
.