Subdomain-Auflösung am dyn. Anschluss

bacon

Experte
Thread Starter
Mitglied seit
14.08.2012
Beiträge
213
Hallo zusammen,

mein Kumpel und ich sind was technische Spielereien/Gimicks angeht immer gerne am spielen und testen.
Da er hier ambitionierter ist und auch andere Gegebenheiten hat wie ich findet die erste Umsetzung meistens bei ihm statt.
So gewisse Grundkenntnisse die halt im Bereich Heimnetzwerk da sind bringen wir mit.
Das ein oder andere hat man beim Googlen mal gelesen.

Folgende Ausgangssituation:
Eine Internetanbindung erfolgt über einen dynamischen (KabelBW) Anschluss mit einer FritzBox Cable 6360.
Da hinter sind div. Clients und ein "Server" der haupsächlich als Datengrab aber eben auch als Spielwiese für div. Anwendungen fungiert.
Momentan laufen Dienste wie IP-Symcon (Automation), DVBViewer Recording Service bzw. Alternativprodukt, TV-Server, TS und eine VM mit einem Gitlab darauf.

Eine dyndns Adresse ist bei selfhost registriert mit einer .ws Adresse registriert.
Hier besteht Zugriff auf die Nameserver Einstellungen.

Allgemeines Problem:
Da momentan eigentliche alle Dienste einen Webserver mitbringen, kann der Port 80/443 ja nur immer für eine Anwendung/Client genutzt werden.

Nun soll folgendes realisiert werden:
Da mein Kumpel es unschön findet, an seine Adresse ständig irgendwelche Ports dran zu hängen (irgendwann ist man evtl auch überfragt welcher Port für welche Anwendung),
soll dies per Subdomain gelöst werden.
Per Subdomain symcon.xxx.ws soll man auf der Weboberfläche der IP-Symcon landen. Diese bringt einen Webserver von Hause aus mit in welcher der Port frei wählbar ist.
Per Subdomain dvb.xxx.ws soll dann auch das Webinterface des Recording Services abrufbar sein das auf der gleichen Maschine unter Port 8089 erreichbar ist.
Das gleiche gilt dann auch für Gitlab.
Wenn es für den TS auch machbar wäre, würde ich es lösen. Ist aber laut Kumpel kein muss. Auch habe ich mittlerweile hier im Forum erfahren, dass dies so einfach nicht machbar ist
zwecks UDP. Würde dann über einen SVR Eintrag erfolgen. Von demher momentan mal außen vor.

Wenn ein besserer Dienstanbieter hier abhilfe bringt (ich bezweifle es), bezahlt man lieber ein paar Euronen mehr, ohne weiter HW anschaffen/betreiben zu müssen.
Habe mir DomainFactory angeschaut. Finde die mit ihrem FAQ um Längen besser. Jemand mit Erfahrungen hier??

Folgende Überlegungen wurden schon getroffen:
Da ich hier im Forum und auf Arbeit über die Sophos UTM gestolpert bin hat die mich prinzipiell mal interessiert.
Hier kann man was Webservices angeht per Webprotection/NAT das lösen. Auch wenns für einen Schnellschuss mal gereicht hat
finde ich dies Lösung wie mit Kanonen auf Spatzen geschossen.
Könnte man alles auf einer Maschine abbilden, könnte man bestimmt über die Apache-Konfig die Subdomains/Zugriffe festlegen.
Ob man an den Webservices von IP-Symcon/DVBViewer prinzipiell hier was drehen kann weiß ich nicht. Das habe ich mir noch nicht angeschaut.

Unser IT´ler, den ich mal gefragt hatte und belächelt wurde (ich kanns verstehen), hat heute näkischer weise mal wieder nachgefragt.
Dabei hat er irgendwas von einer Datei auf dem Rechner gesagt die wohl bei einer DNS-Auflösung abgefragt wird unter welcher Adresse die Maschine reagieren soll.
So was habe ich verstanden und den Fachbegriff leider vergessen.

