RFC 3330 ist obsolet

In RFC 3330 waren die “Special Use IPv4 Addresses” definiert. Dieser RFC wurde jetzt durch den RFC 5735 ersetzt (leider kann man sich diese Nummer nicht so gut merken).
Sehr interessant ist die Erweiterung der TEST-NET-Einträge:

192.0.2.0/24 
198.51.100.0/24
203.0.113.0/24 

Während der erste Eintrag schon länger vorhanden ist, stehen jetzt zwei weitere Netze zu Dokumentationszwecken zur Verfügung. Diese Verwendung ist explizit im RFC 5737 – IPv4 Address Blocks Reserved for Documentation beschrieben.

Damit sollte man auch die typische Anti-Spoofing-ACL für Perimeter-Router anpassen:

ip access-list extended PERIMETER-IN
 deny   ip 0.0.0.0 0.255.255.255 any
 deny   ip 10.0.0.0 0.255.255.255 any
 deny   ip 127.0.0.0 0.255.255.255 any
 deny   ip 169.254.0.0 0.0.255.255 any
 deny   ip 172.16.0.0 0.15.255.255 any
 deny   ip 192.0.2.0 0.0.0.255 any
 deny   ip 192.168.0.0 0.0.255.255 any
 deny   ip 198.18.0.0 0.1.255.255 any
 deny   ip 198.51.100.0 0.0.0.255 any
 deny   ip 203.0.113.0 0.0.0.255 any
 deny   ip 224.0.0.0 31.255.255.255 any
 deny   ip EIGENES-NETZ any
 permit ...
RFC 3330 ist obsolet

IPv6 TechWiseTV

Bei Cisco gibt es eine TechWiseTV-Episode zu IPv6:

Join Cisco expert Harold Ritter as he provides a technology update, shows best practices, and addresses how to deploy IPv6 in a service provider environment to cope with growing demand (59:18 min.).

Agenda
Is IPv4 Broken? Why Change a System That Works?
IPv6 for Dummies: Layer 2 Deep Exploration
Understanding IPv6 Routing and Security Challenges
Quality of Service and Transition Mechanisms
Planning and Deployment Considerations

Update: Eben sehe ich gerade, dass diese Folge schon über zwei Jahre alt ist. Bis Ende Januar ist sie noch anzuschauen.

IPv6 TechWiseTV

Der Weg zur Weisheit

IPv6 Certification Badge for KarstenIwen
Nur wenige Wege führen zur Weisheit, und den Wenigsten ist dies wohl beschieden …
Für EDVler gibt es aber schon einen Weg, weise zu werden. Im Zuge des IPv6-Zertifizierungs-Prozesses von Hurricane Electric (die Firma hinter tunnelbroker.net, die kostenlose IPv6-Tunnel zur Verfügung stellen) durchläuft man verschiedene Stufen, bis man beim “Sage” angekommen ist und zumindest für dieses Thema eine Form der Weisheit erreicht hat.

Bei dieser Zertifizierung geht es darum, verschiedene Level der IPv6-Erreichbarkeit zu demonstrieren und eine Reihe von Fragen zu IPv6 zu beantworten. Die Sache ist nicht nur sehr informativ, sondern macht auch viel Spaß. Bei dieser IPv6-Erreichbarkeit ist es nicht notwendig, einen Tunnel von HE zu verwenden. Wer einen anderen Tunnel-Provider benutzt oder sogar nativ IPv6 hat (der Glückliche), der kann natürlich ebenfalls mitmachen.

