DNS-Auflösung auf Owncloud-Server (DS-Lite, IPv6) funktioniert (nur) unter Android/Win10 im WLAN nicht

blackhole42

Newbie
Registriert
Mai 2020
Beiträge
7
Hallo,

ich bin kürzlich zu Unitymedia/Vodafone gewechselt und möchte nun meinen Owncloud-Server wieder von außen erreichbar machen. Ich habe in meiner Fritz!Box 6660 alles soweit eingestellt, dass ich über die MyFritz-Adresse und IPv6 darauf zugreifen kann. Das funktioniert auch grundsätzlich: Von meinem Laptop (MacOS) kann ich die Owncloud-Instanz aufrufen, insbesondere die DNS-Auflösung funktioniert.

Was nicht geht, ist die DNS-Auflösung unter Android, aber interessanterweise nur im WLAN. Ich bin auch mit meinem Mobiltelefon bei Vodafone. Wenn ich dort WLAN ausschalte und über das Vodafone-Netz auf den Owncloud-Server zugreife, funktioniert es, der Hostname wird aufgelöst und ich komme auf meine kleine Kiste. Wenn ich aber mit dem Android (Samsung S10, Android 10) im WLAN der Fritz!Box 6660 bin, funktioniert die DNS-Auflösung nicht (ERR_NAME_NOT_RESOLVED). Auch auf einem anderen Rechner (Windows 10) funktioniert es im lokalen WLAN nicht.
Auf dem Android habe ich schon versucht, den DNS umzustellen (z.B. auf Cloudflare 1.1.1.1) - ohne Erfolg.

Ich komme nicht dahinter, was das Problem ist. Wie gesagt, wenn ich am Android das WLAN ausschalte, geht es wunderbar. Das Android beherrscht IPv6 also offenkundig. Ebenso geht es unter MacOS.

Hat hier jemand einen Tipp oder eine Idee?

Danke!
Blackhole
 
Was tippst Du da fuer einen Namen, der per LAN erreicht werden soll?
Das gleiche, was Du tippst um von aussen auf das Ding zu kommen?
 
Ja. Genau das gleiche. Und wie gesagt: Unter MacOS kein Problem, unter Android und Win10 schon...
Ergänzung ()

ps: Unter Android habe ich auch die App "IPv6 and more" ausprobiert, um einfach nur irgendwie zu schauen, ob ich den Namen aufgelöst bekomme. Auch dort der Fehler "ERR_NAME_NOT_RESOLVED".
 
Mach doch mal von dem Windows-PC ein

nslookup ipv4-adresse-der-owncloud

Der Name der da kommt ist der den Du zu verwenden hast intern. Oder halt gleich die interne IP.

Es macht keinen Sinn Geraete im internen Netz mit dem Namen oder der IP aufzurufen die von extern verwendet wird.
 
Also, wie so oft komme ich in eine Situation, binnen kürzester Zeit in verschiedenen Threads dasselbe zu erklären. Threads sind Herdentiere wie mir scheint... ;)


Wenn du von "innen" dasselbe eingibst wie von "außen", dann muss man sich ganz genau anschauen was da passiert. Von außen wird eine DDNS-Domain stets auf die öffentliche IP aufgelöst. Von innen standardmäßig ebenfalls. Während es aber von außen logischerweise zwingend erforderlich ist, dass die Verbindung dann durch den WAN-Port des Routers zum Ziel im heimischen Netzwerk geht, ist es aber von innen nicht sinnvoll und unpraktisch!

Beispiel:

www
|
(WAN)
Router (LAN) --- Server
(LAN)
|
Endgeräte

Wenn man nun von außen auf den Server zugreift, geht die Verbindung folglich

Gerät_im_www->wan->Router->lan->server

Geht man über dieselbe Adresse, also die WAN-IP des Anschlusses via DDNS, dann geht die Verbindung einen ähnlichen Weg:

Endgerät->lan->Router->wan->Router->lan->Server

