IPv6
Einleitung
Wir haben für unser Fruky ein eigenes IPv6 subnetz: 2a01:30:90ae::/48 (danke Bernd ;-) Alle Adressen sind Öffentlich geroutet, d.h. von überall erreichbar.
Wer sein 'Mobile Device' ins VPN verbindet und IPv6 aktiviert hat sollte ohne probleme automatisch im Netz sein ohne irgnedwas machen zu müssen. Danke fürs bis hier hin lesen. (-;
Wer sein eigenes Netzwerksegment zuhause auch anbinden will muss etwas mehr machen - das wird hier beschrieben.
Grundvoraussetzungen
Natürlich muss der Kernel IPv6 unterstüzen, dafür gibt es genügend Anleitungen im Internet.
Ausserdem brauchen wir etwas um Routen anzubieten (z.b. radvd) und Routen auszutauschen.
Da wir für IPv4 OSPF verwenden ist warscheinlich schon Quagga oder etwas ähnliches installiert. Quagga ist gut weil es für den Routen austausch ripngd mitbringt und um die Routen anzubieten auch schon alles im Zebra daemon integriert ist.
Routen Anbieten
Dazu verbinden wir uns auf das vty unseres Zebras: telnet localhost vty Dann ins configure terminal mit:
en conf t
Wir nehmen im folgendem Beispiel an dass eth0 das lokale Ethernet interface ist. also:
interface eth0
dafür stellen wir das routen advertising an, damit die clients ihre adresse einrichten können:
no ipv6 nd suppress-ra
ausserdem müssen wir noch die prefix angeben. Die ist 2a01:30:90ae:X::/64 wobei X der dritte teil eueres ipv4 subnets ist. Wenn also 192.168.2.0 auf eth0 anliegt wäre die prefix 2a01:30:90ae:2::/64
ipv6 nd prefix 2a01:30:90ae:X::/64
gut soweit, mit exit aus dem interface raus und ipv6 routing anschalten:
ipv6 forwarding
config speichern
write file
und das zebra ist feritg
Routen Austauschen: ripng
in /etc/quagga/ eien ripngd.conf anlegen mit folgendem inhalt:
hostname mein-toller-router log syslog router ripng network tap0 network eth0 redistribute kernel redistribute connected
mein-toller-router könnt ihr umbennen, tap0 sollte euer vpn device sein und eth0 wie oben das interface fürs lokale ethernet. Bei anderer umgebung eben entsprechend anpassen.
ripngd starten und glücklich sein ;)
Lokales Interface manuell einstellen
Jetzt braucht das Ethernet Interface (bei uns eth0) noch eine globale ipv6 adresse. Mit ifconfig eth0 könnt ihr die Link lokale adresse rausfinden (fängt mit fe80 an).
inet6 addr: fe80::20e:2eff:fe29:b99/64 Scope:Link
Hier nehmt ihr die letzten 64bit - also 20e:2eff:fe29:b99 und die eigene oben verwendete prefix - also 2a01:30:90ae:X: und klebt beides zusammen: 2a01:30:90ae:2:20e:2eff:fe29:b99/64 in unserem beispiel.
Die weist man jetzt dem interface zu:
ip a a 2a01:30:90ae:2:20e:2eff:fe29:b99/64 dev eth0
wenn das klappt die zeile gleich in ein startscript kopieren.
wenn es noch ein weiteres, aber unbenutztes interface gibt (z.b. für die dsl leitung) darf dafür keine ipv6 adresse vergeben sein. Also schauen ob z.b. eth1 eine link lokal adresse hat. Wenn das der fall ist muss die adresse weggenommen werden:
ip a d fe80::202:44ff:fe24:830f/64 dev eth1
fe80::202:44ff:fe24:830f/64 haben wir über 'ifconfig eth1 | grep inet6' rausgefunden.
wenn das nötig war den befehl auch ins startscript!
Jetzt sind wir fertig und können das routing aktivieren (auch ins startscript..):
sysctl -w net.ipv6.conf.all.forwarding=1
Hipp Hipp Hurra!
Zum schauen ob alles fein läuft gleich mal auf www.kame.net surfen und überprüfen ob die schildkröte tanzt ;)
Willkommen in der Zukunft.