Problem beim Auflösen vieler Webseiten

38

Ich verwende derzeit Ubuntu 12.04 und Chrome / Firefox zusammen mit OpenDNS (habe sowohl Google Public DNS als auch DNS meines ISP ausprobiert).

Plötzlich werden viele Websites, die ich häufig besuche, nicht mehr geladen. Einige von ihnen sind Imgur, Yahoo, Fed-Sudoku , Microsoft und Addons Seite von Firefox. Ich bin mir sicher, dass es noch viele mehr gibt, die nicht geladen werden können.

Ich habe Windows 7 in Dual-Boot und es gibt keinerlei Probleme beim Öffnen dieser Seiten unter Windows.

Kurze Geschichte

Vor zwei Wochen habe ich Ubuntu 12.10 installiert. Ich war sofort mit diesem Problem konfrontiert. Ich dachte, dass bei der Installation etwas schief gelaufen sein muss, also entfernte ich Ubuntu 12.10 und installierte stattdessen Lubuntu 12.10, aber das Problem blieb bestehen. Also habe ich versucht, diese Webseiten in Live-Umgebungen (von Ubuntu 12.10, Lubuntu 12.10 und Ubuntu 12.04.1) über USB zu öffnen. Die Ausgabe war dort für Ubuntu 12.10 und Lubuntu 12.10. Ich konnte jedoch über Ubuntu 12.04.1 auf diese Webseiten zugreifen. Also habe ich 12.04.1 auf meiner Festplatte installiert. Alles am 12.04 war bis gestern in Ordnung; Aber plötzlich werden diese Websites nicht mehr geladen. Windows 7 in Dual-Boot funktioniert einwandfrei.

Aktualisierung

(1) Als Antwort auf Zhangs Antwort zum Überprüfen basic terminal commands- Ich habe sowohl OpenDNS als auch GooglePublic DNS zum Testen dieser Befehle verwendet (habe meinen PC dazwischen neu gestartet). Dies sind die Terminalausgaben bei Verwendung von OpenDNS und bei Verwendung von GooglePublicDNS .

(2) Dies ist das Ergebnis von ifconfig- Pastebin Link .

(3) Danach habe ich versucht zu wgetüberprüfen, ob das Problem mit dem Browser war. Es funktionierte jedoch nicht für Webseiten, die nicht in meinem Browser geladen werden. Dies ist der Pastebin-Link , der ihn für Google (funktioniert) und Yahoo (funktioniert nicht) anzeigt .

(4) Dann folgen Sie den Anweisungen von noobslab bis disable IPV6. Auch meinen PC neu gestartet. Es hat jedoch auch nicht geholfen.

(5) Dann habe ich meine Kabelverbindung über Network-Manager auf bearbeitet ignore IPV6. Danach habe ich versucht, Yahoo im Browser zu öffnen - es wurde beim ersten Mal geladen. Als ich es erneut versuchte, wurde es jedoch nicht geladen. Andere Problemwebsites wurden überhaupt nicht geladen.

(6) Nochmals versucht wget. Dieses Mal wurde das Argument jedoch -4an ihn weitergegeben. dh; wget -4 www.yahoo.com. Aber wieder keine Antwort bekommen.

(7) Dann versuchte ich herumzuspielen MTU. Folgen Sie diesem Link , um zu überprüfen, welches Maximum ich einstellen kann. Für mich war das Maximum 10324. Auch andere Werte wie 1500, 1492, 1452 und 100 ausprobiert. Aber das hat auch nicht geholfen.

(8) Re-installed Ubuntu 12.04.1 , löscht die vorherige Installation und damit alle anderen Änderungen. Installierte auch alle verfügbaren Updates. In der ersten halben Stunde konnte ich alle Webseiten laden - auch die, bei denen Probleme aufgetreten waren. Aber später habe ich das gleiche Problem wie früher - Seiten wie Yahoo, Imgur, Microsoft, Fed-Sudoku usw. können nicht geladen werden.

(9) Anfrage von laurent

Von wget Pastebin Informationen in der Frage, ist das Problem DNS nicht als die wgetund digBefehle erreichen Yahoos IP. Das heißt, ich weiß nicht, warum nichts mit wget heruntergeladen wird! Haben Sie eine Firewall eingerichtet? (Sie können mit überprüfen sudo iptables -L). In den ifconfigErgebnissen gibt es 2 Schnittstellen, ppp0 und eth0. Mit welchem ​​sollte eine Verbindung zum Internet hergestellt werden? Könnten Sie das Ergebnis des routeBefehls veröffentlichen? Obs: eth0 hat keine ipv4 adresse also ich denke es ist nicht richtig konfiguriert (wie ist das /etc/network/interfaces?)

