12-29-2010, 07:00 PM
Ich möchte hier kurz beschreiben, wie man mit seiner bestehenden routbaren IPv4 Adresse sein Netzwerk IPv6 tauglich macht.
Als erstes benötigt man bei Sixxs.net einen IPv6 Tunnel. Ich habe mich für einen 6in4-static Tunnel entschieden.
Dazu muss man sich einmal bei sixxs registrieren (siehe 10 easy mini steps to IPv6) und einen Tunnel beantragen (auf der genannten Seite die Schritte 1 - 6). Nachdem man sein approval mail mit den Konfigurationsdaten bekommen hat, kann der erste Streich beginnen.
Ein einfacher IPv6 - Tunnel mit Debian / Ubuntu
Das approval mail sieht ungefähr so aus:
Ich habe ein kleines bash-Skript geschrieben, das den Tunnel automatisch beim Start des Interface aufbauen soll:
Rechte setzen das Script ausführen und schon gehts!
z.B.:
Bei einem Reboot wird der Tunnel automatisch gestartet.
Wenn der Tunnel 1 Woche lang erreichbar ist, bekommt man von Sixxs die credits (siehe eine Beschreibung zum credit-system) um ein Subnet zu beantragen. Diese credits sind übrigens kostenlos und haben auch keinen monitären Wert:
Also für eine Woche Erreichbarkeit (ping) erhält man 5 credits.
Die Abfrage der credits - Anzahl, der Tunnel-/ Subnet-Details bzw. das Beantragen eines IPv6 /48 Subnetzes, usw. kann man im User-Home-Bereich erledigen.
Als nächstes folgt: Die Konfiguration des IPv6-Netzwerkes (Router/Firewall mit Linux IPv6 Router Advertisement Daemon radvd und der Clients)
Als erstes benötigt man bei Sixxs.net einen IPv6 Tunnel. Ich habe mich für einen 6in4-static Tunnel entschieden.
Dazu muss man sich einmal bei sixxs registrieren (siehe 10 easy mini steps to IPv6) und einen Tunnel beantragen (auf der genannten Seite die Schritte 1 - 6). Nachdem man sein approval mail mit den Konfigurationsdaten bekommen hat, kann der erste Streich beginnen.
Ein einfacher IPv6 - Tunnel mit Debian / Ubuntu
Das approval mail sieht ungefähr so aus:
Code:
The SixXS Staff have honored your request for a tunnel with the following
specifications:
-------
Tunnel Id : T12349
PoP Name : xxxx (xxxx [ASxxxx])
TIC Server : tic.sixxs.net (which is the default in AICCU)
Your Location : xxxxx, at
SixXS IPv6 : 2001:15c0:xxxx:xxxx::1/64
Your IPv6 : 2001:15c0:xxxx:xxxx::2/64
SixXS IPv4 : yyy.yyy.yy.73
Tunnel Type : Static (Proto-41)
Your IPv4 : yy.yy.yyy.yy9
-------
Ich habe ein kleines bash-Skript geschrieben, das den Tunnel automatisch beim Start des Interface aufbauen soll:
Code:
#!/bin/bash
# dieses Script liegt auf /etc/network/if-up.d/startipv6tunnel
# The IPv4 address of the SixXS PoP you're using
SIXXS4="yyy.yyy.yy.73"
EXTIP="yy.yy.yyy.yy9"
TUNNELPREFIX="2001:15c0:xxxx:xxxx::"
INTPREFIX="2001:15c0:xxxx:xxxx::"
EXTERNALIF="eth0"
MYTUNNELIP="${TUNNELPREFIX}2"
SIXXSTUNNELIP="${TUNNELPREFIX}1"
MTU=1280
IPTABLES="/sbin/iptables"
IPT6="/sbin/ip6tables"
IP6DEV="sixxs"
## ENABLING IPv6 Tunnel ##
$IPTABLES -A INPUT -p 41 -s $SIXXS4 -d $EXTIP -j ACCEPT
$IPTABLES -A OUTPUT -p 41 -d $SIXXS4 -s $EXTIP -j ACCEPT
$IPTABLES -A POSTROUTING -o $EXTERNALIF -t nat -d $SIXXS4 -p all -j SNAT --to-source $EXTIP
## ENABLING IPv6 Tunnel ##
/sbin/ip tunnel add $IP6DEV mode sit local ${EXTIP} remote ${SIXXS4}
/sbin/ip link set $IP6DEV up
/sbin/ip link set mtu ${MTU} dev $IP6DEV
/sbin/ip tunnel change $IP6DEV ttl 64
/sbin/ip -6 addr add ${MYTUNNELIP}/64 dev $IP6DEV
/sbin/ip -6 ro add default via ${SIXXSTUNNELIP} dev $IP6DEV
echo "Starting IPv6 firewall..."
$IPT6 -F
$IPT6 -X
$IPT6 -t mangle -F
$IPT6 -t mangle -X
## DROP all incomming traffic
$IPT6 -P INPUT DROP
$IPT6 -P OUTPUT DROP
$IPT6 -P FORWARD DROP
#unlimited access to loopback
$IPT6 -A INPUT -i lo -j ACCEPT
$IPT6 -A OUTPUT -o lo -j ACCEPT
# Allow full outgoing connection but no incomming stuff
$IPT6 -A INPUT -i $IP6DEV -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT6 -A OUTPUT -o $IP6DEV -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
# allow incoming ICMP ping pong stuff
$IPT6 -A INPUT -i $IP6DEV -p ipv6-icmp -j ACCEPT
$IPT6 -A OUTPUT -o $IP6DEV -p ipv6-icmp -j ACCEPT
############## add your custom rules below ############
#### open IPv6 port 80
##$IPT6 -A INPUT -i $IP6DEV -p tcp --destination-port 80 -j ACCEPT
#### open IPv6 port 22
##$IPT6 -A INPUT -i $IP6DEV -p tcp --destination-port 22 -j ACCEPT
#### open IPv6 port 25
##$IPT6 -A INPUT -i $IP6DEV -p tcp --destination-port 25 -j ACCEPT
############# End custom rules ################
#
##### no need to edit below ###
## log everything else
$IPT6 -A INPUT -i $IP6DEV -j LOG
$IPT6 -A INPUT -i $IP6DEV -j DROP
Rechte setzen das Script ausführen und schon gehts!
z.B.:
Code:
debian:~# chmod 750 /etc/network/if-up.d/startipv6tunnel
debian:~# /etc/network/if-up.d/startipv6tunnel
Bei einem Reboot wird der Tunnel automatisch gestartet.
Wenn der Tunnel 1 Woche lang erreichbar ist, bekommt man von Sixxs die credits (siehe eine Beschreibung zum credit-system) um ein Subnet zu beantragen. Diese credits sind übrigens kostenlos und haben auch keinen monitären Wert:
Zitat:"The currency unit used is the IP SixXS Kredit (ISK).
The currency is completely virtual and has no relation to any real, physical, value.
The main target of the existance of this currency is to make people actually use
their tunnel and keep them working. "
Also für eine Woche Erreichbarkeit (ping) erhält man 5 credits.
Die Abfrage der credits - Anzahl, der Tunnel-/ Subnet-Details bzw. das Beantragen eines IPv6 /48 Subnetzes, usw. kann man im User-Home-Bereich erledigen.
Als nächstes folgt: Die Konfiguration des IPv6-Netzwerkes (Router/Firewall mit Linux IPv6 Router Advertisement Daemon radvd und der Clients)