DNS Auflösung und IPv6

Forum zu aktuellen Geräten der LANCOM Router/Gateway Serie

Moderator: Lancom-Systems Moderatoren

Antworten
Avalanche
Beiträge: 182
Registriert: 19 Mai 2012, 23:53

DNS Auflösung und IPv6

Beitrag von Avalanche »

Hallo,

ich habe mal wieder Fragen rund um mein Lieblingsthema DNS. Was bedeutet "found in local DNS database, but IP version could not be resolved => send SOA"?

Beispiel:

Code: Alles auswählen

✔ ~ 
18:02 $ dig a  @fe80::2a0:57ff:fe18:45e0%en0 router.sub.net.domain.de
Die link-lokale IPv6 Adresse ist die Adresse des Lancoms. Der Domänenname ist der Name, unter dem der Lancom im Netz erreichbar sein soll.

Das DNS Trace sagt:

Code: Alles auswählen

[DNS] 2018/10/30 18:08:29,333
DNS Rx (INTRANET): Src-IP fe80::1473:87de:7aa1:d74f, RtgTag 0
Query Request: STD A for router.sub.net.domain.de
found in local DNS database, but IP version could not be resolved => send SOA
Authority resolved to router.
Serial:  1461208544 
Refresh: 10800 
Retry:   3600 
Expire:  604800 
Minimum: 120000 
Auf der Kommandozeile fühlt sich der Lancom für den Domänennamen jedenfalls zuständig:

Code: Alles auswählen

root@router:/
> ping -n -4 router.sub.net.domain.de
  localhost
    56 Byte Packet from 127.0.0.1 seq.no=0 time=0.388 ms 

Code: Alles auswählen

root@router:/
> ping -n -6 router.sub.net.domain.de
  localhost
    56 Byte Packet from ::1 seq.no=0 time=0.751 ms 
Wenn ich den A Record per IPv4 abfrage, antwortet der Lancom auch korrekt mit seiner IPv4 Adresse.

Warum schickt der DNS-Server des Lancoms also einen SOA statt den A Record, wenn per IPv6 abgefragt wird? Wo kann ich auf der Kommandozeile einsehen, welche Hostnamen (FQDN) durch den Lancom als Localhost angesehen werden?

Oh, bevor die Frage kommt warum ich nicht einfach nur IPv4 dafür nutze? Die OS X Kommandozeilenwerkzeuge scheinen DNS-Namen gerne auch mal über IPv6 aufzulösen, auch wenn dann z.B. ping oder traceroute über IPv4 mit dem Ziel kommunizieren. Darauf habe ich AFAIK keinen Einfluss (außer IPv6 komplett ab zu schalten). Wenn sich DNS also für IPv4 und IPv6 unterschiedlich verhält, kommt ziemlich schwer nachvollziehbare Effekte raus :shock:
backslash
Moderator
Moderator
Beiträge: 7010
Registriert: 08 Nov 2004, 21:26
Wohnort: Aachen

Re: DNS Auflösung und IPv6

Beitrag von backslash »

Hi Avalance,
Was bedeutet "found in local DNS database, but IP version could not be resolved => send SOA"?
letztenendes genau das, was der Trace sagt... Der angefragte Name ist dem DNS-Server bekannt, aber er kann den gewünschten Adresstyp nicht auflösen. Daher sendet der DNS-Server ein SOA (Start of Authority) an den Client zurück, um ihm mitzuteilen, daß er doch einen anderen Adreßtyp wählen möge... Also, wenn für einen Host nur eine IPv6-Adresse bekannt ist und du seine IPv4-Adresse abfragst - oder andersherum... Ein normaler PC wird daraufhin die andere Version ausprobieren..
Der Domänenname ist der Name, unter dem der Lancom im Netz erreichbar sein soll.
Das ist jetzt ein Spezialfall... Den eigenen Namen des Geräts löst der DNS-Server im LANCOM nur mit dem Adreßtyp auf, mit dem er angefragt wird, d.h. fragst du ihn per IPv4 ab, so liefert er nur die IPv4-Adresse und fragst du ihn per IPv6 ab, nur die IPv6-Adresse des Geräts. Da alle Betriebssysteme eigentlich IPv6 bevorzugen sollten, dürfte diese Anfrage so eigentlich gar nicht kommen - es sei denn du erzwingst sie per dig oder nslookup.

Ein IPv6-fähiger PC sollte also zuerst eine AAAA-Anfrage an die IPv6-Adresse des DNS-Servers (LANCOM) stellen, die dann auch auf die IPv6-Adresse des LANCOMs aufgelöst würde. Und kann er nur IPv4 so stellt er nur eine A-Anfrage an die IPv4-Adresse des DNS-Servers (LANCOM)...