Hier ist der Pastebin-Link für Terminalausgänge von sudo iptables -L; route und cat /etc/network/interfaces. Ich verwende keine Firewall. Es ist eine saubere Installation von Ubuntu 12.04.1. ppp0 wird verwendet, um eine Verbindung zum Internet herzustellen (dazu werden Benutzername und Kennwort benötigt, die von meinem ISP angegeben wurden), und eth0 ist das OnBoard-LAN von Intel, das das Modem über den Ethernet-Port verbindet.

(10) Es wurde versucht, eine nameserver 208.67.222.222Zeile anzufügen /etc/resolv.conf(da ich OpenDNS verwende). Aber das hat nicht geholfen (auch nach dem Neustart). Also die Änderungen wieder rückgängig gemacht. Dies ist auch ein Teil der Antwort von laurent - es ist erforderlich, wenn ich OpenDNS verwenden möchte.

Andere Information

  • Ich habe ein ADSL-Modem (kein Router) mit einem Ethernet-Port an den PC angeschlossen. Um mich mit dem Internet zu verbinden, habe ich einen DSL-Anschluss. Also verwende ich PPPOE, um eine Verbindung herzustellen.
  • Terminal-Ausgang für Systeminformationen sudo lshw -C network; cat /etc/resolv.conf; ifconfig -a- Pastebin Link
Aditya
quelle

Antworten:

21

Teil 1 - PPPoE-Verbindung funktioniert nicht

Ich würde versuchen, den Network Manager zu deaktivieren und das Netzwerk manuell zu konfigurieren, wie in der Ubuntu-Hilfe ADSLPPPoE beschrieben . Verwenden Sie zuerst den Config with pppoeconfTeil, der im Grunde läuft, sudo pppoeconfund beantworten Sie die Fragen. Beantworten Sie nodie Frage zur Verwendung des Peer-DNS-Servers, da Sie einen anderen DNS-Server als den Ihres Internetdienstanbieters verwenden müssen.

Optional, wenn Ihre Internetverbindung beim Booten nicht neu gestartet wird: Sie können nano /etc/rc.localdie folgenden Zeilen bearbeiten , vor der exitZeile einfügen und neu starten , um sie zu testen.

killall pppd
ifconfig eth0 up
pon dsl-provider

Der Netzwerkmanager wird nicht verwendet, wenn Sie die manuelle Konfiguration verwenden. Sie können ihn jedoch deaktivieren, indem Sie darauf klicken und die Option deaktivieren enable network(und enable wirelessfalls vorhanden). Wenn das Deaktivieren nur nicht funktioniert, können Sie es auch mit sudo apt-get remove network-managerund nach deinstallieren, sudo apt-get autoremoveum die automatisch installierten Pakete zu bereinigen.

Teil 2 Ändern des Standard-ISP-DNS-Servers in openDNS

Ich fand hier, dass der beste Weg, um ein statisches DNS mit zu verwenden, darin resolvconfbesteht, den Nameserver /etc/network/interfaceshinzuzufügen oder hinzuzufügen /etc/resolvconf/resolv.conf.d/head. Da Ihre Schnittstellen automatisch konfiguriert werden (dhcp), müssen Sie die headDatei verwenden:

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

und am Ende hinzufügen:

nameserver 208.67.222.222
nameserver 208.67.220.220

Einschränkungen

  • Sie können Network-Manager nicht zum Herstellen einer Verbindung verwenden. Dadurch werden Sie jedoch automatisch mit dem Internet verbunden. Andernfalls können Sie eine Verbindung herstellen, indem Sie ausführen pon dsl-provider. Um die Verbindung zu trennen, müssen Sie sudo sein, damit Sie die Verbindung sudo pofftrennen können.
  • [Dieses Problem tritt nur bei Ubuntu 12.04 auf.] Während des Bootens von Ubuntu (mit ausgeschaltetem Modem oder während weiterhin versucht wird, eine Verbindung zum ISP herzustellen) - Ubuntu wartet Network-Configurationca. 2 Minuten auf das Laden und bootet danach ohne Netzwerkkonfiguration. Um online zu gehen, muss man laufen pon dsl-provider.

Korrekturen zum Entfernen der zuvor durchgeführten Tests (in anderen Fällen nicht erforderlich):