Um der Thematik "HW-Anschaffung" aus dem Wege zu gehen, habe ich mir überlegt:
Da der Server (Datengrab) bei ihm eh 24/7 läuft, könnte man die zu vermittelnde Instanz (Anfragen kommen über eth0 192.168.1.0/24 // I-Net) in eine VM packen und
die Packete gehen dann über eth1 Virtual Adapter (192.168.56.0/24) auf andere VM´s am Virtual Adapter weiter.

Was wird hier nun gebraucht? Ein Proxy ala squid oder wie der heißt?
Oder reicht es in den Konfig-Files was abzuändern, vergleichbar wie bei Apache?

Ich bin auf den regen Informationsaustausch gespannt.
Danke
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Das einfachste wäre höchstwarscheinlich ein reverse proxy z.B. nginx der dann xyz.deinedomain.tld an den internen dienst/ip weiter leitet. Das ganze kann man dort relativ einfach mit
Code:
	server {
	listen 80;
	listen [::]:80 ipv6only=on;
server_name xyz.deinedomain.tld;
location / {
		proxy_pass http://xxx.xxx.xxx.xxx; 
}
}
 
Also ich habe es bei mir ohne Subdomains geloest(ich hab zwar auch welche im einsatz, aber nicht wegen den Webservices). Ich nutze meinen eigentlichen Webserver (Apache) als Reverse Proxy fuer die Anderen Webdienste die ich von aussen erreichbar haben moechte. Die Jeweiligen dienste spreche ich dann per Pfad in der URL an.
Das heisst also wenn ich z.B. einen Webmail ansprechen will, dann geh ich halt ueber: https://example.com/webmail

Das ganze muesste auch ueber subdomains gehen, aber da muss bei https dann das Zertifikat passen und zu ich glaube es war auch aufwendiger name based virtual hosts mit ssl einzurichten. Und alles was eine Anmeldung erfordert oder potentiell nicht oeffentliche Daten transportieren soll, sollte schon ueber https gehen.
 
ganz simpel wäre es über den Apache (scheint vorhanden zu sein?) ein Redirect bei der jeweiligen subdomain auf die eigentliche zieladresse zu machen
Ob damit alle dienste können musst du ausprobieren
 
Ah das hört sich schon mal interessant an.
Aber da uns hier div. Grundlagen fehlen muss ich mal einhaken:
Würde ich den nginx nutzen müsste der dann als "gateway" wo alle Clients gesetzt werden oder mach ich den über Portforwarding als einzigsten Host
von draußen erreichbar?
Die Alternative mit Apache als ReversProxy hatte ich glaube ich auch schon mal versucht bin aber kläglich gescheitert.
Ich würde dann einfach nur noch den Port 80/443 im Router auf den Apache aufmachen und von dort weiterleiten.
Auf den entsprechenden Clients dann (sofern möglich) alle auf Port 80/443 umstellen und im Router bräuchte ich dann keine weiteren Ports.
Oder muss ich die abweichenden Ports dann auch noch aufmachen?
Die Doku von der Apache-Seite fand ich auch nicht hilfreich und ich meine mich zu entsinnen, alle anderen Quellen war auch nicht prickelnd.

Hat von euch jemand Quellen/Tuts wo da gut darauf eingehen?
 
suche sowas änliches...wäre ebenfalls über Infos dankbar.
 
Also Reverse Proxy ist funktioniert bei Apache und nginx nach dem gleichen prinzip, nur die Konfiguration wird sich eventuell unterscheiden:
Du musst dann nur die Ports 80 und 443 auf den Webserver weiterleiten auf dem der Apache laeuft.
Als Beispiel fuer die Apache Konfiguration:
Ich habe auf meinem Webserver meine Website ganz normal eingerichtet.
In der Kofiguration fuer die https Seite habe ich dann einfach ein paar locations angelegt mit einem Reverse Proxy
Das Ganze sieht dann so aus:
<Location /weiterleitung>
ProxyPass http://192.168.0.3:8888
ProxyPassReverse http://192.168.0.3:8888
</Location>
das kannst du dann von aussen als https://deine.domain.tld/weiterleitung erreichen.
Bei ProxyPass muss in dem Fall halt immer die interne Adresse des anderen Servers stehen.

Wenn du es nicht verschluesselt haben willst kannst du auf Port 80 name based virtual hosts betreiben und bei diesen dann entsprechend reverseproxys einstellen.
 
Da bin ich noch mal.
Habe zwar mal rund um die Thematik apache, proxy gegoogelt und ein paar Dinge ausprobiert.
Leider ohne den erhofften Erfolg, daher ist es doch wieder auf die lange Bank geschoben worden.
Haben mit diesem Link jetzt noch mal einen Versuch unternommen
und bin zu folgendem Ergebnis gekommen:

Prinzipiell leitet er mich auf den Ziel dienst von der VM auf meinen Server weiter (Calibre eBook Server) allerdings wenn ich dort auf einen Link klicke
bekomme ich die Fehlermeldung, dass die gewünschte Adresse nicht verfügbar ist.
Die VM ist der Einfachheit halber in der Fritzbox als Exposed Host eingetragen. Mache ich jetz noch für den Server Port 80 auf, dann funktioniert das alles.

Auf dem Server läuft noch ein SecureWAMP. Auf dem habe ich auch mal mit einem vhost getestet und da funzt das dann alles.
Als ProxyPass Ziel habe ich dann die 127.0.0.1 eingetragen.

Die vhost sieht folgendermaßen aus
<VirtualHost *:80>
ServerName dvb.blubber.de

ProxyRequests Off
ProxyPreserveHost On
ProxyVia Off

ErrorLog /var/log/apache2/error_dvb.log
LogLevel warn
CustomLog /var/log/apache2/access_dvb.log combined

ProxyPass dvb.blubber.de http://192.168.2.1:85
ProxyPassReverse dvb.blubber.de http://192.168.2.1:85

</VirtualHost>

Was mache ich falsch?
Ich hatte verstanden dass der Proxy des Apache dann den ganzen Verkehr verwaltet.
Ich kann mit Portforwarding nur ein 80er auf machen.
 
der Link sieht so aus:
http://dvb.blubber.de/browse/category/allbooks

Allerdings habe ich die *.conf bearbeitet und kein Backup angelegt.
Jetzt lande ich im www root verzeichnis und bekomme den Inhalt angezeigt.
In der Conf hatte ich noch was mit <Proxy *> <Proxy> stehen.
Muss mal schauen wo ich das her hatte.
 
Muss den Thread noch mal hochholen.

Die Thematik hat sich mittlerweile gelöst.
Habe eine eigene vhost angelegt und folgeendes eingetragen:
<VirtualHost *:443>
ServerAdmin webmaster@localhost
ServerName tv.domain.de

ProxyPreserveHost On
ProxyRequests Off
ProxyVia Off
ProxyPass / http://192.168.2.1:8089/
ProxyPassReverse / http://192.168.2.1:8089/
</VirtualHost>

Läuft mttlerweile unter eine Debian VM einwandfrei.

Jetzt hätte ich noch ein anderes Anliegen.
Ich hätte die einzelnen Dienste jetzt gerne aus dem internen Netz z.B. über http://192.168.2.1/tv erreichbar.
Aber nicht über http://domain.de/tv. Den das ist dann immer auch das Ergebnis.
Wie kann man das lösen? Mit der Doku vom Apache über Namebased-Hosts bzw. IP-based dacht ich,
ich könnte das hinbekommen. Aber fehlanzeige.
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh