[[ipv6:per-ipv6-tunnel-ins-internet]]
 

Per IPv6-Tunnel ins Internet

Da für vielen DSL-Anbietern IPv6 ein Fremdwort ist, muss man sich oft mit einem Tunnel behelfen. Die Erweiterung einer Cisco IOS Umgebung (Router und Switch) um IPv6 ist zwar nicht aufwendig, umfasst aber doch ein paar Schritte, die ich hier kurz beispielhaft zusammenfassen möchte.



1. Registrieren eines IPv6-Tunnels bei einem Tunnelbroker

Sehr leicht hat man die Einrichtung bei dem (kostenlosen) Anbieter Hurricane Electric: http://tunnelbroker.net/ Dort muss man sich registrieren und bekommt seine Zugangsdaten per Mail zugesendet. Nachdem man sich angemeldet hat, kann man auch gleich einen neuen Tunnel konfigurieren:

In dem darauf folgenden Dialog wird die eigene IPv4-Adresse eingetragen. Weiterhin wird angegeben, wo der Tunnel im Internet terminiert werden soll. Für Deutschland bietet sich hier Frankfurt an.

Um ein Tunnel einrichten zu können, muss der Router, über den man sich ins Internet verbindet, „pingbar“ sein! Wenn das gewährleistet ist, kann der Dialog mit “Submit” abgeschlossen werden.

In der dann folgenden Fenster wählt man die “Tunnel Details” aus, hier kann sich verschiedene noch Beispielkonfigurationen für ein Systeme ausgeben lassen (für verschiedene Systeme/Hersteller verfügbar). Standardmäßig bekommt man 'nur' ein /64er Netz. Wenn man hinter dem Router noch weitere Infrastruktur/Devices hat, muss man noch das “Routed /48″ aktivieren:


2. Tunnel Konfiguration auf dem Cisco IOS Router

Die eigentliche Router-Konfiguration ist recht einfach und kann als Vorlage von der obigen Webseite generiert werden:

interface Tunnel0
 description Hurricane Electric IPv6 Tunnelbroker
 no ip address
 ipv6 address [die zugewiesene /64-Adresse ]
 ipv6 enable
 tunnel source Dialer 0
 tunnel destination [Der ausgewählte Tunnelserver]
 tunnel mode ipv6ip
 exit
!
ipv6 route ::/0 Tunnel0

Abweichend von der vorgeschlagenen Konfiguration sollte die „tunnel source“ auf das verwendete Dialer-Interface geändert werden. Damit ist die Konfig unabhängig von der konfigurierten oder dynamisch empfangenen IP-Adresse.

Natürlich muss IPv6 auch noch global eingeschaltet werden:

ipv6 unicast-routing
ipv6 cef

Die Access-Liste auf dem Public-Interface (Dialer0 in Beispiel) muss wie oben beschrieben pingbar (ICMP echo) sein. Weiterhin muss das IP-Protokoll 41 (GRE) für den Tunnel erlaubt sein:

permit icmp any any echo
permit 41 any any


3. Anpassungen bei der Verwendung dynamischer IP-Adressen

Wenn man eine dynamsiche IP-Adresse hat, dann muss der Tunnel für jede neue IP neu registriert werden. Sehr einfach geht das mit der DDNS von Cisco.

ip ddns update method tunnelbroker_net
 HTTP
  add http://ipv4.tunnelbroker.net/ipv4_end.php?pass=<md5-password>&user_id=<user_id>&tunnel_id=<tunnel_id>&ipv4b=<a>
  • User_ID ist nicht der Login sondern die Zeichenkette, die nach dem Login auf der Tunnelbroker.net Seite zu sehen ist (32 Stellen).
  • Tunnel_ID ist die „Global Tunnel ID“ aus den Tunnel-Details der Tunnelbroker.net-Seite.
  • MD5-Password ist das eigene Password, das mit MD5 gehashed wird.
  • IPV4b ist die neue zu registrierende IPv4 Adresse. Hier kann auch der Wert auf „AUTO“ gesetzt werden, dann wird die anfragende IP als „SourceIP“ gesetzt.

Danach einfach den DDNS Eintrag am Dialer konfigurieren

interface dialer 0
 ip ddns update tunnelbroker_net