Da wir den resolv.confSymlink zuvor gelöscht haben, müssen wir ihn neu erstellen (bei Neuinstallation nicht erforderlich):

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

Wenn dies funktioniert, können Sie die zuvor vorgenommenen Änderungen /etc/dhcp/dhclient.confrückgängig machen.

laurent
quelle
Hallo!! Was hast du gemacht? Die Problemwebsites werden mit dieser Methode geladen sudo pppoeconf. Ich hoffe nur, dass es nicht vorübergehend ist. Hoffentlich kennen Sie das Problem jetzt. Gibt es eine Möglichkeit, Network Manager verwenden können , anstatt die Befehle ausführen pon dsl-providerund poff dsl-providerjedes Mal. Dankeschön. Vielen Dank :) :) :)
Aditya
4
Diese Antwort enthält den Rat, das resolvconfPaket zu entfernen . Dieses Paket ist Teil des Basissystems in Ubuntu 12.04 und höher. Es gibt sehr wenige legitime Gründe, resolvconf zu entfernen, und ich sehe keinen dieser Gründe, die hier zutreffen. Wenn Sie wirklich eine statische /etc/resolv.conf-Datei haben möchten, ist es besser, resolvconf installiert zu lassen und einfach den symbolischen Link /etc/resolv.conf-> ../run/resolvconf/resolv.confdurch eine statische Datei zu ersetzen . Es ist besser, weil das Vorhandensein von resolvconf verhindert, dass andere Pakete /etc.resolv.conf überschreiben.
jdthood
2
Ja. Pakete im Ubuntu-Hauptrepository, die in der Vergangenheit direkt in /etc/resolv.conf geschrieben wurden, wurden so geändert, dass sie nicht in /etc/resolv.conf geschrieben werden, wenn das Paket resolvconf installiert ist. Selbst wenn Sie nur eine statische /etc/resolv.conf haben möchten, ist es gut, resolvconf installiert zu haben, da dies eine Art Prophylaxe darstellt. Das Programm resolvconf (/ sbin / resolvconf) berührt /etc/resolv.conf niemals direkt. es schreibt an /run/resolvconf/resolv.conf; und das resolvconf-Paket unternimmt einen einzigen Versuch, den Symlink unter /etc/resolv.conf einzurichten.
Jdthood
1
@Aditya - OK, bearbeitet gemäß Ihren Ergebnissen. Um Ihre Frage zu der rc.localÄnderung zu beantworten , sollte sie nur verwendet werden, wenn Ihre Internetverbindung beim Booten nicht neu gestartet wurde (da sie nicht in 12.04 war, sondern jetzt in 12.10 in Ordnung zu starten scheint, damit sie entfernt werden kann). Das Booten dauert lange, wenn Ihr Modem nicht betriebsbereit ist, da Sie ein anderes DNS verwenden, das nicht erreichbar ist, während die Verbindung nicht vollständig hergestellt ist. Möglicherweise passiert dies nicht, wenn Sie die dhclient.confÄnderung entfernen und nur die resolv.confeine verwenden. Wie auch immer, ich schlage einen anderen Weg vor, um dies in einer neuen Bearbeitung zu tun.
Laurent
1
Froh, dass es funktioniert! Sie können versuchen sudo poff -a, festzustellen, ob es sich um ein Berechtigungsproblem handelt. Wenn das Problem dadurch behoben wird, prüfen Sie, ob Ihr Benutzer über die richtigen Berechtigungen für verfügt, idund ob Sie Mitglied in dipund dialoutGruppen sind. Wenn nicht, können Sie mit hinzufügen sudo adduser your-user dialout. Um zu überprüfen, was gerade passiert, verwenden Sie tail /var/log/ppp.logafter poff(oder besser tail -f /var/log/pppin einem Terminal, während Sie poffin einem anderen Terminal arbeiten ), um festzustellen, warum es nicht funktioniert.
Laurent
11
  1. Stellen Sie sicher, dass Ihr Client mit den openDNS-Servern kommunizieren kann

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

    Wenn in der letzten Zeile der Ausgabe 208.67.222.222 nicht als letzter Hop aufgeführt ist oder wenn erhebliche Zeitüberschreitungen auftreten, liegt möglicherweise ein Netzwerkproblem vor, das Sie daran hindert, mit openDNS-Servern Kontakt aufzunehmen.

  2. Stellen Sie sicher, dass openDNS den ausgewählten Hostnamen auflösen kann

    dig @208.67.222.222 www.difficult.com.      
    

    Führen Sie an der Eingabeaufforderung den folgenden Befehl aus und ersetzen Sie ihn www.difficult.com. mit dem Namen, bei dessen Auflösung Probleme aufgetreten sind (An das Ende des Namens ein Punkt setzen, um Probleme mit Domain-Suffixen und Suchlisten zu vermeiden)

    Wenn die Ausgabe keine Antwort für den Hostnamen anzeigt, fahren Sie fort:

  3. Stellen Sie sicher, dass ein anderer Open Resolver den ausgewählten Hostnamen auflösen kann

    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.
    

    Wenn Sie ein erfolgreiches Ergebnis erhalten, liegt möglicherweise ein Problem mit openDNS vor

  4. Überprüfen Sie, ob die autorisierenden Nameserver korrekt sind

    intoDNS ist sehr hilfreich.


