Проблема разрешения многих веб-страниц

38

В настоящее время я использую Ubuntu 12.04 и использую Chrome / Firefox вместе с OpenDNS (пробовал Google Public DNS, а также DNS моего провайдера).

Внезапно многие веб-сайты, которые я часто посещаю, больше не загружаются. Некоторые из них - imgur, yahoo, fed-sudoku , майкрософт и аддоны на странице Firefox. Я уверен, что есть много других, которые не будут загружаться.

У меня Windows 7 в режиме двойной загрузки, и нет никаких проблем с открытием этих страниц в Windows.

Краткая история

Две недели назад я установил Ubuntu 12.10. Я столкнулся с этой проблемой сразу. Я подумал, что что-то пошло не так с установкой, поэтому я удалил Ubuntu 12.10 и вместо этого установил Lubuntu 12.10, но проблема осталась. Итак, я попытался открыть эти веб-страницы в Live Environments (Ubuntu 12.10, Lubuntu 12.10 и Ubuntu 12.04.1) с USB. Проблема была там для Ubuntu 12.10 и Lubuntu 12.10. Однако я смог получить доступ к этим веб-страницам из Ubuntu 12.04.1. Итак, я установил 12.04.1 на свой жесткий диск. Все 12.04 было хорошо до вчерашнего дня; но вдруг эти сайты больше не загружаются. Windows 7 в Dual-Boot работает без нареканий.

Обновления

(1) В ответ на ответ Чжана на проверку basic terminal commands- я использовал для проверки этих команд и OpenDNS, и GooglePublic DNS (перезапустил мой компьютер между ними). Это выходные данные терминала при использовании OpenDNS и при использовании GooglePublicDNS .

(2) Это результат ifconfig- Pastebin Link .

(3) После этого я попытался использовать, wgetчтобы проверить, была ли проблема с браузером. Однако это не сработало для веб-страниц, которые не загружаются в моем браузере. Это ссылка Pastebin для Google (работает) и Yahoo (не работает).

(4) Затем следуйте инструкциям, перечисленным в noobslab для disable IPV6. Кроме того, перезагрузил мой компьютер. Однако это тоже не помогло.

(5) Затем я отредактировал свое проводное соединение через Network-Manager на ignore IPV6. После этого я попытался открыть Yahoo в браузере - он загрузился с первого раза. Однако, когда я попробовал снова, он не загрузился. Другие проблемные сайты вообще не загружались.

(6) Снова попробовал wget. Однако на этот раз он передал аргумент -4; то есть; wget -4 www.yahoo.com, Но еще раз, не получил никакого ответа.

(7) Затем попытался возиться с MTU. Перейдя по этой ссылке, вы можете проверить, какой максимум я могу установить. Для меня максимально возможное было 10324. Также пробовал другие значения как 1500, 1492, 1452 и 100. Но это тоже не помогло.

(8) Re-installed Ubuntu 12.04.1 , стирая предыдущую установку и как таковые все другие изменения. Также установлены все доступные обновления. За первые полчаса я смог загрузить все веб-страницы, включая те, которые имели проблемы. Но позже у меня возникла та же проблема, что и раньше - я не могу загружать такие страницы, как Yahoo, Imgur, Microsoft, Fed-Sudoku и т. Д.

(9) Вопрос от Лорана

Из WGET информации Pastebin в вопросе, проблема не DNS , как wgetи digкоманды достигают IP Yahoo. Тем не менее, я не знаю, почему ничего не загружается с wget! Вы установили брандмауэр? (вы можете проверить с sudo iptables -L). В ifconfigрезультате есть 2 интерфейса, ppp0 и eth0. Какой из них следует использовать для подключения к интернету? Не могли бы вы опубликовать результат routeкоманды? Obs: у eth0 нет адреса IPV4, поэтому я думаю, что он не настроен должным образом (как /etc/network/interfaces?)

Вот ссылка Pastebin для терминальных выходов sudo iptables -L; route и cat /etc/network/interfaces. Я не использую брандмауэр. Это чистая установка Ubuntu 12.04.1. ppp0 используется для подключения к Интернету (для этого требуется имя пользователя и пароль, которые были предоставлены моим провайдером), а eth0 - это Intel OnBoard LAN, которая подключает модем через порт Ethernet.

(10) Попытался добавить nameserver 208.67.222.222строку /etc/resolv.conf(так как я использую OpenDNS). Но это не помогло (даже после перезагрузки). Так что отменил изменения обратно. Это также часть ответа, предоставленного Laurent - это необходимо, если я хочу использовать OpenDNS.

