6RD (IPv6) via Bluewin/Swisscom DSL

6RD (IPv6) via Bluewin/Swisscom DSL

Seit Mitte 2011 bietet die Swisscom (bzw. ex Bluewin) einen 6RD gateway an. (Siehe http://labs.swisscom.ch/en/node/692/). Der 6rd-tunnel scheint aus allen Bluewin-IP-Ranges erreichbar zu sein, folglich muss man nur die IP des 'Gateways' (6rd.bluewin.ch / 6rd.swisscom.com - 193.5.29.1 und den Prefix der Swisscom (2a02:1200::/28) wissen: Mit diesen Angaben lässt sich 6rd problemlos auf einem halbwegs aktuellen Linuxrouter betreiben.

Ausgangslage

Um 6rd zu verwenden wird Linux >= 2.6.33 mit aktivem 6rd support (zgrep 6RD /proc/config.gz) benötigt - wir gehen davon aus, dass pppoe schon eingerichtet ist.

Installation und Konfiguration

Das erstellen eines 'ipv6 on/off' Scripts können wir uns ersparen: Wir verwenden einfach http://code.google.com/p/6rd/: root@funky:~# cd /tmp
root@funky:~# wget http://6rd.googlecode.com/files/6rd-init_1.0rc8.tar.gz
root@funky:~# tar -xzvf 6rd*gz
root@funky:~# cp 6rd-init/6rd /etc/init.d/6rd # oder /etc/rc.d/rc.6rd unter Slackware
root@funky:~# chmod 755 /etc/init.d/6rd

Nun brauchen wir nur noch die Datei /etc/default/6rd zu erstellen. Bei meiner Installation schaut die so aus: glob_6rd_net="2a02:1200::/28" # 6RD prefix of your ISP. They provide it to you.
glob_6rd_br="193.5.29.1" # 6RD Anycast BR of your ISP.
glob_6rd_iface="6rdtun" # Name of the interface for the 6rd tunnel


# Interfaces. They can be the same if this box is not routing ipv4.
glob_lan_ifaces="eth0" # Your LAN IPv4/6 interfaces.
# There can be several separated by whitespace

glob_wan_iface="ppp0" # Your WAN IPv4 interface

# Enable or Debug ?
do_nothing="no" # If you want to test only, set to "yes".
# It will print out the commands on stdout.
# And some more debug as well.


#### Most of the people won't have to change the params below.
# Parameters for the WAN
glob_wan_ip="" # If you have a static WAN IPv4, you can define
# it manually here, it will bypass tests.
# You can also call another command to get the
# IPv4 if you're a very advanced user ;)

glob_wan_is_private="no" # If your External WAN IPv4 is private and it's
# normal (eg: your ISP has Large Scale NAT and
# the 6rd BR is reachable without LSN)
# most likely "no" for 99% cases,
# including Comcast, Free, Swisscom


# Routes
glob_wan_default_route="yes" # Configure the IPv6 default route
# (to Internet Unicast : 2000::/3)
# over the 6rd tunnel yes/no

glob_wan_routes="" # Additional IPv6 routes that can be
# configured to point to the 6rd tunnel
# separe them with one whitespace
# Ex : "2001:db8::/32 2002::/16"

# Helper Tools
glob_download_tool="wget" # "curl" is the other possibility. "wget" is default.
(Eventuell muss 'global_lan_ifaces' geändert werden)


6RD Tunnel starten

Das Setup kann nun via /etc/init.d/6rd test getestet werden. Aus unerfindlichen Gründen mochte das Script meine Öffentliche IP nicht und wollte diese via 'wget' nachchecken. Folgender Patch behebt dies:
Sofern das Script happy ist, kann der Tunnel via /etc/init.d/6rd start gestartet werden: Danach sollte auch ein ping zu ipv6.google.com funktionieren: root@funky:~# ping6 -c 3 ipv6.google.com
PING ipv6.google.com(fra07s07-in-x69.1e100.net) 56 data bytes
64 bytes from fra07s07-in-x69.1e100.net: icmp_seq=1 ttl=56 time=21.9 ms
64 bytes from fra07s07-in-x69.1e100.net: icmp_seq=2 ttl=56 time=26.3 ms
64 bytes from fra07s07-in-x69.1e100.net: icmp_seq=3 ttl=56 time=36.6 ms


ip6tables

Da der Host nun ziemlich 'blutt' im Internet steht, konfigurieren wir noch schnell einige ip6tables rules. Wie immer muss ggf. 'eth0' angepasst werden.

Routing im internen Netz

Unser Router kann sich nun mit Radvd im internen Netz 'advertisen'.
Meine /etc/radvd.conf Datei: Achtung: Der Prefix muss auf die IPv6 Addresse von eth0 abgeändert werden.

Nach dem start von radvd sollten sich die Rechner im internen LAN eine eigene IPv6 Addresse schnappen. Testen kann man seine IPv6 connectivity z.B. auf www.ip6.me.

Achja: Die Rechner im internen LAN brauchen keine eigenen ip6tables-rules da der Gateway nur ESTABLISHED,RELATED Verbindungen ins interne LAN routet. Das übliche OMG!!11 IPv6 ist phöse weil ALLE meine Rechner dann direkt im Internet stehen und gehaxx0rt werden können! geschrei kann man somit im Heise-Forum lassen.




comments powered by Disqus