Vermeidung von Portangaben durch Subdomains. Wie?

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
Benutzeravatar
Mirulan
Beiträge: 136
Registriert: 18.02.2005 19:20:08
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Vermeidung von Portangaben durch Subdomains. Wie?

Beitrag von Mirulan » 22.03.2020 07:41:33

Hallo Debianerinnen und Debianer,

Ich habe auf meinen Rechner zuhause mehrere Dienste für einen kleinen Verein
hier in Berlin eingerichtet.

Muß oder kann ich einen eigenen DNS Bind aufsetzen, wenn ich vermeiden will, daß die
Leute die Ports angeben müssen und stattdessen dafür eine privat verwaltete Subdomain
ansprechen können? Oder sollte ich sie lieber mit den technischen Realitäten konfrontieren?

Läuft das über meine FritzBox, oder braucht mein Rechner den DNS? Reicht meine FritzBox
die Anfrage auch dann durch, wenn ich subdomain.meinRechner.meineDomain.tld als Adresse
an meinRechner durch, oder muss ich da noch irgendwo drehen?

Ich habe über meinen Webprovider eine eigene Domein und einen DynDNS. Da kann ich nix drehen
um von der subdomain, auf die Ports umzuschalten? Ich habe gerade nachgeschaut und kann nur auf
meinRechner verweisen.

Danke schon mal im voraus!

LG
Mirulan

DeletedUserReAsG

Re: Vermeidung von Portangaben durch Subdomains. Wie?

Beitrag von DeletedUserReAsG » 22.03.2020 09:51:30

Man kann im DNS *.deinedomain.tld auf deine IP setzen, dann wird alles an dorthin weitergeleitet, was mit ›deinedomain.tld‹ endet. Eigentlich sollte™ dein DynDNS-Anbieter das sowieso so konfiguriert haben. Du kannst es einfach testen: ping irgendwas.meinedomain.tld sollte bei deiner IP rauskommen. Wenn das sichergestellt ist, kannst du auf dem Rechner den httpd für namensbasierte virtuelle Hosts konfigurieren und fertig ist’s.

Das ist eigentlich absoluter Standard, seit Jahren – portbasierte vHosts waren noch nie sonderlich verbreitet, und IP-basierte vHosts kann man auch nur nutzen, wenn man mehrere IPs hat – was bei Endanwender-Anschlüssen eher selten der Fall sein dürfte.

tijuca
Beiträge: 296
Registriert: 22.06.2017 22:12:20

Re: Vermeidung von Portangaben durch Subdomains. Wie?

Beitrag von tijuca » 22.03.2020 13:28:03

Für derartiges benötigst Du zwei Dinge.
  • A/AAAA Records pro Subdomain die auf die Public IP Deiner Fritzbox zeigen
  • Entsprechende Reverse Proxy Einträge für den Webserver auf den Du die Public IP per NAT umleitest
Also zum Beispiel:

Code: Alles auswählen

forum.dyndns.bla -> xxx.xxx.xxx.xxx  # A Record für IPv4
forum.dyndns.bla ->  2xxx:xxxx:xxxx:xxxx:xxxxf:xxxx:xxxx:xxxx # AAAA Record für IPv6
website.dyndns.bla -> xxx.xxx.xxx.xxx  # A Record für IPv4
website.dyndns.bla ->  2xxx:xxxx:xxxx:xxxx:xxxxf:xxxx:xxxx:xxxx # AAAA Record für IPv6
Der Webserver bekommt entsprechende Requests mit dem FQDN den der Anfragende in den Webbrowser eingetragen hat, also z.B. forum.dyndns.bla oder website.dyndns.bla um beim obigen Beispiel zu bleiben. Diese musst Du auswerten und entsprechend intern auf die Resource umleiten die die eigentlich Applikation zur Verfügung stellt, diese Technik nennt sich Reverse Proxy. Eine einfach Beispielkonfig für den Apache2 sieht so aus.

Code: Alles auswählen

<VirtualHost *:80>
  ServerName forum.dyndns.bla
  ProxyPreserveHost On
  ProxyRequests Off
  ProxyVia Off
  ProxyPass / http://127.0.0.1:9001/
  ProxyPassReverse / http://127.0.0.1:9001/
</VirtualHost>
Wenn der Webserver auf einem anderen Host liegt musst Du dies bei ProxyPass* entsprechend angeben.

Wenn Du auch noch auf dem Port 443 lauscht dann benötigst Du natürlich einen weiteren VHost Eintrag!
Gibt zahlreiche gute Anleitungen im Netz was Du genau tun musst.

Wenn die anderen Webseiten vom gleichem Webserver (auf Port 80 oder auch 443) ausgeliefert werden dann benötigst Du ganz "normale" VHost Konfigurationen anstatt eines Reverse Proxy.

PS: DNS Einträge werden nicht mit dem Befehl ping abgefragt bzw. geprüft sondern zum Beispiel mit host oder dig. 8)

Antworten