GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Kann unter Linux über Pppoe nicht auf ausgewählte HTTPS-Sites zugreifen?

Meine Internetverbindung war früher eine direkte LAN-Verbindung zu meinem Provider. Damals wurde sowohl unter Windows als auch unter Ubuntu (Dual Boot) alles problemlos geladen. Vor einiger Zeit fingen sie jedoch an, dass ich mich mit einem Benutzernamen und Passwort einwählen musste (PPPoE). Gateway, Subnetzmaske, IP, DNS-Server sind alle gleich geblieben. Aber seitdem kann ich bestimmte Websites unter Ubuntu nicht mehr durchsuchen, obwohl es unter Windows keine derartigen Probleme gab. Einige Beispiel-Websites sind – Ovis Anmeldeseite (obwohl share.ovi.com gut geladen wird und nokia.com gut geladen wird), Live Mail (funktioniert auf Chrome(ium) und Opera, aber nicht auf Firefox (sowohl 3.6 als auch 4)) Mozilla Addons-Website und andere zufällige Websites.

Einige der Websites, die nicht laden, zeigen Timeout-Meldungen und für einige Websites (wie die Moz-Addons) versucht der Browser ohne Ende zu laden (ich habe es sogar stundenlang so gelassen, aber nichts anderes bemerkt passieren).

Ich habe versucht, die DNS-Server auf öffentliche zu ändern. Ich habe sogar versucht, von einer Fedora LiveCD zu booten und dann das Ändern des DNS auf diese (und sogar auf die von OpenDNS), aber genau dasselbe passiert. Was könnte an einer Konfiguration in Linux selbst falsch sein, die dieses Problem verursacht?

Weiß jemand, warum das passiert und wie es behoben werden kann?

Hinweis:Diese Frage wurde auf SU gepostet, aber es wurden keine Antworten erhalten.

Aktualisierung: Ich habe hier gerade gesehen, dass jemand anderes ein ähnliches Problem hatte, und es gelöst, indem er eine NetworkManager.conf eingefügt hat Datei in /etc/NetworkManager . Was muss in dieser Datei enthalten sein?

Akzeptierte Antwort:

Sie haben die Symptome einer MTU Problem:Einige TCP-Verbindungen frieren mehr oder weniger reproduzierbar für einen bestimmten Befehl oder eine URL ein, jedoch ohne leicht erkennbares Gesamtmuster. Ein verräterisches Symptom ist, dass interaktive SSH-Sitzungen gut funktionieren, aber Dateiübertragungen fast immer fehlschlagen. Außerdem ist pppoe der MTU-Problembringer Nummer eins für Heimanwender. Also verschreibe ich einen MTU-Check.

Was ist das? Das m maximal t Ransmission u nit ist die maximale Größe eines Pakets über eine Netzwerkverbindung. Die MTU variiert von Transportmedium zu Transportmedium, z.B. Kabelgebundenes Ethernet und WLAN (802.11) haben unterschiedliche MTUs, und ATM-Verbindungen (die den größten Teil der Langstreckeninfrastruktur ausmachen) haben jeweils ihre eigene MTU. PPPOE ist ein gekapseltes Protokoll, was bedeutet, dass jedes Paket aus einigen Header-Bytes besteht, gefolgt vom zugrunde liegenden Paket – so dass die maximale Paketgröße um die Größe des Headers verringert wird. IP ermöglicht es Routern, Pakete zu fragmentieren, wenn sie feststellen, dass sie für den nächsten Hop zu groß sind, aber das funktioniert nicht immer. Theoretisch sollte die richtige MTU automatisch erkannt werden, aber auch das funktioniert nicht immer. Insbesondere Googeln deutet darauf hin, dass Network Manager nicht immer ordnungsgemäß auf MTU-Informationen reagiert, die aus der MTU-Erkennung stammen, aber ich weiß nicht, welche Versionen betroffen sind oder welche problematischen Anwendungsfälle es gibt.

