Archiv verlassen und diese Seite im Standarddesign anzeigen : NAT Loopback/Hairpinning
Ben Carter
2022-09-26, 12:01:16
Hallo allerseits!
Ich habe zuhause (privat) folgende Situation:
Ich hänge mittels LTE im Internet. Mein Modem/Router kann kein NAT Loopback/Hairpinning.
Ich habe einen Webserver, der sowohl von außen (Internet) als auch von innen (LAN) unter der gleichen Domain erreichbar sein sollte. Grund ist, dass die eingesetzte Websoftware leider nur einen Aufruf ermöglicht.
Ich habe bei meiner Domain eine Subdomain mittels dem DDNS-Service meines Domain-Providers eingerichtet. Von außen funktioniert alles tadellos. Rufe ich jedoch vom LAN aus die Adresse auf, klappt es wegen fehlendem NAT Loopback nicht. Unter Windows ist das noch kein Problem, da ich einfach in der hosts einen manuellen Eintrag erstelle und alles funktioniert.
Jedoch sollen auch Android-Geräte auf den Webserver zugreifen und damit beginnen die Probleme:
a.) Eine Hosts-Datei kann man auf Android Geräten nicht einfach bearbeiten. Rooten ist für mich keine Option (zumal nicht alle Geräte rooten gehen)
b.) das Galaxy Tab A8, welches hauptsächlich benutzt wird, verwendet immer den Google DNS, selbst wenn ich in der WLAN-Konfiguration was anderes einstelle, das heißt, selbst wenn ich mir selbst einen DNS mit einer statischen Route einrichte, ist es keine Lösung. Zumindest für die Windows-Geräte wäre es etwas eleganter als das editieren der hosts-Datei.
c.) es gibt Apps wie Host Go, mit der man temporär die Einträge anpassen kann. Damit funktioniert es im Augenblick. Als Übergangslösung okay, als Dauerlösung nicht.
Somit fällt mir nur noch die Lösung ein, auf einen Router zu wechseln, der eben NAT Loopback bzw. Hairpinning unterstützt. In Kombination mit einem LTE Router sieht es nicht gut aus (angeblich kann es der TP-Link Archer MR600, doch im Handbuch hab ich dazu nichts Konkretes gefunden). Obendrein werde ich früher oder später zu 5G wechseln und damit beginnt das Drama von vorne.
Und jetzt zur eigentlichen Frage. :freak:
Würde es auch klappen, wenn ich den LTE-Router mittels Brückenmodus mehr oder weniger in ein Modem verwandle und dahinter einen normalen WAN/LAN-Router mit NAT Loopback-Unterstützung hänge? Ich bin mir da nämlich nicht ganz sicher, da ich nicht weiß, wie genau die Datenpakete geroutet werden. Ob sie dann wieder bis zum LTE-Router gehen und dort zurück ins LAN oder ob sie schon beim normalen Router zurück ins LAN gehen.
Zugegeben bin ich mit dieser Materie nicht mehr sehr vertraut und wenn ich es richtig verstanden habe, würde es nicht funktionieren, da die Datenpakete erst am Port mit der externen IP-Adresse wieder ins LAN geschleust werden und somit die Antwort-Pakete erst wieder mit der falschen Absender-IP (interne IP des Webservers, statt externe IP) an den Client zurückkommen.
Gibt es vielleicht noch eine gänzlich andere Lösung?
Webserver: Windows 11, IIS
Clients: Windows und Android Geräte
SSL verpflichtend (gelöst mittels Let's Encrypt-Zertifikat)
Synology-NAS vorhanden - damit kann ich z.B. einen eigenen DNS aufsetzen
DNS-Records können von mir bearbeitet werden, ich kann auch neue Einträge erstellen
Falls es keine andere Lösung gibt, kennt jemand einen LTE-Router der definitiv über die benötigte Funktionalität verfügt?
Vielen Dank!
lg Ben
konkretor
2022-09-26, 14:45:59
Split DNS?
Ben Carter
2022-09-26, 16:33:50
Mal kurz dazu quergelesen. Wenn ich das richtig verstanden habe, muss ein Split-DNS auf dem DNS-Server erstellt werden oder übersehe ich da etwas? Denn das hilft dann bei dem Android-Gerät, dass immer den Google-DNS nutzt, leider nicht weiter.
EDIT: habe gerade noch das gefunden: https://techgenix.com/you_need_to_create_a_split_dns/
Muss ich noch im Detail anschauen (und alles verstehen), aber auf den ersten Blick könnte es doch eine Lösung sein!
qiller
2022-09-26, 19:22:13
Du trägst deine DynDNS-Domain in deinen DNS-Resolver ein, der für die interne Namensauflösung zuständig ist, entweder direkt im Resolver-Dienst (wenn der konfigurierbar ist) oder eben einfach als hosts-Eintrag. Hinterlegen tust du dann einfach die interne IP-Adresse deines Servers.
192.168.135.99 yourdomain.dyndns.org
Damit bekommen alle internen Geräte einen direkten Zugriffs übers LAN auf den Server, was auch einen Geschwindigkeitsvorteil bringen sollte.
Wenn man von außen auf den Server zugreift, gucken alle DNS-Resolver auf die dyndns-Einträge und finden wie gehabt, deine externe, öffentliche IP-Adresse deines Anschlusses.
Diese "Aufsplittung" der Namensauflösung nach interner und externer Namensauflösung nennt man "Split-DNS".
PS: Machen wir bei uns auch so mit unserer Nextcloud. So haben wir intern mehr oder weniger LAN-Speed (Nextcloud-Server liegt in der DMZ) und extern halt den Up-/Downspeed der Internetleitung. Und der Aufruf von Nextcloud läuft intern wie extern immer über denselben FQDN, was auch die Verschlüsselung per Letsencrypt vereinfacht und auch weniger Probleme bei Roaming Devices (primär mobile Geräte wie Smartphones, Laptops oder Tabletts) macht, da man immer auf denselben FQDN zugreift, aber je nach Standort eben unterschiedliche IP-Adressen zurückbekommt.
Ben Carter
2022-09-27, 08:26:33
Danke für den Tipp und die Erklärung. Ich fürchte, das löst mein Problem nicht wirklich bzw. nur zum Teil. Es ist bei den Windows-Geräten definitiv die schönere Lösung, da ich nicht bei jedem Gerät die hosts Datei bearbeiten muss.
Allerdings greift das Android Tablet nach wie vor auf den Google-DNS zu, selbst vom LAN aus, ganz gleich, was ich in der Konfiguration des WLANs am Tablet einstelle.
qiller
2022-09-27, 18:37:29
...
Allerdings greift das Android Tablet nach wie vor auf den Google-DNS zu, selbst vom LAN aus, ganz gleich, was ich in der Konfiguration des WLANs am Tablet einstelle.
:| - DoH (DNS over HTTP) deaktiviert? Also wenn das defintiv nicht änderbar ist, wär das für mich ein Fall von "Aussortieren". Kann ich mir aber nicht vorstellen, denn sämtliche Split-DNS Konfigurationen basieren auf obigem Prinzip. Hab selber keine Andoid-Geräte, aber das muss dann eine Eigenart dieses Tabletts sein und dürfte nicht allgemein auf Android übertragbar sein.
PS: Aus Datenschutzgründen ist so ein Gerät auch schon nicht mehr verwendbar (wenn man bei Android überhaupt von Datenschutz sprechen kann^^). Denn über DNS-Abfragen kann man viel zu viele Informationen abfischen. Ein Grund, warum bei uns über DoT (DNS over TLS) viele verschiedene Resolver in der DNS-Auflösung involviert sind.
Ben Carter
2022-09-27, 19:58:26
Ich hab es nochmals auf allen Android-Geräten, auf die ich Zugriff habe, getestet (sind alles Samsung-Geräte: Galaxy Tab S4, A8, S10e, S21) und bei allen verhält es sich gleich.
Hier die Einstellungen, ich denke nicht, dass ich was übersehen habe. Ich hab es auch mal mit Firefox getestet.
80651 80652 80653
Unter Windows funktioniert der Aufruf einwandfrei. Ich habe den einfachsten Aufruf (nur Hostname) hergenommen. Aber auch mit hostname.local probiert (geht nicht). Mit der IP Adresse kann ich den Webserver einwandfrei erreichen. Bindungen im IIS sind alle eingetragen, unter Windows klappen alle Aufrufe auch ohne modifizierter Hosts.
Der eingetragene DNS ist mein Modem/Router, als noch nichts selbst Gebautes. Geräte austauschen ist keine Option. Da mach ich notfalls wirklich mit einer App wie Host Go weiter, auch wenn mir das zuwider ist.
lg Ben
qiller
2022-09-27, 20:04:25
Krasser Müll, kann das wer Anderes mit einem Android-Gerät bestätigen?
Akzeptiert er denn DNS-Einträge, die über DHCP verteilt werden?
Edit: WTF? (https://forum.xda-developers.com/t/q-android-ignores-my-dns-settings.3007225/)
Edit2: Ok, Google-DNS scheint wirklich teilweise hardcoded in Android zu sein: https://forum.openwrt.org/t/force-android-phone-to-use-local-dns-for-local-domain-name-resolving/77204
Der eine schreibt sogar, wenn er per Firewall-Regel Google-DNS sperrt, nimmt das Smartphone automatisch Huawei-DNS-Server oO. Vollkommen verrückt. Der eine schreibt auch, dass Firefox on Android, und ich denke Google Chrome evt. auch, haben eine eigene DNS-Einstellung. Beim Firefoxx weiß ich, dass er defintiv DoH kann, aber ka, ob das standardmäßig aktiviert ist. Solltest mal überprüfen.
Edit3: Verdammt, ich wollte eigt. in 1-2 Monaten mein altes Windows Mobile Phone durch nen Google Pixel ablösen. Wenn der mit Split-DNS und lokalen Resolvern nicht klar kommt, wär das schlecht :x. In obigem Thread schlägt da noch wer ne "Blockada"-App vor, wo man wohl über einen lokalen DNS-Server tunnelt, das funktioniert wohl auch mit lokalen Namensauflösungen. Nur sieht mir die App nicht geheuer aus :x.
Edit4: Tjoar, https://support.google.com/pixelphone/thread/139593141?hl=en&msgid=143845035
Ben Carter
2022-09-27, 20:39:37
Ja, das ist wirklich furchtbar. Ich mach noch einen Versuch. Man kann bei den allgemeinen Verbindungseinstellungen einen privaten DNS-Anbieter auswählen. Aber natürlich kann man da nicht einfach nur eine IP Eintragen, das wäre ja zu einfach :freak:. Also hab ich bei meiner Domain einen weiteren DNS Eintrag erstellt, der auf meine interne Router-IP zeigt. Dann kann ich das vielleicht eintragen.
Host Go kann das mit dem VPN Zeugs auch. Oder eben einfach die Host editieren. Nur muss die App halt laufen: https://play.google.com/store/apps/details?id=dns.hosts.server.change&hl=de_AT&gl=US
Zumindest wirkt sie recht seriös.
Mal warten, bis die neuen DNS Einträge bei Google angekommen sind, dann werde ich das noch testen.
Im Firefox habe ich btw. keine Einstellungen gefunden und die in Chrome hab ich vorhin schon gepostet (2. Screenshot).
lg Ben
qiller
2022-09-27, 20:44:37
Er hatte hier wohl Erfolg.
https://support.google.com/pixelphone/thread/139593141?hl=en&msgid=149146853
Edit: Hier hatte wohl ein Februar Update was gebracht: https://support.google.com/pixelphone/thread/139593141?hl=en&msgid=150253621
Ben Carter
2022-09-27, 20:56:45
Spannend. Am Tab S4 habe ich noch Android 10, am Handy hab ich ein aktuelles Android. Wenn .local nicht geht (und somit vermutlich auch Hostname alleine nicht) muss ich wohl mal den lokalen DNS aufsetzen, damit ich dann eine fixen Eintrag erstellen kann.
Wenn es klappt, wäre es zumindest für die neueren Geräte gut. So oder so ist das trotzdem irgendwie hirnrissig und mich wundert, dass das keinen größen Aufschrei erzeugt hat.
EDIT: btw. wenn ich 8.8.8.8 und 8.8.4.4 blocke, nutzt das S4 auf jeden Fall irgendeinen anderen DNS, aber nicht den lokalen.
qiller
2022-09-27, 21:01:36
Omg^^. Also .local ist wohl hardcoded für mDNS reserviert, das kann ich ja noch halbwegs akzeptieren (wobei nen An-/Ausschalter dafür trotzdem schön gewesen wäre). Aber das lokale DNS-Server Einträge ignoriert werden nicht. Man muss wohl irgendwie diese "Private-DNS"-Einstellung auf deaktiviert gesetzt bekommen, dann soll es wieder funktionieren.
Edit: Klingt für mich alles irgendwie schon wieder nach ner Google-Bevorzugung ("Google möchte unsere DNS-Anfragen haben") und riecht regelrecht nach der nächsten Sammelklage.
Ben Carter
2022-09-27, 21:09:12
Ja, das geht ganz einfach in den Verbindungseinstellungen und tatsächlich, unter Android 12 funktioniert es. Unter Android 10 nicht. Ich konnte es mit der Adresse meines Routers testen, da diese keine .local Adresse ist.
Das ist zumindest schon mal ein guter Schritt nach vorne, da das Gerät, auf dem es unbedingt gehen sollte, Android 12 ist. Der Rest ist nice to have und kann im Zweifelsfall immer noch über die eigene Mobilverbindung von außen zugreifen statt über das WLAN.
Vielen, vielen Dank für deine Mithilfe! :up:
Jetzt kann ich mich auf den Split-DNS stürzen, ergo den DNS Server einrichten. Mal sehen, auf was ich da so stoße. Wie aus einer kleinen Kleinigkeit plötzlich ein riesiges Projekt wird. :D
EDIT: grundsätzlich hab ich ja nichts dagegen, wenn Google standardmäßig mal den eigenen DNS nutzt. Der ist sehr gut und viele Prover-DNS sind eine Katastrophe. Aber es sollte eben einfach änderbar sein.
EDIT2: Nach Neustart geht es auch auf Android 10 und auf dem Android 11 Gerät klappt es auch. Somit funktioniert es überall! YES!
qiller
2022-09-27, 21:18:25
Ne sry, wenn per DHCP ein DNS-Server mitgeteilt wird oder statisch ein DNS-Server hinterlegt ist, sollte der auch vorzugsweise genutzt werden. Das was Google da macht, ist Machtausnutzung vom feinsten und sollte geahndet werden. Was meinste, was los wäre, wenn Microsoft so einen "Dezember"-DNS-Spaß-Patch rausbringen würde, der dazu führt, dass mal eben alle DNS-Server Einträge ignoriert werden und immer Microsoft-DNS-Server benutzt würden. Da wär die Hölle los. Sämtliche lokalen AD-Domänen wären dann schrott^^.
Ben Carter
2022-09-27, 21:50:00
Das stimmt.
So, DNS Server am NAS eingerichtet und somit läuft Split-DNS und damit am Ende alles, was ich erreichen wollte. Vielen Dank nochmals an alle hier!
Ben Carter
2022-11-19, 08:55:45
Update: mein Router hat den Geist aufgegeben, somit hab ich die Gunst der Stunde genutzt und den TP-Link Archer MR600 gekauft. Dieser kann NAT Loopback und es funktioniert einfach. Man muss nichts einstellen oder so.
vBulletin®, Copyright ©2000-2025, Jelsoft Enterprises Ltd.