UPDATE :
Diese Antwort konnte das Problem nicht lösen, nur zur Fehlerbehebung.
Wenn die DNS-Auflösung einwandfrei funktioniert hat, lesen Sie die Antwort von laurent weiter.


Referenz: Problembehandlung bei öffentlichem DNS

Yuan
quelle
Von wget Pastebin Informationen in der Frage, ist das Problem DNS nicht als die wgetund digBefehle erreichen Yahoos IP. Das heißt, ich weiß nicht, warum nichts mit wget heruntergeladen wird! Haben Sie eine Firewall eingerichtet? (Sie können mit überprüfen sudo iptables -L)
laurent
ifconfigRichtig , in den Ergebnissen gibt es 2 Schnittstellen, ppp0 und eth0. Mit welchem ​​sollte eine Verbindung zum Internet hergestellt werden? Könnten Sie das Ergebnis des routeBefehls veröffentlichen? Obs: eth0 hat keine IPV4-Adresse, also denke ich, dass es nicht richtig konfiguriert ist (wie ist das /etc/network/interfaces?)
laurent
2
Hallo Zhang, entschuldigen Sie die Verwirrung über Super User. Ich habe eine Prämie auf diese Frage gesetzt, damit sie mehr Aufmerksamkeit erhält. Prost!
Slhck
1
@slhck: Danke, dass du Bounty für diese Frage bereitgestellt hast. Die AskUbuntu und Ubuntu Community ist großartig ... Ich liebe es ... Prost !!!
Aditya
@Aditya, hast du eine Datei in /etc/ppp/resolv? Wenn ja, könnten Sie prüfen, ob Ihr ISP-DNS dort geschrieben ist? und ändere es in openDNS IPs. So können Sie das -i Attribut ändern zurück/etc/resolv.conf
laurent
3

Hänge diese Zeile an dich an /etc/resolv.conf:

nameserver 8.8.8.8
Jasmin
quelle
Ich benutze ab sofort OpenDNS. Sind Sie sicher, dass ich die DNS-Server von Google anhängen soll?
Aditya
Ich hatte früher ein Problem wie deins. Hänge einfach eine DNS (sogar OpenDNS könnte funktionieren) an deine resolv.conf wie in meiner Antwort und probiere es aus.
Jasmin
2
Ihr Computer verwendet sie tatsächlich alle in der richtigen Reihenfolge. Wenn Sie also einen bis zum Ende hinzufügen, funktioniert dies möglicherweise. Wenn jedoch die ersten Nameserver immer noch eine Zeitüberschreitung aufweisen, ist Ihr System langsam.
ImaginaryRobots
Beachten Sie, dass Sie in Ubuntu 12.04 und höher /etc/resolv.conf normalerweise nicht bearbeiten sollten, da es von resolvconf dynamisch aktualisiert wird. Wenn Sie wirklich eine statische /etc/resolv.confDatei möchten , lassen Sie das resolvconf-Paket installiert und ersetzen Sie den symbolischen Link unter /etc/resolv.conf durch eine statische Datei mit (wie im vorliegenden Beispiel) nameserver 8.8.8.8.
jdthood
3

Das ursprüngliche Problem könnte möglicherweise folgendermaßen gelöst worden sein.