Im folgenden beschreibe ich mein Setup, mit dem ich die verschiedenen Stufen dieser Zertifizierung durchgeführt habe und letztendlich bei der Weisheit angekommen bin:

  1. Newbie
  2. Für diesen ersten Level muss man nur ein paar einfache Fragen zu IPv6 beantworten. Wer sich bisher nicht mit IPv6 auseinandergesetzt hat, der könnte hiermit den Einstieg wagen.

  3. Explorer
  4. Die Explorer-Stufe erreicht man, wenn man eine IPv6-Verbindung zum Internet hat. Für eine getunnelte Verbindung mit einem Cisco-Router habe ich die Vorgehensweise in einem eigenen Beitrag beschrieben.

  5. Enthusiast
  6. Für den Enthusiast muss man einerseits einen IPv6-fähigen Client haben, mit dem man auf das Internet zugreifen kann, andererseits muss man einen Webserver betreiben, der Webseiten per IPv6 ausliefern kann. Die generelle Konfiguration eines Linux-Servers hat Jens Link schon in einer Reihe von Beiträgen beschrieben. Bei mir kamen noch ein paar Punkte hinzu. Zum einen sind meine Dienste (Mail, Web, DNS, etc.) mit OpenVZ virtualisiert. OpenVZ muss also auch für IPv6 konfiguriert sein (alle Systeme sind Debian Lenny):

    klio:~# grep ipv6 /etc/sysctl.conf 
    net.ipv6.conf.all.forwarding=1
    net.ipv6.conf.default.forwarding=1
    klio:~# grep IPV6 /etc/vz/vz.conf 
    IPV6="yes"

    Weiterhin muss dem OpenVZ-Gast eine weitere IP-Adresse zugewiesen werden, in diesem Fall eine IPv6-Adresse:

    klio:~# vzctl set 123 --ipadd 2001:DB8:1:2:3::1 --save

    Diese IPv6-Adresse stammt nicht aus dem Tunnel-Netz, sondern aus dem zusätzlich zugewiesenen “routed /64”-Netz, das man beispielsweise bei tunnelbroker.net bekommt.
    Hier könnte man natürlich auch mehrere IP-Adressen zuweisen, um jedem vhost eine eigene IP-Adresse zu geben. Damit könnte man problemlos alle Webpräsenzen mit HTTPS sichern. In meinem Beispiel bekommt die gesamte VM eine IPv6-Adresse, die für alle vhosts verwendet werden kann.

    Vor einiger Zeit bin ich vom Apachen auf Lighttpd umgestiegen und bin bisher sehr zufrieden damit. IPv6 ist beim Lighty eine einzige zusätzliche Zeile in der Konfiguration:

    root@www2:/# grep ipv6 /etc/lighttpd/lighttpd.conf 
    server.use-ipv6 = "enable"

    Natürlich soll auf die Webpräsenz per FQDN zugegriffen werden, weshalb auch im DNS ein neuer Eintrag vorgenommen werden muss. Während die IPv4-Adresse mit einem A-Eintrag konfiguriert wird, muss die IPv6-Adresse mit einem AAAA-Eintrag konfiguriert werden:

    In der Zonen-Datei wird also folgende Zeile aufgenommen:

    www        IN      AAAA    2001:DB8:1:2:3::1
    

    Durch diesen Eintrag in der Zonen-Datei von example.com kann der FQDN nun zu der IPv6-Adresse 2001:470:1f0b:c2c::211 aufgelöst werden und der Webserver kann per IPv6 die Seite für http://www.example.com ausliefern.

  7. Administrator
  8. Für diesen Level muss der Mail-Server per IPv6 Mails annehmen können.
    In einem einfachen Postfix-Setup wird auch dafür nur eine neue Zeile in der Konfiguration benötigt:

    inet_protocols = all
    

    Ebenso muß für den FQDN des Mailservers natürlich ein AAAA-Eintrag hinzugefügt werden.

  9. Professional
  10. Um die Professional-Stufe zu erlangen, muss man eine funktionierende Reverse-DNS-Auflösung für den Mailserver haben.
    Bei Tunnelbroker.net kann man für sein IPv6-Netz eine Reverse-Delegation anlegen. Damit ist der eigene Nameserver dann für die Reverse-Auflösung zuständig. Hierbei gibt es die Herausforderung, daß in der Zonendatei die Adressen in einer umgekehrten Schreibweise angegeben werden. Aus der Adresse 2001:DB8:1:2:3::1 wird z.B. die Zeichenkette 1.0.0.0.0.0.0.0.0.0.0.0.3.0.0.0.2.0.0.0.1.0.0.0.8.b.d.0.1.0.0.2. Diese Umrechnung kann man mit dem Befehl “host -n” durchführen:

    karstens-macbook-pro:~ karsten$ host -n 2001:DB8:1:2:3::1
    Host 1.0.0.0.0.0.0.0.0.0.0.0.3.0.0.0.2.0.0.0.1.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa not found: 3(NXDOMAIN)
    

    Alternativ kann man sich die Zonendatei bei fpsn.net mit dem Zone-Builder erstellen lassen.

  11. Guru
  12. Hier muss der Nameserver selbst AAAA-Einträge haben und per IPv6 erreichbar sein. Das ist im Prinzig die gleiche Arbeit wie beim Webserver weiter oben. Zusäzlich muss beim Bind9 die Option “listen-on-v6” gesetzt sein.

  13. Sage
  14. Die letzte Stufe. Hierfür benötigt man für seinen Nameserver einen IPv6-Glue-Record. Dieser wäre notwendig, wenn Systeme, die kein Dual-Stack haben und nur noch IPv6 benutzen, eine Namensauflösung durchführen wollen. Das ist zwar heutzutage nun wirklich noch nicht relevant, gehört aber halt zu einer kompletten DNS-Konfiguration dazu. Meine Domain habe ich bei Hosteurope registriert, die dies nicht automatisiert eintragen können. Dort musste ich ein Ticket öffnen und um eine manuelle Eintragung bitten. Diese war dann auch schon nach kurzer Zeit erledigt und der letzte Test der Zertifizierung war bestanden.

Natürlich ist mit IPv6 nicht alles automatisch besser. Einige Baustellen bleiben schon. Da ist zum Beispiel die Zugriffs-Geschwindigkeit per Tunnel ein gutes Stück langsamer als per IPv4. Weiterhin gibt es wohl in der einen oder anderen Software doch noch einige Bugs. Unter PHP funktioniert beispielsweise die fopen()-Funktion nicht mehr, die in WordPress an einigen Stellen benötigt wird. Aber das kann mit der Zeit natürlich nur besser werden.

Viel Spaß an alle, die ihre Server auch per IPv6 erreichbar machen wollen.

Der Weg zur Weisheit