Verwandte:Linux – Bevorzugte/idiomatische Methode zum Aktivieren eines systemd.service aus einer Debian-Paketinstallation?

Wie man es misst. Wenn Sie tracepath haben Führen Sie in den Linux-iputils tracepath 8.8.8.8 aus um die MTU über den Pfad zum DNS-Server von Google zu sehen.
Wenn Ihre Version von traceroute hat ein --mtu Option, führen Sie traceroute -n --mtu 8.8.8.8 aus .
Weitere Optionen finden Sie unter MTU zwischen mir und Ziel-IP entdecken.

Ohne automatisierte Tools können Sie manuell messen. Versuchen Sie, Ping-Pakete einer bestimmten Größe an einen externen Host zu senden, der darauf antwortet, z. ping -c 1 -s 42 8.8.8.8 (unter Linux; auf anderen Systemen schlagen Sie in der Dokumentation Ihres ping nach Befehl). Ihre Pakete sollten bei ausreichend kleinen Werten von 42 durchkommen (wenn 42 nicht funktioniert, blockiert etwas Pings). Bei größeren Werten kommt das Paket nicht durch. 1464 ist ein typischer Maximalwert, wenn die begrenzende Infrastruktur Ihr lokales Ethernet-Netzwerk ist. Wenn Sie Glück haben, sehen Sie beim Senden eines zu großen Pakets eine Meldung wie Frag needed and DF set (mtu = 1492) . Wenn Sie kein Glück haben, experimentieren Sie einfach weiter mit dem Wert, bis Sie das Maximum gefunden haben, und fügen Sie dann 28 hinzu (-s gibt die Größe der Nutzlast an, und es gibt zusätzlich 28 Byte Header).
Siehe auch How to Optimize your Internet Connection using MTU and RWIN in den Ubuntu-Foren.

Einstellen (Ersetzen Sie 1454 durch die von Ihnen ermittelte MTU und eth0 nach dem Namen Ihrer Netzwerkschnittstelle)

  • Einmalig (Linux):
    Führen Sie ifconfig eth0 mtu 1454 aus
  • Permanent (Debian und Derivate wie Ubuntu, wenn Network Manager nicht verwendet wird):
    Bearbeiten Sie /etc/network/interfaces . Direkt nach dem Eintrag für Ihre Netzwerkschnittstelle (nach dem iface eth0 … Direktive), fügen Sie eine Zeile mit pre-up ifconfig $IFACE mtu 1454 hinzu . Wenn Ihre IP-Adresse statisch ist, können Sie alternativ den mtu 1454 hinzufügen Parameter zum iface eth0 inet static Richtlinie.
  • Dauerhaft (Debian und Derivate wie Ubuntu, mit oder ohne Network Manager):
    Erstellen Sie ein Skript namens /etc/network/if-pre-up.d/mtu mit folgendem Inhalt und weltlauffähig machen (chmod a+rx ):

    #!/bin/sh
    ifconfig $IFACE mtu 1454
    

Weitere Ressourcen

  • Wie diagnostiziert man eine zuverlässig unzuverlässige Verbindung? (insbesondere die Antwort von Mike Pennington) kann hilfreich sein, wenn der hier beschriebene einfache Measure-and-Limit-Ansatz nicht funktioniert.

Linux
  1. Überwachung des Linux-Dateizugriffs?

  2. Linux – Netzwerkzugriff eines Prozesses blockieren?

  3. Ipv6 über PPPOE?

  4. HTTPS-Unterstützung für das Kali Linux-Repository

  5. Wie überschleife ich Verzeichnisse in Linux?

Konfigurieren des VNC-Serverzugriffs auf einem Redhat Linux

So greifen Sie von Windows 10 auf Linux-Partitionen zu

11 Linux-Befehle, ohne die ich nicht leben kann

So installieren Sie Rabbitmq in Rocky Linux/Alma Linux/Centos 8

Zugriffssteuerungslisten unter Linux erklärt

WPS Office CSV-Trennzeichen – Linux