[solved] broken pipe, Fritz-Box und M-Net
- paulderfinne
- Beiträge: 507
- Registriert: 23.08.2004 12:44:02
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Osternohe
[solved] broken pipe, Fritz-Box und M-Net
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.
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.
Re: broken pipe, Fritz-Box und M-Net
"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 nicht • Don't break debian! • Wie man widerspricht
Windows ist doof, Linux funktioniert nicht • Don't break debian! • Wie man widerspricht
- paulderfinne
- Beiträge: 507
- Registriert: 23.08.2004 12:44:02
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Osternohe
Re: broken pipe, Fritz-Box und M-Net
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?
Re: broken pipe, Fritz-Box und M-Net
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.
Re: broken pipe, Fritz-Box und M-Net
existiert in der 6490 so nicht, aber vielleicht in der von paulderfinne.
ServerAliveIntervalpaulderfinne hat geschrieben:10.04.2020 10:48:40Was würdest du empfehlen, dass ich da reinschreibe?
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.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.
Jesus saves. Buddha does incremental backups.
Windows ist doof, Linux funktioniert nicht • Don't break debian! • Wie man widerspricht
Windows ist doof, Linux funktioniert nicht • Don't break debian! • Wie man widerspricht
- paulderfinne
- Beiträge: 507
- Registriert: 23.08.2004 12:44:02
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Osternohe
Re: broken pipe, Fritz-Box und M-Net
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.
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.
- paulderfinne
- Beiträge: 507
- Registriert: 23.08.2004 12:44:02
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Osternohe
Re: broken pipe, Fritz-Box und M-Net
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.
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.
Re: broken pipe, Fritz-Box und M-Net
War das ein "Dauerping" oder ein Ping z. B. via cronjob (minütlich)?paulderfinne hat geschrieben:10.04.2020 11:26:18Das mit dem pingen war eine gute Idee. Jetzt bricht die Verbindung nicht mehr ab.
Oje. gerade ist die Verbindung zusammengebrochen, obwohl ich gepingt hatte.
Wie ist nach dem Abbruch der Verbindung, auf deinem PC die Ausgabe von:
Code: Alles auswählen
arp -av
route -n
Debian 12.9 mit LXDE, OpenBSD 7.6 mit i3wm, FreeBSD 14.1 mit Xfce
Re: broken pipe, Fritz-Box und M-Net
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.paulderfinne hat geschrieben:10.04.2020 11:26:18Vielen Dank eggy. Das mit dem pingen war eine gute Idee.
Damit würde die Verbindung nach 30 Minuten (120 Sekunden mal 15) getrennt.Das hat aber nichts geholfen.Code: Alles auswählen
TCPKeepAlive yes ClientAliveInterval 120 ClientAliveCountMax 15
Die Parameter bewirken also genau das Gegenteil von dem, was du eigentlich willst.
Probier mal:
Code: Alles auswählen
ServerAliveInterval 30
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.
Re: broken pipe, Fritz-Box und M-Net
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.
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.
- paulderfinne
- Beiträge: 507
- Registriert: 23.08.2004 12:44:02
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Osternohe
Re: broken pipe, Fritz-Box und M-Net
Vielen Dank auch an dich mat6937.
Hier die Ausgabe deiner Befehle
Edit: Habe jetzt mal die Einstellungen im /etc/ssh/sshd_config wieder rückgängig gemacht und den Befehl in /etc/ssh/ssh_config eingefügt und den ssh server neu gestartet.
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
Zuletzt geändert von paulderfinne am 10.04.2020 11:58:25, insgesamt 1-mal geändert.
Re: broken pipe, Fritz-Box und M-Net
@MSFree: erstmal ausschließen, dass Provider/Fritzbox/etc die Verbindung wegen "Leitung nicht benutzt" kappen, deswegen normaler icmp ping.
Re: broken pipe, Fritz-Box und M-Net
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)paulderfinne hat geschrieben:10.04.2020 11:50:02in /etc/ssh/ssh_config eingefügt und den ssh server neu gestartet.
sshd_config (mit d) ist die Serverconfig, wird auf dem Rechner wo der Server läuft eingestellt und gilt dann ab Start des Servers
Re: broken pipe, Fritz-Box und M-Net
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.eggy hat geschrieben: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.
Ausserdem würde man im Log des Routers häufige Reconnects erkennen können.
ServerAliveInterval hättest du beim Clientrechner eintragen müssen.paulderfinne hat geschrieben:10.04.2020 11:50:02Vielen Dank auch an dich mat6937.
Hier die Ausgabe deiner Befehle
in /etc/ssh/ssh_config eingefügt und den ssh server neu gestartet.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
- paulderfinne
- Beiträge: 507
- Registriert: 23.08.2004 12:44:02
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Osternohe
Re: broken pipe, Fritz-Box und M-Net
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.

