Howto: Delegation von Reverse DNS bei CIDR-Netzen kleiner /24 nach RFC 2317

Die Zeiten, in denen man ein komplettes Class A, B oder C-Netz zugeteilt bekam sind ja schon lange vorbei. Und jetzt, wo das Ende des IPv4-Adressraumes naht, muss man den Bedarf an IP-Adressen immer besser nachweisen. Seit geraumer Zeit also bekommt man Netze nach dem Schema 1.2.3.0/26 zugewiesen. Dieses Verfahren ist als CIDR (Classless Inter-Domain Routing) bekannt und mit einer der Gründe, warum die Routingtabellen in den zentralen Routern immer größer werden. Ein Problem bei diesem Verfahren ist auch das Reverse-DNS für die IP-Adressen eines solchen Netzes kleiner als /24. Mit der herkömmlichen Art und Weise kann man die umgekehrte DNS-Auflösung (welchen vollqualifizierten Domainnamen hat die IP-Adresse?) nicht an andere DNS-Server delegieren, weil eine Delegation von DNS-Zonen nur an „Punkt-Grenzen“ möglich ist. Der DNS-Eintrag für die IP 1.2.3.5 sieht zum Beispiel so aus: 5.3.2.1.in-addr.arpa.. Da kann man also eigentlich nur den kompletten Bereich von 0 bis 255 delegieren durch ein 3 IN NS reverse-ns.dnsserver.net. in der Zone 2.1.in-addr.arpa.. Hat man das Netz jetzt aber zum beispiel in mehrere /29-Netze aufgeteilt, muss man einen anderen Weg gehen, um den Adressbereich an unterschiedliche DNS-Server delegieren zu können. Hier zeigt das RFC 2317 einen Weg auf, der im Moment als „Best current practise“ eingestuft ist.

Am besten wird das durch ein Beispiel deutlich. Es gibt beim Provider das fiktive Netz 1.2.3.0/24 (ein Class-C-Netz) für das der Provider auch für das Reverse-DNS eingetragen ist (Zone 3.2.1.in-addr.arpa.). Der Provider teilt einem Kunden aus diesem IP-Bereich ein Teilnetz 1.2.3.0/29 zu (IP-Adressen 1.2.3.01.2.3.7 mit der 0 als Netz-Adresse und der 7 als Broadcast-Adresse). Die DNS-Server des Kunden heißen ns1.kunde.net und ns2.kunde.net.

Der Provider trägt jetzt in der Zone 3.2.1.in-addr.arpa. eine Delegation für die neue Zone 0-29.3.2.1.in-addr.arpa. ein. Die 0 steht dabei für die Netz-Adresse und die 29 für das CIDR-Suffix hinter dem /. Die einzelnen IP-Adressen werden dann mittels CNAME auf die neue Zone gemappt. Das sieht dann auf der Provider-Seite zum Beispiel so aus:

$ORIGIN 3.2.1.in-addr.arpa.
$TTL 1D
@ 1D IN SOA ns1.provider.net. hostmaster.provider.net. (
              2011021901      ; serial
              3H              ; refresh
              15M             ; retry
              1W              ; expiry
              1D )            ; minimum

            IN NS  ns1.provider.net.
            IN NS  ns2.provider.net.

0-29        IN NS    ns1.kunde.net.
0-29        IN NS    ns2.kunde.net.
0           IN CNAME 0.0-29.3.2.1.in-addr.arpa.
1           IN CNAME 1.0-29.3.2.1.in-addr.arpa.
2           IN CNAME 2.0-29.3.2.1.in-addr.arpa.
3           IN CNAME 3.0-29.3.2.1.in-addr.arpa.
4           IN CNAME 4.0-29.3.2.1.in-addr.arpa.
5           IN CNAME 5.0-29.3.2.1.in-addr.arpa.
6           IN CNAME 6.0-29.3.2.1.in-addr.arpa.
7           IN CNAME 7.0-29.3.2.1.in-addr.arpa.

8-29        IN NS    ns1.noch-ein-kunde.net.
8-29        IN NS    ns2.noch-ein-kunde.net.
8           IN CNAME 0.0-29.3.2.1.in-addr.arpa.
9           IN CNAME 1.0-29.3.2.1.in-addr.arpa.
10          IN CNAME 2.0-29.3.2.1.in-addr.arpa.
11          IN CNAME 3.0-29.3.2.1.in-addr.arpa.
12          IN CNAME 4.0-29.3.2.1.in-addr.arpa.
13          IN CNAME 5.0-29.3.2.1.in-addr.arpa.
14          IN CNAME 6.0-29.3.2.1.in-addr.arpa.
15          IN CNAME 7.0-29.3.2.1.in-addr.arpa.

Auf der Kundenseite muss eine neue Zone eingerichtet werden und zwar die 0-29.3.2.1.in-addr.arpa.. Die sieht dann zum Beispiel so aus:

$ORIGIN 0-29.3.2.1.in-addr.arpa.
$TTL 1D
@ 1D IN SOA ns1.kunde.net. hostmaster.kunde.net. (
              2011021901      ; serial
              3H              ; refresh
              15M             ; retry
              1W              ; expiry
              1D )            ; minimum

            IN NS  ns1.kunde.net.
            IN NS  ns2.kunde.net.

0           IN PTR net.kunde.net.
1           IN PTR host.kunde.net.
2           IN PTR ns1.kunde.net.
3           IN PTR terminal.kunde.net.
4           IN PTR mail.kunde.net.
5           IN PTR web.kunde.net.
6           IN PTR router.kunde.net.
7           IN PTR broadcast.kunde.net.

Die Delegation von Netzen größer als /24 ist übrigens ganz einfach. Will man z.B. ein /22-Netz delegieren, dann delegiert man einfach die 4 /24-Netze aus denen das /22-Netz besteht.

Autor:
Datum: Dienstag, 20. März 2012 12:34
Trackback: Trackback-URL Themengebiet: Netzwerke

Feed zum Beitrag: RSS 2.0 Diesen Artikel kommentieren

Kommentar abgeben

*