next up previous contents
Nächste Seite: 12 Fazit Aufwärts: Inhalt Vorherige Seite: 10 Access Control Lists   Inhalt

Unterabschnitte

11 Anbindung an den 6Bone

In diesem Kapitel wird beschrieben, wie über den Tunnelbroker Freenet6 ein Netzwerk an den globalen 6Bone angeschlossen werden kann.

1 Aufbau des Netzwerks

Damit ein möglichst realitätsnahes Szenario erreicht wird, wird ein heterogenes Netz aufgebaut, welches aus einem Dual-Stack-Teilnetz (Subnetz A) und einem IPv6-Only-Netz (Subnetz B) besteht (Abbildung 11.1). Der IPv4-Teil im Subnetz A besitzt keine Konnektivität zum IPv4-Internet und dient im Wesentlichen dazu, DNS-Anfragen über IPv4 zu ermöglichen, was für den Betrieb älterer Windows- sowie Mac OS X-Clients nötig ist (diese unterstützen das DNS-Protokoll über IPv6 noch nicht). Der Linux-Router und der Cisco 2611XM routen nur IPv6. Auf dem Linux-Router läuft zusätzlich der DNS-Server für das IPv6-Netz.

Abbildung 11.1: Anbindung an den 6Bone: Aufbau des Netzwerks
Image images/network-6bone.png

2 Einrichten eines Freenet6-Accounts

Grundsätzlich kann jeder beliebige Tunnelbroker benutzt werden, in der Schweiz bietet sich z. B. derjenige von Dolphin an[*]. Der Vorteil des Brokers Freenet6 ist, dass bei Bedarf ein ganzes Netz mit einem /48-Präfix über den Tunnel geroutet wird und es auch möglich ist, von einer dynamischen IPv4-Adresse aus einen Tunnel aufzubauen.

Zunächst muss bei Freenet6 ein Account eröffnet werden[*], mit welchem später der Tunnel automatisch konfiguriert wird. Freenet6 benutzt dazu ein eigenes Protokoll namens Tunnel Setup Protocol (TSP), für welches für diverse Betriebssysteme ein Client existiert. Im folgenden wird die Installation des Linux-TSP-Clients beschrieben.

3 Konfiguration des Linux-Routers

Auf der Freenet6-Download-Seite[*] kann ein Debian-Paket des Tunnel Setup Protocol Clients tspc bezogen werden. Dieses wird mit dpkg installiert:

dpkg -i freenet6-client-1.0-1_i386.deb

Die Konfiguration erfolgt über die Datei tspc.conf:

tsp_version=1.0.1
tsp_dir=/etc/freenet6-client
auth_method=any
# IP-Adresse des Routers
client_v4=160.85.162.9
# Freenet6 User-ID
userid=da-zhw-2003
passwd=geheim
# Linux-System
template=linux
# Tunnel-Endpunkt
server=tsps2.freenet6.net
retry_delay=0
#Tunnel-Interface
if_tunnel=sit1
# Router
host_type=router
prefixlen=48
if_prefix=eth1

Weitere Informationen hierzu finden sich in der man-Page (man 5 tspc.conf).

In der Standardkonfiguration wird automatisch auf dem in der Zeile if_prefix angegebenen Interface der radvd gestartet. Da im vorliegenden Fall Zebra das Prefix Advertisement übernimmt, kann die entsprechende Zeile im Setup-Skript auskommentiert werden:

# Folgende Zeile kann auskommentiert werden:
# Exec $rtadvd -u radvd -C $rtadvdconfigfile

Der tcpc kann dann gestartet werden. Die Ausgabe sieht etwa wie folgt aus:

# tspc -f /etc/freenet6-client/tspc.conf -v
tspc - Tunnel Server Protocol Client

Loading configuration file

Connecting to server

Send request

Process response from server

TSP_HOST_TYPE                    router
TSP_TUNNEL_INTERFACE             sit1
TSP_HOME_INTERFACE               eth1
TSP_CLIENT_ADDRESS_IPV4          160.85.162.9
TSP_CLIENT_ADDRESS_IPV6          3ffe:0bc0:8000:0000:0000:0000:0000:1595
TSP_SERVER_ADDRESS_IPV4          206.123.31.115
TSP_SERVER_ADDRESS_IPV6          3ffe:0bc0:8000:0000:0000:0000:0000:1594
TSP_TUNNEL_PREFIXLEN             128
TSP_PREFIX                       3ffe:0bc0:0593
TSP_PREFIXLEN                    48
TSP_VERBOSE                      1
TSP_HOME_DIR                     /etc/freenet6-client
--- Start of configuration script. ---
Script:  linux.sh
sit1 setup
Setting up link to 206.123.31.115
Removing old IPv6 address 3ffe:bc0:8000::1595/128
This host is: 3ffe:0bc0:8000:0000:0000:0000:0000:1595/128
Adding default route
Router configuration
Kernel setup
net/ipv6/conf/all/forwarding = 1
Adding prefix to eth1
Removing old IPv6 address 3ffe:bc0:593:1::1/64
Create new /etc/freenet6-client/tsprtadvd.conf

Starting radvd: /usr/sbin/radvd -u radvd -C /etc/freenet6-client/tsprtadvd.conf
--- End of configuration script. ---
Exiting with return code : 0 (0 = no error)

Konfiguration von Zebra

