So debuggen Sie einen (von der WAN-Seite aus) nicht erreichbaren Lemp-Server, der durch eine AWS-basierte OpenVPN-AS-Instanz tunnelt

So debuggen Sie einen (von der WAN-Seite aus) nicht erreichbaren Lemp-Server, der durch eine AWS-basierte OpenVPN-AS-Instanz tunnelt

Ich habe mir wochenlang den Kopf zerbrochen, um einen einst perfekt funktionierenden LEMP-Webserver zu debuggen. Ich verwende ein relativ kompliziertes Setup. Beginnen wir mit meinem Setup von Anfang an, als alles perfekt funktionierte.

Schritt 1 (Funktionierendes Setup): lemp-Server/nginx > Raspberry Pi > Sekundärer Router mit weitergeleiteten Ports > Primärer Router mit weitergeleiteten Ports > Öffentliches Internet, das Webseiten bereitstellt

Ich betreibe einen Lemp-Server mit Raspian OS auf einem Raspberry Pi 4. Nginx betreibt einen Reverse-Proxy über meinen sekundären Router, der mit meinem primären Router/Modem verbunden ist. Der primäre Router/das primäre Modem leitet https- und http-Ports an den sekundären Router weiter, der diese Ports dann an den Raspberry Pi weiterleitet. Der Raspberry Pi erhält erfolgreich Zertifikate von Certbot und betreibt eine voll funktionsfähige Website, die über das öffentliche Internet zugänglich ist.

Schritt 2a (Funktionierendes Setup): Lemp-Server/nginx > Raspberry Pi > Sekundärrouter > EC2 OpenVPN-AS-Tunnel > Primärrouter mit weitergeleiteten Ports > Öffentliches Amazon Internet, das Webseiten bereitstellt. Als Nächstes habe ich eine AWS EC2 OpenVPN-AS-Instanz erstellt und führe sie als Server aus. Von dort aus installiere ich OpenVPN auf meinem Raspberry Pi Lemp-Server, ändere die DNS meiner Domänen, sodass sie auf die IP-Adresse meiner OpanVPN-AS-Instanz statt auf meine Heim-IP verweisen, und führe dann OpenVPN als Client auf meinem Lemp-Server aus, wobei ich meinen Webserver erfolgreich durch die OpenVPN AWS-Instanz ins öffentliche Internet tunnele. Dieses Setup funktioniert.

Bis....

Ich unternehme etwas, um alle Verbindungen zum Server über das VPN vollständig zu unterbinden. Das Problem ist, dass ich absolut keine Ahnung habe, was ich getan habe, um dieses einst funktionierende Setup zu ändern. Ich weiß, dass ich den Pi aktualisiert habe, und ich glaube, ich habe vielleicht den internen Hostnamen geändert, aber das ist alles, woran ich mich erinnern kann, bevor mein Pi zu einem toten Server wurde.

Im internen Netzwerk funktioniert der Webserver bei Verwendung des EC2-Tunnels weiterhin mit der lokalen IP.

Mir ist aufgefallen, dass mein Webserver zwar aufgrund der AWS-Tunneleinrichtung nicht mehr funktioniert, aber sobald ich meinen Server wieder ohne den Tunnel an meinen Heimrouter anschließe und meinen DNS wieder auf meinen Heimrouter richte, beginnt der Server wieder öffentlich zu funktionieren. Ich kann einfach nicht genau sagen, was sich geändert hat, seit mein Server nach dem Tunneln durch AWS OVPN funktionierte, und jetzt funktioniert er nicht, aber irgendwie funktioniert er mit minimal geänderten Einstellungen auf meiner Heim-IP. Die einzigen Dinge, die ich wirklich ändere, wenn ich von AWS zum Heimrouter wechsle, ist, auf welche IP der Domänen-DNS zeigt und ob der VPN-Tunnel aktiv oder inaktiv sein soll.

Was den Amazon-OVPN-Tunnel betrifft, wird dieser auch ordnungsgemäß aufgelöst und der Server erhält die neue Amazon-IP-Adresse ordnungsgemäß.

Ich weiß, wie man Server baut, aber ich bin buchstäblich ein Superman-Noob, wenn es darum geht, sie zu debuggen und herauszufinden, wo die Verbindung schlecht wird. Meine Frage ist also ...

Könnte mir bitte jemand ein paar Schritte erklären, wie ich das beheben kann, und meinen Webserver über meine OpenVPN-Instanz mit einer Amazon-IP-Adresse wieder zum Laufen bringen? Abgesehen von meinen erfolgreichen Pings durch den Amazon-Tunnel und einem einwandfrei aussehenden Traceroute habe ich nicht die geringste Ahnung, wo ich überhaupt anfangen soll.

Meine EC2-Ports 443 und 80 sind geöffnet und ich habe es sogar bei deaktivierten Firewalls versucht, ohne Erfolg.

Ich bin für alle Ratschläge, Tipps, Komplettlösungen oder anfängerfreundlichen Schritte dankbar, die mir beim Debuggen helfen und dabei helfen, festzustellen, wo die Verbindung abbricht!

Antwort1

Bestätigen die VPN-Protokolle, dass der Tunnel tatsächlich aktiv ist?

Sie sagen, Sie können erfolgreich ein Traceroute zu den öffentlichen IP-Adressen durchführen. Können Sie eine manuelle Verbindung über Telnet herstellen? Beispiel: Wenn Ihre Host-IP 123.456.789.123 ist: Telnet 123.456.789.123 80

Sie sollten eine Antwort wie die folgende erhalten:

Versuche 123.456.789.123... Verbunden mitwww.beispiel.com. Das Escape-Zeichen ist '^]'.

Wenn das funktioniert, können Sie den Server mit folgendem Befehl testen: GET /index.htm HTTP/1.1 host: 123.456.789.123 <Zeilenvorschub - zweimal die Eingabetaste drücken>

Der Server sollte mit der Indexseite html antworten: HTTP/1.1 200 OK Date: ...etc

verwandte Informationen