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


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 network(и enable 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

Должно ли это решить эту проблему и на 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.


Я хотел бы попробовать это. Тем не менее, мой сетевой менеджер показывает мою локальную сеть как 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, поскольку есть только несколько веб-сайтов, на которые он влияет.


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, а затем снова выполните приведенную выше команду. Это должно работать.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.