[solved] broken pipe, Fritz-Box und M-Net

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
Benutzeravatar
paulderfinne
Beiträge: 471
Registriert: 23.08.2004 12:44:02
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Osternohe

[solved] broken pipe, Fritz-Box und M-Net

Beitrag von paulderfinne » 10.04.2020 10:03:48

Hallo liebe Gemeinde,

kennt sich jemand mit der FritzBox aus?
Hintergrund: Wenn ich eine SSH-Verbindung zu einem Server im Netz aufmache, bricht diese nach einigen Minuten Ruhen ab.
Fehlermeldung: packet_write_wait: Connection to XXX.XXX.XXX.XXX port 22: Broken pipe
ab.
Ich bin mir ziemlich sicher, dass das Problem entweder an der FrtzBox oder noch weiter vorne im Netzzugang liegt, denn:

1. Das Problem tritt nur auf, wenn ich mich mit einem Server im WAN verbinde. In meinem eigenen LAN, kein Problem
2. Auch kein Problem, wenn ich mich mit meinem Smartphone via Tethering verbinde. Also Den Router umgehe.
3. Das Problem tritt bei allen hier vorhandenen PCs auf. Egal ob da ein Jessy, Stretch oder Buster läuft.
4. Das Problem tritt bei zwei verschieden Servern im WWW auf.

Jetzt ist das natürlich kein Debian-Problem, aber ich dachte ich frage mal nach, ob sich da jemand von euch auskennt. Natürlich wäre eine Anfrage bei FritzBox selbst oder bei M.Net (Die betreiben hier bei uns weit auf dem Land) das Netz. Ich fürchte aber, dass es da schwer ist jemand wirklich Kompetentes dranzukriegen.
Zuletzt geändert von paulderfinne am 10.04.2020 13:36:51, insgesamt 1-mal geändert.

Benutzeravatar
TRex
Moderator
Beiträge: 8085
Registriert: 23.11.2006 12:23:54
Wohnort: KA

Re: broken pipe, Fritz-Box und M-Net

Beitrag von TRex » 10.04.2020 10:26:53

"Kennt sich aus" ist natürlich ne sehr generische Frage... ich weiß von Routern, die inaktive Verbindungen unterbrechen, die fbox gehört AFAIK nicht dazu. Ich hab sowas bei meinen noch nie erlebt und auch keine Option dazu gefunden. Vielleicht sprichst du mal deinen Provider dazu an. Es gibt bei SSH auch ne Keep-Alive Option, die (aggressiver) zu konfigurieren könnte ebenfalls helfen (als workaround).
Jesus saves. Buddha does incremental backups.
Windows ist doof, Linux funktioniert nichtDon't break debian!Wie man widerspricht

Benutzeravatar
paulderfinne
Beiträge: 471
Registriert: 23.08.2004 12:44:02
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Osternohe

Re: broken pipe, Fritz-Box und M-Net

Beitrag von paulderfinne » 10.04.2020 10:48:40

Vielen dank für die schnelle Antwort, TRex. Mit diesem "aggressive" meinst du wohl ein Veränder der /etc/ssh/sshd.conig. Habe davon im Netz gelesen. Würde aber das Problem ja nicht wirklich beheben, da ich ja bei Verwendung eines anderen Netzes nicht rausfliege. Klar, du hast auch gesagt als Workaround. Was würdest du empfehlen, dass ich da reinschreibe?

eggy
Beiträge: 3331
Registriert: 10.05.2008 11:23:50

Re: broken pipe, Fritz-Box und M-Net

Beitrag von eggy » 10.04.2020 10:59:04

Keep-Alive ist nen guter Ansatz. Vorher mal schauen, was die Fritzbox bezüglich Aufrechthalten/Trennen bei Inaktivität der Verbindung eingestellt hat, evtl unter Internet/Zugangsdaten/Verbindungseinstellungen, sonst suchen oder Doku. Wenn da alles ok ist, kannst Du mal das Log der Fritzbox ansehn, bricht die gesamte Verbindung ab oder nur die SSH Verbindung? SSH kann man auch mit debug Infos (-v, Details siehe manpage) laufenlassen. Testweise kann man mal parallel zur ssh Verbindung den Server anpingen und schauen, ob es so stabiler wird. Falls ja, das aber bitte nicht als Lösung betrachten, das geht dann via Keep-Alive besser.

Benutzeravatar
TRex
Moderator
Beiträge: 8085
Registriert: 23.11.2006 12:23:54
Wohnort: KA

Re: broken pipe, Fritz-Box und M-Net

Beitrag von TRex » 10.04.2020 11:20:09