Gruß
Backslash
Avalanche
Beiträge: 182
Registriert: 19 Mai 2012, 23:53

Re: DNS Auflösung und IPv6

Beitrag von Avalanche »

Hi!

vielen Dank für Deine ausführliche Antwort.

Das Verhalten bei der Auflösung des eigenen Namens erschient mir inkonsistent und in der Praxis auch problematisch. OS X scheint beispielsweise die Namensauflösung generell über IPv6 durchzuführen (sowohl für A als auch AAAA), sofern eine IPv6 Verbindung verfügbar ist.

Grüße
backslash
Moderator
Moderator
Beiträge: 7010
Registriert: 08 Nov 2004, 21:26
Wohnort: Aachen

Re: DNS Auflösung und IPv6

Beitrag von backslash »

Hi Avalanche,
OS X scheint beispielsweise die Namensauflösung generell über IPv6 durchzuführen (sowohl für A als auch AAAA), sofern eine IPv6 Verbindung verfügbar ist.
Ausser in ganz speziellen Fällen ist das kein Problem, denn wenn das OS X das LANCOM als DNS-Server unter seiner IPv6-Adresse erreicht und für den Namen des LANCOMs eine AAAA Anfrage stellt (Normalfall, da IPv6 laut RFCs bevorzugt werden soll), dann bekommt er direkt eine Antwort... Es wird nur ein Problem wenn du partout die IPv4-Adresse des Geräts auflösen willst... Das ist aber kein übliches Szenario, denn DNS-Namen sind ja genau dafür da, daß sich der Anwender nicht mit IP-Adressen herumschlagen muß.

Gruß
Backslash
Avalanche
Beiträge: 182
Registriert: 19 Mai 2012, 23:53

Re: DNS Auflösung und IPv6

Beitrag von Avalanche »

Hi,

dadurch ist leider der Zugriff auf den Router nicht möglich:

Code: Alles auswählen

14:05 $ ping router.sub.net.domain.de
ping: cannot resolve router.sub.net.domain.de: Unknown host
Die Ursache sind die im ursprünglichen Post beschriebenen DNS Auflösungen. Interessant sieht es auch mit ping6 aus:

Code: Alles auswählen

15:17 $ ping6 router.sub.net.domain.de
PING6(56=40+8+8 bytes) fe80::1470:db57:5aa2:5e11%en7 --> fe80::2a0:57ff:fe18:45e0
ping6: sendmsg: No route to host
ping6: wrote router.sub.net.domain.de 16 chars, ret=-1
Das Problem ist der fehlende Interface Identifier. Auch Chrome scheitert beim Zugriff auf router.sub.net.domain.de mit ERR_ADDRESS_UNREACHABLE.

Kann ich den Lancom so konfigurieren, dass nicht die link-lokale Adresse als DNS announced wird?

Grüße,
Avalanche
backslash
Moderator
Moderator
Beiträge: 7010
Registriert: 08 Nov 2004, 21:26
Wohnort: Aachen

Re: DNS Auflösung und IPv6

Beitrag von backslash »

Hi Avalanche,
Das Problem ist der fehlende Interface Identifier. Auch Chrome scheitert beim Zugriff auf router.sub.net.domain.de mit ERR_ADDRESS_UNREACHABLE.
das ist aber ein Problem des OS X - das muß, wenn es eine link-lokale Adresse für den DNS-Server übernimmt auch automatisch den Interface-Identifier hinzufügen (das LANCOM kann den schließlich nicht kennen).
Kann ich den Lancom so konfigurieren, dass nicht die link-lokale Adresse als DNS announced wird?
Letztendlich ist die link-lokale Adresse die einzige, die das LANCOM dauerhaft hat - der Prefix der globalen Adresse ändert sich ja mit jeder neuen Verbindung. Es sei denn du hättest einen Anschluß mit festem Prefix - dann kannst du natürlich auch eine feste IP-Adresse als DNS-Server konfigurieren (IPv6 -> DHCPv6 -> DHCPv6-Netzwerke -> Interface -> Erster DNS und IPv6 -> Router-Advertisement -> DNS-Optionen -> Interface -> Erster DNS). Du kannst natürlich auch versuchen mit ULAs (fc00::/7) zu arbeiten und hoffen, daß OS X wenigstens mit ULAs korrekt umgehen kann...

Gruß
Backslash
Antworten