Danach wird die neue IP-Adresse auch bei einem Router-Neustart bzw sobald der Dialer eine Verbindung herstellt registriert.


4. Konfigurieren der IOS Firewall

Natürlich wird man auch für IPv6 eine Firewall aktivieren. Hier offenbart sich dann leider das Grauen bei Cisco. Zum einen unterstützt die Zone-Based-Firewall kein IPv6, und auch die traditionelle IOS-Firewall (CBAC) unterstützt nur TCP, UDP, ICMP und FTP. Keine weiteren Protokolle und auch keine Erweiterungen, wie das Inspizieren von Router-eigenem Traffic.

Als erstes wird die FW-Policy angelegt und im Tunnel aktiviert:

ipv6 inspect name FW tcp
ipv6 inspect name FW udp
ipv6 inspect name FW icmp
ipv6 inspect name FW ftp
!
interface Tunnel0
 ipv6 inspect FW out

Als Nächstes muss der eingehende Traffic gefiltert werden. Dabei muss man aufpassen, kein einfaches „deny ipv6 any any“ zu konfigurieren, da dann das Neighbor-Discovery nicht mehr funktioniert. So könnte es aber aussehen:

ipv6 access-list OUTSIDE-IN-v6
 permit icmp any any nd-na
 permit icmp any any nd-ns
 deny ipv6 any any
!
interface Tunnel0
 ipv6 traffic-filter OUTSIDE-IN-v6 in


5 Konfigurieren der weiteren Router Interfaces

Aus dem zugewiesenen /48er Netz wird jedem Netz ein Subnet zugewiesen. Welche Subnet-Adressen man nehmen könnte, habe ich hier schon mal angedeutet. Da alle diese Netze die ersten 48 Bit gemeinsam haben, kann man sich die Konfiguration mit Hilfe der „General-Prefixes“ erleichtern. Diese haben einen Namen (hier HE1) und beinhalten die ersten 48 Bit der IP-Adresse.

ipv6 general-prefix HE1 2001:aaaa:bbbb::/48

Auf den Interfaces kann bei der Konfiguration der IP-Adressen dieser Prefix referenziert werden:

interface Vlan20
 ipv6 address HE1 ::20:0:0:0:1/64
 ipv6 enable

Mit dieser Konfig kündigt sich der Router automatisch an, und der PC sollte sich mit einer IPv6-Adresse selbst konfigurieren. Die Funktion kann per Ping („ping6 ipv6.google.com“) oder per Webbrowser („http://ip6.me“) überprüft werden.


6 Einbinden des internen Switches

Um auf dem verwendeten Cisco Catalyst 3560 IPv6 konfigurieren zu können, muss der Switch erst vorbereitet werden. Das Default-„Switch Database Management-Template“ unterstützt kein IPv6:

c3560(config)#sdm prefer dual-ipv4-and-ipv6 default

Je nachdem, was man mit seinem Catalyst alles machen möchte, ist evtl. auch ein anderes Template nötig. Diese sind im Configuration-Guide beschrieben. Dieser Befehl taucht später nicht in der Konfiguration auf, kann aber mit „sh sdm prefer“ kontrolliert werden.

Der Rest der Konfiguration ist dann dem Router sehr ähnlich. IPv6 aktivieren, General-Prefix konfigurieren und Interfaces mit einer IPv6-Adresse versehen:

ipv6 general-prefix HE1 2001:aaaa:bbbb::/48
ipv6 unicast-routing
!
interface Vlan20
 ipv6 address HE1 ::20:0:0:0:2/64
!
interface Vlan25
 ipv6 address HE1 ::25:0:0:0:1/64

Der Router muss jetzt natürlich noch die internen Netze lernen und der Switch eine Default-Route bekommen. In einem kleinen Netz reichen dafür ohne weiteres statische Routen, die mit „ipv6 route“ anstelle „ip route“ konfiguriert werden. Bei Bedarf kann man natürlich auch RIP, OSPF, EIGRP oder IS-IS benutzen.

ipv6/per-ipv6-tunnel-ins-internet.txt · Zuletzt geändert: 30.10.2009 18:56 von housedog
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki No Bad-Bot!
Guestbook