eggy hat geschrieben: ↑ zum Beitrag ↑
10.04.2020 10:59:04
evtl unter Internet/Zugangsdaten/Verbindungseinstellungen
existiert in der 6490 so nicht, aber vielleicht in der von paulderfinne.
paulderfinne hat geschrieben: ↑ zum Beitrag ↑
10.04.2020 10:48:40
Was würdest du empfehlen, dass ich da reinschreibe?
ServerAliveInterval
man ssh_config hat geschrieben:Sets a timeout interval in seconds after which if no data has been received from the server, ssh(1) will send a message through the encrypted channel to request a response from the server.
Relevant hier ist, dass du das in deine client-config packst (ssh_config vs sshd_config), da du ja das Verhalten deines lokalen Clients fixen willst, und nicht jeden Server.
Jesus saves. Buddha does incremental backups.
Windows ist doof, Linux funktioniert nichtDon't break debian!Wie man widerspricht

Benutzeravatar
paulderfinne
Beiträge: 471
Registriert: 23.08.2004 12:44:02
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Osternohe

Re: broken pipe, Fritz-Box und M-Net

Beitrag von paulderfinne » 10.04.2020 11:26:18

Vielen Dank eggy. Das mit dem pingen war eine gute Idee. Jetzt bricht die Verbindung nicht mehr ab.

In meinem (also auf der Client-Seite) /etc/ssh/sshd_config hatte ich bereits gesetzt:

TCPKeepAlive yes
ClientAliveInterval 120
ClientAliveCountMax 15

Das hat aber nichts geholfen. Soll ich das wieder auskommentieren und stattdessen auf dem Server probieren. Was bedeuten die Variablen eigentlich?


Oje. gerade ist die Verbindung zusammengebrochen, obwohl ich gepingt hatte.

Benutzeravatar
paulderfinne
Beiträge: 471
Registriert: 23.08.2004 12:44:02
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Osternohe

Re: broken pipe, Fritz-Box und M-Net

Beitrag von paulderfinne » 10.04.2020 11:32:38

Entschuldige TRex, hatte deinen Beitrag gar noch nicht gelesen.

Auf der FritBox ist dauerhaft halten ausgewählt. Nicht ausgewählt ist PPPoE passthrough. Aber das will ich ja wohl auch nicht.

Meine /etc/ssh/sshd_config habe ich ja bereits geändert.

mat6937
Beiträge: 2953
Registriert: 09.12.2014 10:44:00

Re: broken pipe, Fritz-Box und M-Net

Beitrag von mat6937 » 10.04.2020 11:37:28

paulderfinne hat geschrieben: ↑ zum Beitrag ↑
10.04.2020 11:26:18
Das mit dem pingen war eine gute Idee. Jetzt bricht die Verbindung nicht mehr ab.

Oje. gerade ist die Verbindung zusammengebrochen, obwohl ich gepingt hatte.
War das ein "Dauerping" oder ein Ping z. B. via cronjob (minütlich)?

Wie ist nach dem Abbruch der Verbindung, auf deinem PC die Ausgabe von:

Code: Alles auswählen

arp -av
route -n
?

Benutzeravatar
MSfree
Beiträge: 10777
Registriert: 25.09.2007 19:59:30

Re: broken pipe, Fritz-Box und M-Net

Beitrag von MSfree » 10.04.2020 11:38:40

paulderfinne hat geschrieben: ↑ zum Beitrag ↑
10.04.2020 11:26:18
Vielen Dank eggy. Das mit dem pingen war eine gute Idee.
Ping geht aber nicht durch den SSH-Tunnel, ist also im Grunde genommen nutzlos, wenn man mal davon absieht, daß man damit grundsätzliche Netzwerkprobleme eingrenzen kann.

Code: Alles auswählen

TCPKeepAlive yes
ClientAliveInterval 120
ClientAliveCountMax 15
Das hat aber nichts geholfen.
Damit würde die Verbindung nach 30 Minuten (120 Sekunden mal 15) getrennt.
Die Parameter bewirken also genau das Gegenteil von dem, was du eigentlich willst.

Probier mal:

Code: Alles auswählen

ServerAliveInterval 30
in deiner ~/.ssh/config oder /etc/ssh/ssh_config

Damit wird alle 30 Sekunden eine Netzwerkpaket über den SSH-Tunnel an den Server geschickt, so daß die üblichen serverseitigen Timeoutmechanismen regelmässig unterbrochen werden.

eggy
Beiträge: 3331
Registriert: 10.05.2008 11:23:50

Re: broken pipe, Fritz-Box und M-Net

Beitrag von eggy » 10.04.2020 11:45:31

Vereinfacht gesagt bedeutet KeepAlive, dass der Client dem Server regelmässig ein Lebenszeichen schickt (oder der Server regelmässig ein Lebenszeichen anfordert). Weswegen Pakete über eine sonst zeitweise unbenutzte Leitung gehen und der Server somit nicht davon ausgeht, dass der Client gestorben ist und die Verbindung so auch nicht wegen vermeintlichem "Time-Out" abbaut. SSH kennt unterschiedliche KeepAlive Methoden und konfigurierbare Zeitabstände, weiteres in der Doku, unter anderem "man ssh_config".