Дополнительная информация

  • У меня есть модем ADSL (не маршрутизатор), подключенный к ПК через порт Ethernet. Для подключения к интернету у меня есть DSL Connection. Итак, я использую PPPOE для подключения.
  • Терминальный выход для системной информации sudo lshw -C network; cat /etc/resolv.conf; ifconfig -a- Pastebin Link
Адитья
источник

Ответы:

21

Часть 1 - PPPoE соединение не работает

Я бы попытался отключить Network Manager и настроить сеть вручную, как описано в справке Ubuntu ADSLPPPoE . Config with pppoeconfСначала используйте часть, которая в основном работает sudo pppoeconfи отвечает на вопросы. Поскольку вам нужно использовать другой DNS-сервер, чем у вашего интернет-провайдера, ответьте noна вопрос об использовании равноправного DNS-сервера.

Необязательно, если ваше интернет-соединение не перезапускается при загрузке: вы можете отредактировать nano /etc/rc.local, добавить следующие строки перед exitстрокой и перезагрузиться, чтобы проверить это.

killall pppd
ifconfig eth0 up
pon dsl-provider

Диспетчер сети не будет использоваться, когда вы используете ручную настройку, но вы можете отключить его, щелкнув по нему и отменив выбор опции enable networkenable wirelessесли она есть). Если отключение только не работает, вы также можете удалить его с sudo apt-get remove network-managerи после sudo apt-get autoremoveочистки автоматически установленных пакетов.

Часть 2 Изменение DNS-сервера ISP по умолчанию на openDNS

Я нашел здесь , что лучший способ использовать статический DNS с resolvconf, чтобы добавить сервер имен в /etc/network/interfacesили добавить его в /etc/resolvconf/resolv.conf.d/head. Поскольку ваши интерфейсы настраиваются автоматически (dhcp), вы должны использовать headфайл:

sudo nano /etc/resolvconf/resolv.conf.d/head

и добавьте в конце:

nameserver 208.67.222.222
nameserver 208.67.220.220

Ограничения

  • Вы не можете использовать Network-Manager для подключения. Тем не менее, это автоматически подключает вас к Интернету. В противном случае вы можете подключиться, запустив pon dsl-provider. Чтобы отключиться, нужно быть sudo, поэтому запуск sudo poffотключается.
  • [Эта проблема возникает только в Ubuntu 12.04.] Во время загрузки Ubuntu (с выключенным модемом или пока он пытается установить соединение с ISP) - Ubuntu ожидает загрузки в Network-Configurationтечение примерно 2 минут, а затем загружается без настройки сети. Чтобы выйти в интернет, вам нужно бежать pon dsl-provider.

Исправления для удаления предыдущих выполненных тестов (в других случаях не требуется):

Поскольку ранее мы удалили resolv.confсимволическую ссылку, нам нужно восстановить ее (не требуется при новой установке):

cd /etc
sudo rm resolv.conf
sudo ln -s ../run/resolvconf/resolv.conf /etc/resolv.conf

Если это работает, вы можете отменить изменения, /etc/dhcp/dhclient.confсделанные нами ранее.