Zebra übernimmt in erster Linie das Routing-Advertisement im Subnetz A, ausserdem wird der ripngd mitgestartet (ripngd=yes in /etc/zebra/daemons), damit die Routing-Informationen mit dem Cisco-Router ausgetauscht werden. Die Konfigurationsdateien sehen wie folgt aus:

interface eth0
interface eth1
  ip address 10.0.1.3/24
  ipv6 address 3ffe:bc0:593:1::1/64
  ipv6 nd send-ra
  ipv6 nd prefix-advertisement 3ffe:bc0:593:1::/64

router ripng
network eth1

Konfiguration von maradns

Damit die DNS-Namensauflösung auch über IPv4 funktioniert, muss ein IPv4-DNS vorhanden sein, diese Aufgabe übernimmt maradns auf dem Linux-Router. Damit rekursive Anfragen beantwortet werden, muss in der mararc die Zeile recursive_acl = "10.0.1.0/24" vorhanden sein. Zebra und Maradns können dann gestartet werden:

# /etc/init.d/zebra start
# /etc/init.d/maradns start

4 Konfiguration des Cisco 2611XM

Die Aufgabe des Cisco besteht einerseits darin, die Pakete aus dem Subnetz B zum Linux-Router zu leiten, damit diese über den Tunnel zum 6Bone gelangen, andererseits übernimmt er die Vergabe von IPv6-Adressen im Subnetz B über Stateless Autoconfiguration. Die Konfiguration des ersten Interfaces sieht folgendermassen aus:

R5(config)#int f0/0
R5(config-if)#ipv6 enable
R5(config-if)#ipv6 address autoconfig
R5(config-if)#ipv6 rip ripng enable
R5(config-if)#ip address 10.0.1.2 255.255.255.0

Das Interface sucht sich die IPv6-Adresse selbst anhand der Router-Advertisements des Linux-Routers. Die IPv4-Adresse könnte auch weggelassen werden, dann wäre der Router jedoch nur über IPv6 ansprechbar. RIPng wird zusätzlich noch aktiviert.

Auf dem zweiten Interface wird ebenfalls RIPng aktiviert, zusätzlich wird auch das Router-Advertising eingeschaltet.

R5(config)#int f0/1
R5(config-if)#ipv6 enable
R5(config-if)#ipv6 address 3FFE:BC0:593:2::/64 eui-64
R5(config-if)#ipv6 nd ra-interval 60
R5(config-if)#ipv6 nd prefix 3FFE:BC0:593:2::/64
R5(config-if)#ipv6 rip ripng enable

Die benutzte Konfiguration kann Anhang C.2.8 entnommen werden.

5 Konfiguration der Clients

Die IPv6-Konfiguration läuft über Stateless Autoconfiguration automatisch ab, die IPv4-Adressen werden im Subnetz A manuell vergeben. Zusätzlich muss auf diesen Hosts der Nameserver 10.0.1.3 eingetragen werden. Auf dem Linux-PC im Subnetz B muss ein per IPv6 erreichbarer DNS-Server eingetragen werden, eine Liste von frei zugänglichen IPv6-fähigen Nameservern findet sich bei fpsn.net[*].

6 Test

Um die Anbindung zu testen, kann in einem ersten Schritt versucht werden, mit ping6 und traceroute6 einen IPv6-Host zu erreichen, z. B. www.kame.net. Es zeigt sich so auch sofort, ob die Namensauflösung korrekt arbeitet.

# ping6 -n www.kame.net
PING www.kame.net(2001:200:0:8002:203:47ff:fea5:3085) from 3ffe:bc0:8000::1595 : 56 data bytes
64 bytes from 2001:200:0:8002:203:47ff:fea5:3085: icmp_seq=1 ttl=55 time=401 ms
64 bytes from 2001:200:0:8002:203:47ff:fea5:3085: icmp_seq=2 ttl=55 time=400 ms
64 bytes from 2001:200:0:8002:203:47ff:fea5:3085: icmp_seq=3 ttl=55 time=394 ms
64 bytes from 2001:200:0:8002:203:47ff:fea5:3085: icmp_seq=4 ttl=55 time=395 ms
64 bytes from 2001:200:0:8002:203:47ff:fea5:3085: icmp_seq=5 ttl=55 time=394 ms
64 bytes from 2001:200:0:8002:203:47ff:fea5:3085: icmp_seq=6 ttl=55 time=393 ms

--- www.kame.net ping statistics ---
6 packets transmitted, 6 received, 0% loss, time 5051ms
rtt min/avg/max/mdev = 393.198/396.426/401.348/3.156 ms

Hat dies funktioniert, so kann mit einem IPv6-fähigen Browser (z. B. Mozilla) auf einen IPv6-Webserver zugegriffen werden, z. B. http://ipv6.cyberlink.ch/.

Die Erreichbarkeit von aussen kann über Online-Testtools getestet werden, die auf verschiedenen Webseiten angeboten werden (z. B. bei Join[*], vgl. Abb. 11.2).

Abbildung 11.2: Ping-Test von aussen
Image images/ping6-join.png

Falls die Verbindung nicht zustande kommt, sollte zuerst sichergestellt werden, dass das IP-Protokoll 41 (6-over-4, 0x29 Hex) auf keiner Firewall und keinen Routern gefiltert oder blockiert wird.


next up previous contents
Nächste Seite: 12 Fazit Aufwärts: Inhalt Vorherige Seite: 10 Access Control Lists   Inhalt
Beat Graf / Daniel Werner