Nächster Schritt: Logs ansehen, bricht nur SSH ab? Oder geht evtl die Leitung komplett weg?
Weitere Ursachen ausschließen: sind möglicherweise andere Rechner oder sonstiger Kram (SmartTV etc) datenhungrig? Dann mal die SSH Verbindung priorisieren. Hast Du Zugriff auf die SSH-Logs der Serverseite? Dann kann man da auch mal schauen.

@TRex: Wenn es nur einen Server betrifft, ist es meist sinnvoller die KeepAlive Einstellungen pro Server in der .ssh/config einzustellen, anstatt pauschal einfach mal alle Gegenstellen zu nerven.

Benutzeravatar
paulderfinne
Beiträge: 471
Registriert: 23.08.2004 12:44:02
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Osternohe

Re: broken pipe, Fritz-Box und M-Net

Beitrag von paulderfinne » 10.04.2020 11:50:02

Vielen Dank auch an dich mat6937.
Hier die Ausgabe deiner Befehle

Code: Alles auswählen

root@pily:/etc/ssh# arp -av
fritz.box (192.168.7.100) at e0:28:6d:b0:3a:f5 [ether] on wlp2s0
BRWB0521660575F.fritz.box (192.168.7.130) at b0:52:16:60:57:5f [ether] on wlp2s0
Entries: 2      Skipped: 0      Found: 2
root@pily:/etc/ssh# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.7.100   0.0.0.0         UG    0      0        0 wlp2s0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 wlp2s0
192.168.7.0     0.0.0.0         255.255.255.0   U     0      0        0 wlp2s0


Edit: Habe jetzt mal die Einstellungen im /etc/ssh/sshd_config wieder rückgängig gemacht und den Befehl

Code: Alles auswählen

ServerAliveInterval 30
in /etc/ssh/ssh_config eingefügt und den ssh server neu gestartet.
Zuletzt geändert von paulderfinne am 10.04.2020 11:58:25, insgesamt 1-mal geändert.

eggy
Beiträge: 3331
Registriert: 10.05.2008 11:23:50

Re: broken pipe, Fritz-Box und M-Net

Beitrag von eggy » 10.04.2020 11:54:35

@MSFree: erstmal ausschließen, dass Provider/Fritzbox/etc die Verbindung wegen "Leitung nicht benutzt" kappen, deswegen normaler icmp ping.

eggy
Beiträge: 3331
Registriert: 10.05.2008 11:23:50

Re: broken pipe, Fritz-Box und M-Net

Beitrag von eggy » 10.04.2020 12:14:36

paulderfinne hat geschrieben: ↑ zum Beitrag ↑
10.04.2020 11:50:02
in /etc/ssh/ssh_config eingefügt und den ssh server neu gestartet.
ssh_config (ohne d) ist die lokale Clientconfig, was darin steht wird beim Start des Clients angewandt (falls ./ssh/config und Programmparameter das nicht überschreiben)

sshd_config (mit d) ist die Serverconfig, wird auf dem Rechner wo der Server läuft eingestellt und gilt dann ab Start des Servers

Benutzeravatar
MSfree
Beiträge: 10777
Registriert: 25.09.2007 19:59:30

Re: broken pipe, Fritz-Box und M-Net

Beitrag von MSfree » 10.04.2020 12:19:01

eggy hat geschrieben: ↑ zum Beitrag ↑
10.04.2020 11:54:35
@MSFree: erstmal ausschließen, dass Provider/Fritzbox/etc die Verbindung wegen "Leitung nicht benutzt" kappen, deswegen normaler icmp ping.
Im Festnetz kappt kein Provider in Deutschland - von der 24h Zwangstrennung abgesehen - die Leitung. Die Funkprovider (LTE) könnten da allerdings anders reagieren, um ihre Frequenzbereiche frei zu halten.

Ausserdem würde man im Log des Routers häufige Reconnects erkennen können.
paulderfinne hat geschrieben: ↑ zum Beitrag ↑
10.04.2020 11:50:02
Vielen Dank auch an dich mat6937.
Hier die Ausgabe deiner Befehle

Code: Alles auswählen

Edit: Habe jetzt mal die Einstellungen im /etc/ssh/sshd_config wieder rückgängig gemacht und den Befehl 
[code]ServerAliveInterval 30
in /etc/ssh/ssh_config eingefügt und den ssh server neu gestartet.
ServerAliveInterval hättest du beim Clientrechner eintragen müssen.

Benutzeravatar
paulderfinne
Beiträge: 471
Registriert: 23.08.2004 12:44:02
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Osternohe

Re: broken pipe, Fritz-Box und M-Net

Beitrag von paulderfinne » 10.04.2020 12:32:05

Also das Ändern der /etc/ssh/ssh_config (auf meinem Client hier) hat scheinbar was genutzt. Bis jetzt ist die Verbindung nicht mehr abgebrochen, auch wenn ich sie eine halbe Stunde nicht benutzt habe. Ich beobachte das noch eine Weile. Ansonsten erstmal wieder ein herzliche Dankeschön an euch alle. Und Frohe Ostern und bleibt gesund.
:THX:

Antworten