sudo apt-get install resolvconf
sudo dpkg-reconfigure resolvconf
jdthood
quelle
Sollte dies das Problem auch auf der Live-CD lösen. Wenn ja, würde ich es auf der Ubuntu 12.10 Live-CD versuchen.
Aditya
Auf einer originalen Ubuntu 12.04- oder 12.10-Live-CD wird wahrscheinlich nichts gelöst, da bekannt ist, dass resolvconf auf diesen CDs korrekt installiert ist. Viele Ubuntu-Derivate haben jedoch CDs mit fehlerhaften Resolvconf-Installationen erstellt. Solche fehlerhaften Installationen können manchmal durch Laufen repariert werden sudo dpkg-reconfigure resolvconf.
jdthood
Das ursprüngliche Problem trat auf, als resolvconf noch installiert war (und auf Live-CDs). Es lag an pppoe config, nicht an DNS. Das Problem mit resolv.confdem Umschreiben mit dem OP ISP DNS anstelle von openDNS trat bei der Konfiguration von ppp connection ( sudo pppoeconf) auf, so dass ich dachte, resolvconf würde es umschreiben (aber wie wir später sehen konnten, war dies nicht der Fall!). Wie auch immer, das Problem ist sehr seltsam, da einige Websites in Ordnung waren und andere nicht und in allen Fällen die DNS-Auflösung funktionierte (und immer noch funktioniert). Das einzige Problem ist jetzt, dass das OP einen anderen DNS-Server verwenden möchte.
Laurent
Das Befolgen sudo dpkg-reconfigure resolvconfder Anweisungen löste mein Problem! Das war alles was es brauchte!
Apelsin
3

Vielleicht können Sie versuchen, Folgendes zu deaktivieren dnsmasq:

sudo vim /etc/NetworkManager/NetworkManager.conf

Setzen Sie ein #vordns=dnsmasq

Dann:

sudo restart network-manager

Ich habe ein Problem beim Auflösen einiger Websites, nachdem ich 12.04 und 12.10 installiert habe. Nach meiner Deaktivierung hat dnsmasqalles gut funktioniert.

Wenn dies hilft, können Sie den vollständigen dnsmasq-Dienst installieren und Ihren bevorzugten DNS-Anbieter hinzufügen /etc/resolvconf/resolv.conf.d/tail.

snowhawkyrf
quelle
Ich würde das gerne mal ausprobieren. Mein Netzwerkmanager zeigt mein LAN jedoch als Device not managed. Daher wird auch die gerade erstellte DSL-Verbindung nicht angezeigt. Schauen Sie sich dieses Bild an .
Aditya
NetworkManager verwaltet die Schnittstelle nicht, da sie /etc/network/interfacesaufgrund der Ausführung manuell konfiguriert wurde pppoeconf. Das Problem war, dass die automatische Verbindung, die von NetworkManager hergestellt wurde, nicht funktionierte, aber Sie können es jetzt versuchen (da Sie wissen, wie man repariert, wenn es nicht mehr funktioniert). Kommentar Sie einfach die zusätzlichen Linien von pppoeconfin /etc/network/interfacesund Veränderung managed=false to =truein /etc/NetworkManager/NetworkManager.confmit Netzwerk - Manager .Jetzt , dass Sie wissen , wo das Problem ist, bitte melden , wenn es nicht funktioniert automatisch und wir können versuchen , es zu lösen.
Laurent
@laurent und @snowhawkyrf: Ich habe es versucht. Dies funktioniert jedoch nicht für mich. Die Verwendung von pppoeconfscheint die einzige Möglichkeit zu sein, um das Problem zu lösen. Trotzdem danke für eure Eingaben.
Aditya
0

Anscheinend ist das Problem, wie Ubuntu mit DSL-Verbindungen umgeht. Ich konnte meine DSL-Verbindung nicht wie von den Experten empfohlen konfigurieren.

Als Workaround verwende ich TOR, da es nur eine Handvoll Websites gibt, die davon betroffen sind.

maisun
quelle
0

Das gleiche Problem trat hier auf (ASUS EeePC 1015BX - Ubuntu 12.10 - AMD C-60-System). GDie /etc/resolv.confDatei bearbeiten ( sudo -H gedit /etc/resolv.conf) und die nameserver 127.0.1.1Zeile durch die folgende ersetzen

nameserver 208.67.222.222
nameserver 208.67.220.220

löste die Probleme.

Sie können dies mit diesen Verfahren dauerhaft machen .

Wandern Sie Silva
quelle
0

Nun, ich schreibe diesen Befehl immer dann, wenn er nicht mehr funktioniert. Ich glaube immer noch, dass es sich um einen Fehler handelt, oder vielleicht mache ich etwas falsch mit meinem PC

service NetworkManager restart

Es sollte funktionieren (wenn eine Internetverbindung besteht). Wenn dies jedoch nicht funktioniert, aktualisieren Sie die DNS-Datensätze und wiederholen Sie den obigen Befehl. Es soll funktionieren.

Ray Dragon
quelle