Dag allen,
Allereerst, vergeef me als dit topic meer in NOS thuis hoort dan in Netwerken, maar op dit moment is het me nog onduidelijk of mijn probleem een netwerkprobleem is, of eerder iets Linux-gerelateerd.
Ik heb thuis een HA server draaien op een Raspberry Pi 4. Om aan deze server te kunnen van buitenaf, zonder poorten open te zetten in de firewall, en zonder een VPN te moeten gebruiken, heb ik via een goedkope VPS een reverse SSH tunnel geopend zodat ik deze kan bereiken.
(Hierna kan ik dan een local SSH forwarding doen om op die manier ook aan de app of browser te geraken, maar dat terzijde)
Deze oplossing werkt prima. Zowel de reverse tunnel als de forwarding in de andere richting kan ik opzetten en gebruiken. (Voor een leek als ik verbaast het me zelfs dat het zo eenvoudig was...)
Echter, er is één probleem: het lijkt alsof de SSH tunnel na enige tijd verbroken wordt. Ik kan dan nog wel rechtstreeks in de server vanop het lokale netwerk: ik zie via
Er loopt dus duidelijk iets mis met de tunnel. Maar wat...?
Journalctl geeft ook niets van relevante informatie weer.
De tunnel wordt als volgt opgezet:
Via de tunnel met de server verbinden gaat dan als volgt:
In de systemd service staat het volgende:
Iemand enig idee wat hier zou kunnen mislopen, of waar ik best zou kunnen zoeken?
Alvast bedankt!
Allereerst, vergeef me als dit topic meer in NOS thuis hoort dan in Netwerken, maar op dit moment is het me nog onduidelijk of mijn probleem een netwerkprobleem is, of eerder iets Linux-gerelateerd.
Ik heb thuis een HA server draaien op een Raspberry Pi 4. Om aan deze server te kunnen van buitenaf, zonder poorten open te zetten in de firewall, en zonder een VPN te moeten gebruiken, heb ik via een goedkope VPS een reverse SSH tunnel geopend zodat ik deze kan bereiken.
(Hierna kan ik dan een local SSH forwarding doen om op die manier ook aan de app of browser te geraken, maar dat terzijde)
Deze oplossing werkt prima. Zowel de reverse tunnel als de forwarding in de andere richting kan ik opzetten en gebruiken. (Voor een leek als ik verbaast het me zelfs dat het zo eenvoudig was...)
Echter, er is één probleem: het lijkt alsof de SSH tunnel na enige tijd verbroken wordt. Ik kan dan nog wel rechtstreeks in de server vanop het lokale netwerk: ik zie via
code:
dat er nog steeds een process draait voor de tunnel, en ook systemd geeft aan dat alles nog "running" is, maar toch... werkt het niet. Als ik dan via systemd een restart command geef werkt alles weer prima.1
| ps -ef | grep ssh |
Er loopt dus duidelijk iets mis met de tunnel. Maar wat...?
Journalctl geeft ook niets van relevante informatie weer.
De tunnel wordt als volgt opgezet:
code:
1
| ssh -N -R <externe_poort>:localhost:22 <vps_user>@<vps_ip> -p <ssh_port_vps> |
Via de tunnel met de server verbinden gaat dan als volgt:
code:
1
| ssh <server_user>@<vps_ip> -p <externe_poort> |
In de systemd service staat het volgende:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| [Unit] Description=Reverse SSH connection [Service] Type=ExecStart ExecStart=<path_to_>/create_ssh_tunnels.sh Restart=always RestartSec=10s User=<server_user> SyslogIdentifier=ssh-tunnels [Install] WantedBy=multi-user.target |
Iemand enig idee wat hier zou kunnen mislopen, of waar ik best zou kunnen zoeken?
Alvast bedankt!