Das ganze nennt sich NAT-Loopback. Dabei bemerkt der Router im letzten Moment, also quasi im WAN-Port, dass er selbst das Ziel ist und dreht die Verbindung um 180° um. D.h. dass auch im rein lokalen Zugriff vom PC zum Server der Router immer arbeiten muss, weil er jedes einzelne Paket durch den WAN-Port schleusen muss. Das gilt im übrigen auch für den Rückweg, weil die Quelle der Verbindung in dem Moment erneut die WAN-IP des Routers ist. Die Folge ist je nach Leistungsfähigkeit des Routers (-> WAN throughput) die Geschwindigkeit der Verbindung massiv eingeschränkt ist. Schafft der Router zB nur 300 Mbit/s am WAN, ist auch die Verbindung PC<>Owncloud auf 300 Mbit/s limitiert, auch lokal! Im Gegensatz dazu würde ein echt lokaler Zugriff auf die lokale IP des Servers so aussehen:

Endgerät-->lan->Router->lan->Server

Hier entfällt der Teil am WAN-Port, weil der Traffic direkt über den Switch im Router 1:1 vom Endgerät zum Server und auch direkt wieder zurückgeht. Die Verbindung PC<>Owncloud liefe hier also mit vollen 1 Gbit/s des Netzwerks, weil der Router überhaupt nichts tun muss, der Switch-Chip an den 4 gelben Ports macht das easy ganz alleine.


Warum erzähle ich das? Ganz einfach: NAT-Loopback ist zwar praktisch, weil man zB im Browser des Laptops einfach nur einen Favoriten für die DDNS-Domain setzt und dann sowohl unterwegs als auch zu Hause stets denselben Link verwenden kann. Den Nachteil habe ich ja gerade beschrieben, ein potentieller Performance-Killer.

Alternativen:

1)
Einen zweiten Link im Browser anlegen, einen für "owncloud_unterwegs" und einen für "owncloud_zuhause". Letzterer wird auf die lokale IP des Servers eingestellt. Optional: Einfach den lokalen Namen des Servers statt der lokalen IP verwenden, wie schon von @BFF vorgeschlagen.

2)
Im Router bzw. dessen DNS einen manuellen Eintrag hinzufügen, der die DDNS-Domain explizit auf die lokale IP des Servers umlegt. Von außen wird nach wie vor DDNS mit der WAN-IP aufgelöst, von innen dagegen mit der lokalen IP. Nachteil: Nicht jeder Router/DNS bietet diese Funktion.

3)
In der host-Datei des Clientgeräts einen Eintrag für die DDNS-Domain mit der lokalen IP des Servers erstellen. Nachteil gegenüber 2): Dies muss an jedem Endgerät passieren, das diesen Weg gehen soll.
 
Trage mal aus Spaß die eigene myfritz- Domain als Ausnahme in den DNS-Rebindschutz der Fritzbox ein.
Ergänzung ()

Jemand hat die Frage nicht gelesen, bei IPv6 gibt's kein nat-loopback mehr!
 
Zuletzt bearbeitet:
Hallo,
erst einmal vielen vielen Dank für die hilfreichen Tipps. Ich hätte evtl. noch deutlicher machen sollen, warum mir die DNS-Auflösung so wichtig war. Der Owncloud-Server soll zum einen lokal und von außen für Synchronisierungsdienste zur Verfügung stehen und zum anderen ist das Zertifikat an die Domain gebunden (habe eine CNAME-Weiterleitung auf den MyFritz-Namen eingerichtet), so dass ich im lokalen LAN auch die korrekte Domain benötige.
Der Hinweis, dass ich im lokalen Netz den DNS-Eintrag manuell festlegen soll, hat mich aber nochmal auf die Suche durch die Fritz!Box-Einstellungen geschickt und dort habe ich dann das DNS-Rebind gefunden, auf das auch Thomas hinweist. Mir war nicht klar, dass es das gibt.

Mit einer Ausnahme vom DNS-Rebind und Ausschalten des externen DNS (auch der löste nicht auf, vermutlich ebenfalls als Rebind-Schutz) funktioniert es jetzt.

Vielen Dank noch einmal!

Blackhole
 
  • Gefällt mir
Reaktionen: thomasschaefer
Zurück
Oben