Vielleicht hat AVM ja inzwischen da geändert, ich schrieb ja mit Bedacht, daß es eine Weile her ist, daß ich getestet habe.
Um auch das zu klären, könntest Du noch einmal kurz etwas zur Firmware-Version schreiben, bis dahin gehe ich von 06.20 (und damit von einer Box, für die es diese Version gibt) aus.
Ich kann zwar im Wirkbetrieb mit einer Konfiguration wie in #3 nichts anfangen, da nur ein entfernter DNS-Server damit möglich ist (damit auch nur eine VPN-Verbindung), baue mir aber mal ein passendes Test-Szenario auf und schneide mit, wie das dabei läuft. Wenn ich dabei mangels Masse keinen Androiden einsetzen kann und auf ein anderes Linux-System zurückgreifen muß, sollte das keine Rolle spielen, da ja nach meinem Verständnis auch Dein Android-Gerät keine Kenntnis über die Tatsache hat, daß der abgefragte Name nicht lokal ist und somit ganz normal den DNS-Proxy auf der lokalen FRITZ!Box befragt, der mit der entfernten Adresse antwortet.
Um die Rahmenbedingungen vergleichbar zu bekommen, bräuchte ich noch einige Angaben.
- Welcher DNS-Server ist im GUI (Internet/Online-Monitor/Genutzte DNS-Server) als "aktuell genutzt für Standardanfragen" gekennzeichnet ?
- War bei dem erwähnten dreimaligen Test die VPN-Verbindung bereits aktiv oder nicht ? (Wenn nicht, ist der DNS-Server beim Eintragen ja erst einmal nicht erreichbar, wie es bei einem Neustart der Box auch der Fall wäre, s. #6 Abs. 4.)
- Um auch das noch einmal zu präzisieren: Das Android-Gerät kann auch aus dem lokalen Netz (also ohne eigene VPN-Verbindung) und ohne spezielle Einstellungen zum DNS-Server auf Geräte hinter der FRITZ!Box im entfernten Netz mit dem Namen zugreifen, das habe ich richtig verstanden ? Wenn die Angaben vom entfernten DNS-Server stammen, müßte das ja möglich sein.
Ein denkbarer Unterschied zwischen dem Windows-Rechner und dem Androiden ist die Behandlung von verkürzten DNS-Namen und die Reihenfolge/Quelle der Domain-Namen, die für die Bildung eines FQDN herangezogen werden, wenn eine Abfrage keinen Erfolg bringt. Als Beispiel (selbst wenn Du das sicherlich selbst weißt, spätere Leser sollen es auch nachvollziehen können):
Auf einem Windows-Host wird nach "nas123" als DNS-Name gefragt. Kommt jetzt vom DNS-Server die Antwort "unbekannte Adresse (NXDOMAIN)" zurück, wird die Adresse bei weiteren Abfragen um jeweils einen Eintrag aus der Liste der zugewiesenen Domain-Namen für den verwendeten Netzwerk-Adapter ergänzt. Diese Liste der zu verwendenden Namen wird entweder vom DHCP-Server zusammen mit der IP-Adresse bezogen (option domain-search) oder manuell für den Adapter eingestellt:
Anhang anzeigen 78896
Bei Linux-Systemen wird das in aller Regel in der Datei /etc/resolv.conf festgehalten, diese wird dann meistens auch vom DHCP-Client auf diesen Systemen entsprechend geändert. Wie es bei Android ist, weiß ich (mangels Gerät, wie erwähnt) nicht wirklich, aber wegen des Linux-Unterbaus sollte es ähnlich laufen.
Theoretisch könnte dieses Ergänzen auf einen FQDN auf beiden Seiten einer DNS-Abfrage erfolgen ... wenn also der DNS-Server der FRITZ!Box als Proxy den kurzen Namen nicht findet, kann er theoretisch auch selbst seine Liste von Domain-Namen für die Ergänzung durchgehen. Früher war das mal nur "fritz.box", heute vermutlich eine längere Liste, wenn das nicht auf einzelne Host-Einträge gemappt wird ([
www.]fritz.nas, [
www.]myfritz.box, u.U. auch kabel.box). Die DNS-Server der Box kriegt man afaik heutzutage mit der Abfrage "dns.fritz.box" raus.
Wie das genau in den DNS-Daten der Box aussieht, kann man mit den Support-Daten erkunden oder auch zu Fuß mit folgenden Ausschnitt daraus:
Code:
msgsend multid dnsdump
cat /var/tmp/dnsddebug.txt
/bin/showshringbuf dnsd
showdsldstat (für die verwendeten DNS-Server im Upstream, wenn die FB nur Forwarder ist, sollten dieselben sein, die als dns.fritz.box zurückgegeben werden)
Diese Kommandos einmal mit und einmal ohne VPN-Verbindung ausgeführt, sollten dann eigentlich einen signifikanten Unterschied zeigen.
Normalerweise wird das Verhalten vieler DNS-Clients (eigentlich der Libs, die die Funktionen für gethostbyname o.ä. beinhalten) bei der Verwendung von Suchdomains vom Aufbau der Abfrage abhängig gemacht, ein "absoluter" Name wird dabei durch einen zusätzlichen Punkt am Ende gekennzeichnet. Bei einer Frage nach "nas123" könnte der DNS-Client also nach "nas123" und "nas123.fritz.box" suchen, wenn er selbst die Suchdomain "fritz.box" kennt. Will das anfragende Programm das vermeiden, fragt es anstelle von "nas123" nach "nas123." und nun darf bei der Auflösung nicht mehr um "fritz.box" ergänzt werden.
Wie sich der DNS-Server der FRITZ!Box verhält, weiß ich allerdings gar nicht ... das Problem, das zu durchschauen liegt u.a. daran, daß dort eben ein DNS-Proxy läuft, der Informationen aus verschiedenen Quellen verwurstet, um eine Anfrage zu beantworten und sich nicht auf die reinen DNS-Daten beschränkt. Da wäre es imho sogar denkbar, daß er die oben erwähnten Ergänzungen selbst versucht. Die "Standard-Domain" fritz.box konnte man früher in der ar7.cfg auch noch ändern bzw. ändern kann man sie auch heute noch. Ob dann diese Einstellung aber auch heute noch berücksichtigt wird, müßte man testen.
Die FRITZ!Box "lernt" Geräte auf verschiedene Arten kennen, da könnte ein weiterer Unterschied zwischen den Android-Gerät und einem Windows-PC liegen. Einen per Multicast-DNS (Bonjour/avahi je nach Gusto, ist ziemlich dasselbe) erlernten Namen kann man in der oben erzeugten Liste an der Angabe "(mdns)" erkennen. Im Ringbuffer-Dump kann man sehen, wann die FRITZ!Box zuletzt welche Namen gelernt und auch wieder vergessen hat (wenn das Timeout für den Eintrag abgelaufen ist).
Der Windows-PC wird i.d.R. (ohne installiertes iTunes / Bonjour) nur per "normalem" DNS eine Namensauflösung machen, das Android-Gerät könnte das auch über mDNS versuchen und dabei von der FRITZ!Box andere Antworten für kurze Namen erhalten, denn häufig wird für mDNS-Verkehr eine Pseudo-Domain ".local" verwendet.
Daß bei der Abfrage des entfernten FRITZ!Box-DNS auch Antworten der Form "entfernter_host
.fritz.box" zurückgegeben werden, ist ja mit einiger Wahrscheinlichkeit auch der Grund, warum die Domain "fritz.box" unter "Rebind-Ausnahmen" eingetragen werden muß. Ansonsten verwirft die FRITZ!Box alle Namen, die zu einer von ihr selbst verwalteten Domain (in diesem Falle eben fritz.box) gehören, da sie selbst dafür der "authoritative dns" ist (irgendwo in der dnsddebug.txt sollte der SOA-Record dafür stehen) und alle von ihren "Kenntnissen" abweichenden Antworten potentiell ein Angriff über "DNS-Spoofing" sein müssen.
Das ist dann auch eine Schwachstelle des o.a. Eintrags, der - nach meiner Kenntnis - eigentlich dafür gedacht ist, in einem VPN-Szenario mit einer Firma (wo die FRITZ!Box dann ihrerseits als Client auftritt -> "Diese FRITZ!Box mit einem Firmen-VPN verbinden") den möglichen (in diesem Fall dann aber berechtigten) Unterschied zwischen DNS-Abfragen über das Internet (wie sie die Box normalerweise macht) und über das Intranet (wenn sie per VPN Teil des Firmennetzwerks ist) zu kompensieren. Wenn mit einem solchen Eintrag ein Cache-Poisoning für abc.fritz.box erfolgen würde (keine Ahnung, ob der DNS-Cache der Box dafür anfällig ist), würde das vermutlich nicht mehr zurückgewiesen.
EDIT: Glatt vergessen klarzustellen ... der Rebind-Schutz verhindert natürlich (sogar in erster Linie) auch, daß Adressen an die Box von einem externen Server ausgeliefert werden, die lokal für die Box sind (und da gehört eine VPN-Adresse samt Netz dazu). Das mit dem VPN-Szenario bezog sich auf die
Ausnahmen beim Rebind, die dort ggf. erforderlich sind.
Unter dem Aspekt, daß die FRITZ!Box bei den in #3 beschriebenen Einstellungen ja weiß, wann sie mit einem VPN verbunden ist, wäre sogar eine abweichende Behandlung der DNS-Abfragen durch die FRITZ!Box nicht unlogisch. Aber das müßte sich ja dann wieder aus einer geänderten Anzeige bei "Genutzte DNS-Server" mit oder ohne VPN-Verbindung und notfalls auch aus einem Paketmitschnitt des DNS-Verkehrs ermitteln lassen. Wenn man die "Routing-Schnittstelle" nimmt, sieht man ja auch die IPSec-Pakete noch im Klartext.
BTW: Mit Windows-Bordmitteln wird Dir die IPSec-Verbindung zur FRITZ!Box eher nicht gelingen, Windows verwendet m.W. immer noch L2TP-IPSec und das ist etwas anderes, als das AVM-VPN. Wenn der Windows-PC auch ein "Client-LAN-VPN" beherrschen soll, bleibt meines Wissens im Moment entweder "FRITZ!Fernzugang" (der VPN-Client, nicht das Einrichtungsprogramm) oder "Shrewsoft".