TCP-Neuübertragung an einen Server, nur unter Ubuntu

TCP-Neuübertragung an einen Server, nur unter Ubuntu

Hier ist die Situation:

Wir haben mehrere Computer im Büro, aber nur zwei davon haben Probleme, eine Verbindung zu unserer Unternehmenswebsite herzustellen. Auf beiden läuft Ubuntu.

Es ist immer so: Ich kann 3-4 Mal problemlos eine Verbindung zur Website herstellen, dann werden alle TCP-Pakete erfolglos erneut übertragen (siehe Screenshot). Und für ein paar Minuten kann ich keine Verbindung zu irgendetwas TCP-bezogenem herstellen. Dann kann ich eine Verbindung herstellen. Dann wieder Fehler, Schleife.

Derselbe Fehler tritt bei FTP auf. Ich kann eine Verbindung zu FTP herstellen, für die ersten paar Befehle funktioniert es einwandfrei, danach ist es für ein paar Minuten tot.

Ich kann den Server ständig und ohne Probleme anpingen. Wir haben den Router gewechselt, den ISP angerufen und alles ist in Ordnung.

Das Problem ist aufgrund der Symptome merkwürdig:

  • Das Problem tritt nur bei dieser Website aufFrüher hat im Internet jahrelang alles gut funktioniert, aber andererseits funktioniert diese Website überall, sogar auf denselben Computern mit Windows.
  • Wenn ich mich mit SSH verbinde, kann die Verbindung für immer bestehen bleiben, selbst wenn später erneute Übertragungsfehler auftreten.
  • aber wenn ich vor der Verbindung mit SSH erneute Übertragungsfehler erhalte, kann ich keine Verbindung mehr mit SSH herstellen!
  • Ping ist immer in Ordnung, also Traceroute/MTR
  • Funktioniert einwandfrei auf CentOS-Servern und Windows-Computern im Büro
  • Funktioniert auf denselben Ubuntu-Rechnern einwandfrei, wenn Windows gestartet wird
  • Ich habe alle Geräte außer meinem Ubuntu-Arbeitslaptop getrennt, versucht, immer noch dasselbe Problem

Dies ist das Skript, das ich geschrieben habe, um zu prüfen, ob ein Problem besteht:

#!/bin/bash

while :
do
    if ! [ $(curl --silent --connect-timeout 1 "our-website.com" | wc -l) -eq 12 ]; then
        echo "ERR"
    else 
        echo "OK"
    fi;

    sleep 1
done

Letzter Test mit brandneuem Router ergab 648 x OK, 562 x ERR

Unser CentOS-Server gibt mir 100% x OK

Dies wurde getestet auf (Ubuntu 14.04.2 LTS):

Linux 3.13.0-55-generic #94-Ubuntu SMP Thu Jun 18 00:27:10 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

Und

Linux 3.16.0-41-generic #57~14.04.1-Ubuntu SMP Thu Jun 18 18:01:13 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

Ein Computer verwendet den Standardnetzwerkmanager, ein anderer den WICD-Netzwerkmanager.

Ich habe andere Kernel ohne Erfolg ausprobiert.

Ich habe auch versucht, mich zu ändern

sysctl net.ipv4.tcp_sack
sysctl net.ipv4.tcp_syn_retries
/proc/sys/net/ipv4/tcp_retries1

Und kein Erfolg. Es mag wie eine Frage zu einem Serverfehler klingen, aber der Fehler tritt nur unter Ubuntu auf, deshalb stelle ich meine Frage hier.

Sie könnten sagen, das ist ein Hosting-Problem, aber nein, ich habe viel mit dem Hosting gesprochen, keine Hilfe. Wir verwenden Shared Hosting und keiner ihrer Kunden hatte ein ähnliches Problem. Außerdem kann ich bestätigen, dass es überall sonst funktioniert.

Bitte helfen Sie.

Ich habe die IP-Adresse des Servers unkenntlich gemacht, mich aber dazu entschieden, die IP des Servers/die URL zu veröffentlichen. Hier ist sie: http://88.198.241.36:2222- Nach einigen Browser-Aktualisierungen funktioniert der Browser nicht mehr.jedes Mal

Wireshark

Antwort1

Versuchen Sie, auf Ihrer Schnittstelle einen geringeren MTU-Wert einzustellen:

sudo ifconfig eth1 mtu 1492

Ich hatte dasselbe Problem und die Änderung der MTU-Größe konnte es beheben.

verwandte Informationen