лоран
источник
Привет!! Что ты сделал? Проблемные сайты загружаются с помощью этого метода sudo pppoeconf. Я просто надеюсь, что это не временно. Надеюсь, вы знаете проблему сейчас. Есть ли способ я могу использовать Network Manager вместо запуска команд pon dsl-providerи poff dsl-providerкаждый раз. Спасибо. Большое спасибо :) :) :)
Адитья
4
Этот ответ включает в себя совет удалить resolvconfпакет. Этот пакет является частью базовой системы в Ubuntu 12.04 и более поздних версиях. Существует очень мало законных причин для удаления resolvconf, и я не вижу здесь ни одной из этих причин. Если вы действительно хотите иметь статический файл /etc/resolv.conf, то лучше оставить resolvconf установленным и просто заменить символическую ссылку /etc/resolv.conf-> ../run/resolvconf/resolv.confстатическим файлом. Это лучше, потому что наличие resolvconf не позволяет другим пакетам перезаписывать /etc.resolv.conf.
JDThood
2
Да. Пакеты в главном репозитории Ubuntu, которые исторически записывались в /etc/resolv.conf напрямую, были изменены, так что они будут воздерживаться от записи в /etc/resolv.conf, если установлен пакет resolvconf. Таким образом, даже если вам нужен статический файл /etc/resolv.conf, хорошо иметь resolvconf, установленный, потому что он будет действовать как профилактическое средство. Программа resolvconf (/ sbin / resolvconf) никогда не касается непосредственно /etc/resolv.conf; он пишет в /run/resolvconf/resolv.conf; и пакет resolvconf делает одну-единственную попытку установить символическую ссылку в /etc/resolv.conf.
JDThood
1
@Aditya - ОК, отредактировано по твоим результатам. Чтобы ответить на ваш вопрос о rc.localмодификации, ее следует использовать только в том случае, если ваше интернет-соединение не перезапускается при загрузке (как это было не в 12.04, но выглядит нормально, что теперь в 12.10, поэтому его можно удалить). Загрузка модема в нерабочее время происходит из-за того, что вы используете другой DNS, который недоступен, пока соединение не установлено полностью. Возможно, если вы удалите dhclient.confмодификацию и resolv.confбудете использовать только одну, этого не произойдет. В любом случае, я предлагаю другой способ сделать это в новом редактировании.
Лоран
1
Рад, что это работает! Вы можете попытаться sudo poff -aувидеть, если это проблема с разрешением. Если это решает проблему, если ваш пользователь имеет права доступа с idи посмотреть , если вы находитесь в dipи dialoutгруппы. Если нет, вы можете добавить с sudo adduser your-user dialout. Чтобы проверить, что происходит, используйте tail /var/log/ppp.logпосле poff(или лучше tail -f /var/log/pppв одном терминале, а poffв другом), чтобы увидеть, почему он не работает.
Лоран
11
  1. Убедитесь, что ваш клиент может общаться с серверами openDNS

    sudo traceroute -n -w 2 -q 2 -m 30  208.67.222.222
    

    Если в последней строке выходных данных не указан 208.67.222.222 в качестве последнего перехода или имеются значительные тайм-ауты, может быть проблема с сетью, не позволяющая вам связаться с серверами openDNS.

  2. Убедитесь, что openDNS может разрешить выбранное имя хоста

    dig @208.67.222.222 www.difficult.com.      
    

    В командной строке выполните следующую команду, заменив www.difficult.com. с именем, с которым у вас возникли проблемы (поставьте точку в конце имени, чтобы избежать проблем с суффиксами доменов и списками поиска)

    Если вывод не показывает ответ для имени хоста, продолжайте:

  3. Убедитесь, что другой открытый распознаватель может разрешить выбранное имя хоста

    dig @8.8.8.8 www.difficult.com.
    dig @8.8.8.4 www.difficult.com.
    dig @4.2.2.1 www.difficult.com.
    dig @4.2.2.2 www.difficult.com.
    

    Если вы получите успешный результат, может быть проблема с openDNS

  4. Проверьте, верны ли авторитетные серверы имен

    intoDNS очень полезен.


ОБНОВЛЕНИЕ :
Этот ответ не может справиться с проблемой, только для устранения неполадок.
Если разрешение DNS работало нормально, перейдите к ответу Лорана.


Справка: общедоступная диагностика DNS

юань
источник
Из WGET информации Pastebin в вопросе, проблема не DNS , как wgetи digкоманды достигают IP Yahoo. Тем не менее, я не знаю, почему ничего не загружается с wget! Вы установили брандмауэр? (Вы можете проверить с sudo iptables -L)
Лоран
Правда, в ifconfigрезультатах есть 2 интерфейса, ppp0 и eth0. Какой из них следует использовать для подключения к интернету? Не могли бы вы опубликовать результат routeкоманды? Obs: у eth0 нет IPV4-адреса, так что я думаю, что он не настроен должным образом (как /etc/network/interfaces?)
laurent
2
Привет Чжан, извините за беспорядок на Супер пользователя. Я положил награду за этот вопрос, чтобы он получил больше внимания. Ура!
slhck
1
@slhck: Спасибо за предоставление Bounty по этому вопросу. AskUbuntu и Ubuntu Community - это здорово ... Мне это нравится ... Ура !!!
Адитья
@ Адитья, у тебя есть файл /etc/ppp/resolv? Если это так, не могли бы вы посмотреть, написан ли там DNS вашего провайдера? и измените его на IP-адреса openDNS. Таким образом, вы можете изменить атрибут -i на/etc/resolv.conf
laurent
3

Добавить эту строку к вам /etc/resolv.conf:

nameserver 8.8.8.8
жасмин
источник
Я использую OpenDNS на данный момент. Вы уверены, что я должен добавить DNS-серверы Google?
Адитья
Раньше у меня была такая проблема, как у тебя. Просто добавьте dns (даже OpenDNS может работать) к вашему resolv.conf, как в моем ответе, и попробуйте.
Жасмин
2
ваш компьютер фактически будет использовать их все по порядку, поэтому добавление одного в конец может привести к тому, что все заработает, но если первые серверы имен все еще не работают, ваша система будет работать медленно.
ImaginaryRobots
Обратите внимание, что в Ubuntu 12.04 и более поздних версиях обычно не следует редактировать /etc/resolv.conf, поскольку он динамически обновляется resolvconf. Если вам действительно нужен статический /etc/resolv.confфайл, оставьте пакет resolvconf установленным и замените символическую ссылку в /etc/resolv.conf статическим файлом, содержащим (в соответствии с настоящим примером) nameserver 8.8.8.8.
Jdthood
3

