Verbindung zum Linux Server nicht möglich
Hallo zusammen,
habe gerade ein sonderbares Problem auf dessen Lösung ich gerade nicht komme. Wir haben hier seit einigen Jahren einen Nextcloud Server in einer extra isolierten Zone laufen. Rein Debian 9.x mit einer alten NC-Version. Ruft man NC im Browser vom LAN aus auf, so erscheint der Login. So weit, so gut. Nun habe ich gestern einen Außenstandort per VPN angeschlossen. Anforderung ist, dass der Standort ebenfalls NC nutzen kann. Versuche ich von dort eine Verbindung aufzubauen, dann verschwinden alle Anfragen ins Nirvana. Eine Regel, die den Zugriff erlaubt, habe ich in Iptables bereits hinterlegt. Ein benachbarter Server des NC (gleiche Zone) lässt sich problemlos erreichen.
Nun dachte ich zuerst, dass die Anfragen nicht richtig geroutet werden. Die Verfolgung sagt mir aber, dass von der FW am Standort die Pakete ins VPN gesteckt werden. Die FW hier am Hauptstandort bestätigt das. Auf dem Server sehe ich sogar mit pktstat die eintreffende Anfrage. Ein tcpdump -n -i eno1 bestätigt mir das auch noch mal. So, und jetzt habe ich sogar einen Verbindungsversuch mit ncat hinter mir. Auch hier sehe ich den ankommenden Verbindungsversuch, aber dann passiert nichts mehr. Iptables-Tabelle ist jetzt sogar leer. Daran liegt es also nicht.
Und /etc/hosts.allow bzw. hosts.deny ist nichts hinterlegt. Gerade habe ich keine weitere Idee woran es hängen könnte. Jemand noch eine Idee?
Danke und Gruß
Neue Erkenntnis:
Verbindungen aus dem gleichen Netzwerksegment funktionieren. Ich kann also von einem Testclient, der zum Test dort eingebracht ist den Server anpingen. Auch netcat geht. Aus dem LAN heraus geht es auch. Aber nicht, wenn die Verbindung vom VPN kommt.
habe gerade ein sonderbares Problem auf dessen Lösung ich gerade nicht komme. Wir haben hier seit einigen Jahren einen Nextcloud Server in einer extra isolierten Zone laufen. Rein Debian 9.x mit einer alten NC-Version. Ruft man NC im Browser vom LAN aus auf, so erscheint der Login. So weit, so gut. Nun habe ich gestern einen Außenstandort per VPN angeschlossen. Anforderung ist, dass der Standort ebenfalls NC nutzen kann. Versuche ich von dort eine Verbindung aufzubauen, dann verschwinden alle Anfragen ins Nirvana. Eine Regel, die den Zugriff erlaubt, habe ich in Iptables bereits hinterlegt. Ein benachbarter Server des NC (gleiche Zone) lässt sich problemlos erreichen.
Nun dachte ich zuerst, dass die Anfragen nicht richtig geroutet werden. Die Verfolgung sagt mir aber, dass von der FW am Standort die Pakete ins VPN gesteckt werden. Die FW hier am Hauptstandort bestätigt das. Auf dem Server sehe ich sogar mit pktstat die eintreffende Anfrage. Ein tcpdump -n -i eno1 bestätigt mir das auch noch mal. So, und jetzt habe ich sogar einen Verbindungsversuch mit ncat hinter mir. Auch hier sehe ich den ankommenden Verbindungsversuch, aber dann passiert nichts mehr. Iptables-Tabelle ist jetzt sogar leer. Daran liegt es also nicht.
Und /etc/hosts.allow bzw. hosts.deny ist nichts hinterlegt. Gerade habe ich keine weitere Idee woran es hängen könnte. Jemand noch eine Idee?
Danke und Gruß
Neue Erkenntnis:
Verbindungen aus dem gleichen Netzwerksegment funktionieren. Ich kann also von einem Testclient, der zum Test dort eingebracht ist den Server anpingen. Auch netcat geht. Aus dem LAN heraus geht es auch. Aber nicht, wenn die Verbindung vom VPN kommt.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 594465
Url: https://administrator.de/forum/verbindung-zum-linux-server-nicht-moeglich-594465.html
Ausgedruckt am: 23.12.2024 um 18:12 Uhr
13 Kommentare
Neuester Kommentar
Hallo,
bei Owncloud konfiguriert man ein Array mit Hostnamen, über die man den Server anspricht. Vielleicht ist das bei NC auch so und Du nutzt einen anderen Hostnamen (oder Direktaufruf über IP-Adresse), der aber noch nicht in der Liste geführt ist?
In dem Fall gibt es aber "eigentlich" auch eine eindeutige Meldung
Gruß,
Jörg
bei Owncloud konfiguriert man ein Array mit Hostnamen, über die man den Server anspricht. Vielleicht ist das bei NC auch so und Du nutzt einen anderen Hostnamen (oder Direktaufruf über IP-Adresse), der aber noch nicht in der Liste geführt ist?
In dem Fall gibt es aber "eigentlich" auch eine eindeutige Meldung
Gruß,
Jörg
Wie ist denn die Uptime des Servers? Nicht umsonst heißt es "reboot tut gut!"
lks
PS: iptables sollte zumindest eine default regel (deny oder allow) haben und nicht leer sein.
Zitat von @it-fraggle:
Neue Erkenntnis:
Verbindungen aus dem gleichen Netzwerksegment funktionieren. Ich kann also von einem Testclient, der zum Test dort eingebracht ist den Server anpingen. Auch netcat geht. Aus dem LAN heraus geht es auch. Aber nicht, wenn die Verbindung vom VPN kommt.
Neue Erkenntnis:
Verbindungen aus dem gleichen Netzwerksegment funktionieren. Ich kann also von einem Testclient, der zum Test dort eingebracht ist den Server anpingen. Auch netcat geht. Aus dem LAN heraus geht es auch. Aber nicht, wenn die Verbindung vom VPN kommt.
Dann prüf mal, was die (SYN-)Pakete aus dem VPN von denen unterscheidet, die aus dem gleichen Netzsegment kommen.
lks
Ich habe so den Verdacht, dass dein Server doch eine andere Route für den Rückweg nutzt als die anderen Server.
Das kannst du mit "ip route get <ipadresse>" nachprüfen und vergleichen.
Wenn die Antworten über ein falsches Interface gesendet werden, könnten diese dort an Firewalls versanden oder z.B. durch NAT auf eine falsche IP-Adresse übersetzt werden.
Mach vom Server auch mal einen Traceroute (mal mit ICMP und mal mit TCP-Source-Port 80 / 443 - dafür musst du den Apache kurz stoppen) zu dem Client von dem aus du den Zugriff testest. Nicht, dass der vorgelagerte Router aufgrund irgendwelcher PBR-Regeln den HTTP-Traffic woandersher leiten will und damit die Route bricht.
Das kannst du mit "ip route get <ipadresse>" nachprüfen und vergleichen.
Wenn die Antworten über ein falsches Interface gesendet werden, könnten diese dort an Firewalls versanden oder z.B. durch NAT auf eine falsche IP-Adresse übersetzt werden.
Mach vom Server auch mal einen Traceroute (mal mit ICMP und mal mit TCP-Source-Port 80 / 443 - dafür musst du den Apache kurz stoppen) zu dem Client von dem aus du den Zugriff testest. Nicht, dass der vorgelagerte Router aufgrund irgendwelcher PBR-Regeln den HTTP-Traffic woandersher leiten will und damit die Route bricht.