Hallo Kollegen,
Ich habe gerade ein Problem mit meiner Portweiterleitung und möchte dies folgend kurz Beschreiben.
Mein System: Ubuntu 20.04.2 LTS Firewall: ufw Virtualisierung: VirtualBox 6.1.16_Ubuntur140961
Ausgangssituation: Ich habe auf meinem VirtualBox-Guest einen Ubuntu Client 16.04 LTS installiert. Darauf läuft ein Apache2 mit zwei Zertifikaten. Beide Zertifikate funktionieren aus meiner Sicht einwandfrei.
Zertifikat 1: benutze ich für meine Homepage. Zertifikat 2: benutze ich für meine Webanwendung.
Um die Homepage und die Webanwendung zu erreichen, habe ich bei Strato seit Jahren eine Domain mit A-Record und eine Sub-Domain mit A-Record eingerichtet.
Um auf die Virtuelle Maschine zu kommen habe ich eine Weiterleitung eingerichtet, die es mir ermöglichen soll alle Anfragen, die an den HOST über Port 443 gerichtet sind auf Port 8043 weiterzuleiten.
In der virtuellen Maschine habe ich ebenfalls eine Weiterleitung von 8043 auf 443 eingerichtet.
Problem:
Aus irgendeinem mir unerklärlichen Grund funktioniert die Portweiterleitung von 443 auf 8043 nicht. Das bewirkt, dass ich sowohl meine Web-Anwendung als auch meine Homepage nur mit Portangabe wie "www.domain.de:8043" oder wie "subdomain.domain.de:8043" erreiche.
Die Homepage erreiche ich über Port 80 durch Weiterleitung von 80 auf 8022 auf 80 einwandfrei aber eben nur per HTTP Request, jedoch nicht per HTTPS Request.
Was merkwürdig ist
1.) Sehr merkwürdig ist das die Abschaltung der HOST-Firewall nichts bewirkt. Die Homepage ist weiterhin auf Port 80 via Weiterleitung erreichbar und die die Erreichbarkeit von Homepage und Anwendung mit Portangabe in der URL ebenfalls.
2.) Im Gast-System selbst kann ich problemlos beides "Homepage" und "Anwendung" mit funktionierendem Zertifikat ohne Portangabe via HTTPS-Protokoll aufrufen.
Meine Frage Wie ermögliche ich einen ganz normalen Aufruf der Domain und Sub-Domain ohne Portangabe in der URL von einem unabhängigen Ort über das Internet?
In UFW habe ich bereits Weiterleitungen eingerichtet. Vielleicht sind diese falsch.
Das sind die Rules:
kgs-server:~$ sudo iptables -L FORWARD -v -n [sudo] password for mo: Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 0 0 ACCEPT tcp -- eno1 eno1 0.0.0.0/0 0.0.0.0/0 tcp spt:443 dpt:8043 ctstate NEW PHYSDEV match --physdev-in eno1 --physdev-out eno1 0 0 ACCEPT tcp -- eno1 eno1 0.0.0.0/0 0.0.0.0/0 tcp spt:80 dpt:8022 ctstate ESTABLISHED PHYSDEV match --physdev-in eno1 --physdev-out eno1 0 0 ufw-before-logging-forward all -- * * 0.0.0.0/0 0.0.0.0/0 0 0 ufw-before-forward all -- * * 0.0.0.0/0 0.0.0.0/0 0 0 ufw-after-forward all -- * * 0.0.0.0/0 0.0.0.0/0 0 0 ufw-after-logging-forward all -- * * 0.0.0.0/0 0.0.0.0/0 0 0 ufw-reject-forward all -- * * 0.0.0.0/0 0.0.0.0/0 0 0 ufw-track-forward all -- * * 0.0.0.0/0 0.0.0.0/0 kgs-server:~$ sudo iptables -L ufw-before-forward -v -n Chain ufw-before-forward (1 references) pkts bytes target prot opt in out source destination 0 0 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED 0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmptype 3 0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmptype 11 0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmptype 12 0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmptype 8 0 0 ACCEPT tcp -- eno1 * 0.0.0.0/0 01.02.03.04 tcp spt:8022 dpt:80 0 0 ACCEPT tcp -- eno1 * 0.0.0.0/0 01.02.03.04 tcp spt:443 dpt:443 0 0 ACCEPT tcp -- eno1 * 0.0.0.0/0 01.02.03.04 tcp spt:8023 dpt:8023 0 0 ufw-user-forward all -- * * 0.0.0.0/0 0.0.0.0/0
Ich finde den Fehler leider nicht und würde mich sehr darüber freuen, wenn mir weitergeholfen wird. Vielen dank im Voraus!