Первоначальная проблема, возможно, могла быть решена следующим образом.

sudo apt-get install resolvconf
sudo dpkg-reconfigure resolvconf
jdthood
источник
Должно ли это решить эту проблему и на Live CD. Если да, я бы попробовал это на Ubuntu 12.10 Live CD ..
Aditya
Вероятно, это ничего не решит на оригинальном оригинальном Ubuntu 12.04 или 12.10 Live CD, поскольку известно, что resolvconf правильно установлен на этих компакт-дисках. Но многие производные Ubuntu сделали компакт-диски с ошибочными установками resolvconf. Такие ошибочные установки иногда можно отремонтировать, запустив sudo dpkg-reconfigure resolvconf.
JDThood
Первоначальная проблема возникла с установленным resolvconf (и на живых компакт-дисках) из-за конфигурации pppoe, а не DNS. Проблема с resolv.confперезаписью с OP ISP DNS вместо openDNS появилась при настройке ppp connection ( sudo pppoeconf), поэтому я подумал, что resolvconf переписывает его (но, как мы могли видеть позже, это было не так!). В любом случае, проблема очень странная, так как некоторые сайты были в порядке, а некоторые - нет, и во всех случаях разрешение DNS работало (и остается). Единственная проблема сейчас заключается в том, что ОП хочет использовать другой DNS-сервер.
Лоран
Выполнение sudo dpkg-reconfigure resolvconfи следование инструкциям / инструкциям решило мою проблему! Это все, что нужно!
Апельсин
3

Может быть, вы можете попробовать отключить dnsmasq:

sudo vim /etc/NetworkManager/NetworkManager.conf

Положить #передdns=dnsmasq

Затем:

sudo restart network-manager

У меня проблема с разрешением некоторых сайтов после установки 12.04 и 12.10. После того как я отключил dnsmasqвсе работало нормально.

Если это поможет, вы можете установить полную службу dnsmasq и включить вашего любимого провайдера DNS /etc/resolvconf/resolv.conf.d/tail.

snowhawkyrf
источник
Я хотел бы попробовать это. Тем не менее, мой сетевой менеджер показывает мою локальную сеть как Device not managed. Следовательно, он также не показывает DSL-соединение, которое я только что создал. Посмотрите на это изображение .
Адитья
NetworkManager не управляет интерфейсом, потому что он настроен вручную в /etc/network/interfacesрезультате работы pppoeconf. Проблема заключалась в том, что автоматическое соединение, выполненное NetworkManager, не работало, но вы можете попробовать его сейчас (поскольку вы знаете, как восстановить, если оно перестает работать). Просто закомментируйте строки , добавленные pppoeconfв /etc/network/interfacesи изменения managed=false to =trueв /etc/NetworkManager/NetworkManager.conf.Теперь , что вы знаете , где это проблема, пожалуйста , отчет , если он не работает автоматически , и мы можем попытаться решить с помощью диспетчера сети.
Лоран
@laurent и @snowhawkyrf: я попробовал. Тем не менее, это не работает для меня. Использование, pppoeconfкажется, единственная возможность решить проблему. В любом случае, спасибо за ваш вклад.
Адитья
0

Очевидно, проблема в том, как Ubuntu работает с DSL-соединениями. Мне не удалось настроить DSL-соединение, как предложили эксперты.

В качестве обходного пути я использую TOR, поскольку есть только несколько веб-сайтов, на которые он влияет.

maisun
источник
0

Та же проблема возникла здесь (ASUS EeePC 1015BX - Ubuntu 12.10 - система AMD C-60). G Отредактируйте /etc/resolv.confфайл ( sudo -H gedit /etc/resolv.conf) и замените nameserver 127.0.1.1строку следующим

nameserver 208.67.222.222
nameserver 208.67.220.220

решил проблемы.

Вы можете сделать это постоянным, используя эти процедуры.

Бродить сильва
источник
0

Ну, я просто пишу эту команду всякий раз, когда это перестает работать, я все еще считаю, что это ошибка, или, возможно, я делаю что-то не так с моим компьютером

service NetworkManager restart

Он должен начать работать (если есть выход в интернет). Но если это не сработает, попробуйте обновить записи DNS, а затем снова выполните приведенную выше команду. Это должно работать.

Луч дракона
источник