2001:7b8:3cd:200::1: Unterschied zwischen den Versionen
Niki (Diskussion | Beiträge) |
Niki (Diskussion | Beiträge) |
||
Zeile 151: | Zeile 151: | ||
down ip -6 addr del 2001:7b8:3cd:200::121/128 scope global dev vlan2 | down ip -6 addr del 2001:7b8:3cd:200::121/128 scope global dev vlan2 | ||
− | Weiters muss das Routing eingeschaltet werden. Das erledigt bei mir folgender Eintrag in der sysctl.conf: | + | Weiters muss das Routing eingeschaltet werden. Das erledigt bei mir folgender Eintrag in der /etc/sysctl.conf: |
+ | |||
+ | net.ipv6.conf.default.forwarding=1 | ||
+ | |||
+ | Am besten den Rechner neu starten. | ||
Version vom 21. Jänner 2008, 17:19 Uhr
2001:7b8:3cd:200::1 - was soll das sein? Es ist eine IPv6 Adresse! Und zwar nur eine meiner gewaltigen 1 208 925 819 614 629 174 706 176 (2^80) statischen IP Adressen aus dem neuen Internet der neuen Generation.
Lange hat mich IPv6 überhaupt nicht interessiert aber im Jänner hab ich es dann doch gewagt und mir einen Tunnel bei http://www.sixxs.net bestellt.
Nach der Überprüfung meiner Daten war der Tunnel sofort eingerichtet. Zum Glück habe ich ebenfalls eine statische IPv4 Adresse, so kann ich bequem das Protokoll "6in4" (IP Protokoll 41)verwenden und muss nicht lästige Lösungen zurückgreifen die meine IP Adresse überwachen und den Tunnel umschreiben. Weiters hatte ich das Glück, dass ich es auf Anhieb geschafft habe bei meinem Speedtouch 546i das IP Protokoll 41 weiterzuleiten. So brauchte ich mich auch nicht mit irgendwelchen "windigen" UDP-Tunnel-"Lösungen" herumschlagen.
Konfiguration Speedtouch für IPv6
Die Konfiguration des ST hatte ich auf Anhieb geschafft:
:nat tmpladd group=wan type=nat outside_addr=0.0.0.1 inside_addr=192.168.200.121 protocol=41 mode=inbound
Damit wird das Protokoll von der externen IP (0.0.0.1) an die interne IP 192.168.200.121 geNATet.
Die Maplist am Speedtouch sieht daraufhin so aus:
:nat maplist expand=enabled [...] 34 NAT Internet 193.154.229.55 192.168.200.121 0 Access List................... 192.168.200.121 Foreign Address............... any Protocol...................... 6to4 Flags......................... Instance Weight........................ 10 Description................... Inbound Two-way NAT Creator Data.................. 0 [...]
Am besten kontrolliert man das indem man tcpdump auf 192.168.200.121 verwendet:
tcpdump -i vlan2 'proto 41'
Auf einem anderen Rechner im Internet generiert man ein passendes Paket:
hping2 -0 --ipproto 41 -E /etc/apt/sources.list -d 5 gate.nobaq.net
Aber Achtung, unbedingt eine Länge und Daten angeben sonst kommen die Pakete nicht durch und werden mit folgender Meldung vom ST verworfen:
IDS proto parser : ip zero payload (1 of 61) : 62.99.247.88 193.154.229.55 0020 41
(siehe Post von mir: http://www.speedtouchforum.de/viewtopic.php?t=2617)
Konfguration Tunnel auf Debian
Nun kann man am Debianrechner den Tunnel einrichten. Alle relevanten Daten erhält man in "home"-Bereich von sixxs. Meine /etc/networking/interfaces sieht so aus:
iface sixxs inet6 v4tunnel address 2001:7b8:2ff:196::2 netmask 64 local 192.168.200.121 endpoint 193.109.122.244 ttl 64 up ip link set mtu 1280 dev sixxs up ip route add default via 2001:7b8:2ff:196::1 dev sixxs
Achtung! "local" sollte (muss aber nicht) angegeben werden, denn sonst werden dem Interface automatisch alle IPv4 Adressen als linklokale IPv6 Adressen zugewiesen was ich als lästig empfinde.
Test
Und schon kann der Test losgehen:
# ping6 noc.sixxs.net -n PING noc.sixxs.net(2001:838:1:1:210:dcff:fe20:7c7c) 56 data bytes 64 bytes from 2001:838:1:1:210:dcff:fe20:7c7c: icmp_seq=1 ttl=58 time=47.8 ms 64 bytes from 2001:838:1:1:210:dcff:fe20:7c7c: icmp_seq=2 ttl=58 time=47.3 ms 64 bytes from 2001:838:1:1:210:dcff:fe20:7c7c: icmp_seq=3 ttl=58 time=47.9 ms --- noc.sixxs.net ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2007ms rtt min/avg/max/mdev = 47.379/47.736/47.947/0.310 ms # ping6 www.kame.net -n PING www.kame.net(2001:200:0:8002:203:47ff:fea5:3085) 56 data bytes 64 bytes from 2001:200:0:8002:203:47ff:fea5:3085: icmp_seq=1 ttl=47 time=337 ms 64 bytes from 2001:200:0:8002:203:47ff:fea5:3085: icmp_seq=2 ttl=47 time=337 ms 64 bytes from 2001:200:0:8002:203:47ff:fea5:3085: icmp_seq=3 ttl=47 time=321 ms --- www.kame.net ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2004ms rtt min/avg/max/mdev = 321.493/331.911/337.180/7.366 ms
Juhuu, die Verbindung steht! :-)
Das Subnet
Wo kommt jetzt aber 2001:7b8:3cd:200::1 her? Nach einer Woche Wartezeit (in der ich meinen Tunnel 24*7 Stunden aufrecht erhalten musste) hat mir sixxs dann ein ganzes /48 Netz durchgeschaltet. Beeindruckend, jetzt habe ich mehr statische IP Adressen zu Verfügung als das ganze IPv4 Internet!
Als eigenes Subnet habe ich nun bekommen: 2001:7b8:3cd::/48. Meine Tunnel IP Adresse werde ich nur für den Tunnel verwenden und keine Services darauf lassen, ich hab ja jetzt ein ganzes Subnet, das mir sixxs durch meinen Tunnel routet.
Als erstes erweitere ich nun in /etc/network/interfaces den Eintrag für sixxs:
iface sixxs inet6 v4tunnel address 2001:7b8:2ff:196::2 netmask 64 # local 193.154.229.55 local 10.7.99.10 endpoint 193.109.122.244 ttl 64 up ip link set mtu 1280 dev sixxs up ip route add default via 2001:7b8:2ff:196::1 dev sixxs up ip route add blackhole 2001:7b8:3cd::/48 dev lo metric 65535 down ip route del blackhole 2001:7b8:3cd::/48 dev lo
Die Einträge sorgen dafür, dass mein komplettes Subnet nach /dev/null geroutet wird. Das wird gebraucht wenn von aussen jemand ein Subnet von mir erreichen will dass es bei mir nicht gibt. Normalerweise würde das Paket durch den Tunnel zurückgeschickt werden, dann wieder zu mir unsw. Es tritt ein ping-pong Effekt auf (Die Pakete werden dann erst verworfen wenn die TTL abgelauten ist). Um das zu vermeiden wird eben diese Blackhole geschaffen.
Als nächstes möchte ich die neuen Adressen gerne verwenden. Aufgrund von VServern habe ich sowieso einige IPv4 Aliase. Für alle VServer, die von aussen erreichbar sein sollen hab ich nun die entsprechenden IPv6 Adressen zugewiesen. Weiters habe ich als Subnet 2001:7b8:3cd:200::/64 auserchoren - zur "Kopatibilität" zu 192.168.200.0/24. Dieses Netz befindet sich jetzt auf vlan2, d.h. es muss eine route-Anweisung hinzugefügt werden, der dieses Netz nach vlan2 routet. Der komplette Eintrag für vlan2 in /etc/network/interfaces sieht entsprechend so aus:
iface vlan2 inet static vlan-raw-device eth0 address 192.168.200.1 netmask 255.255.255.0 up ip route add 2001:7b8:3cd:200::/64 dev vlan2 down ip route del 2001:7b8:3cd:200::/64 dev vlan2 up ip addr add 192.168.200.121/32 scope global dev vlan2 up ip addr add 192.168.200.117/32 scope global dev vlan2 up ip addr add 192.168.200.116/32 scope global dev vlan2 up ip addr add 192.168.200.114/32 scope global dev vlan2 up ip addr add 192.168.200.113/32 scope global dev vlan2 up ip addr add 192.168.200.112/32 scope global dev vlan2 up ip -6 addr add 2001:7b8:3cd:200::1/128 scope global dev vlan2 up ip -6 addr add 2001:7b8:3cd:200::113/128 scope global dev vlan2 up ip -6 addr add 2001:7b8:3cd:200::116/128 scope global dev vlan2 up ip -6 addr add 2001:7b8:3cd:200::117/128 scope global dev vlan2 up ip -6 addr add 2001:7b8:3cd:200::121/128 scope global dev vlan2 down ip addr del 192.168.200.117/32 scope global dev vlan2 down ip addr del 192.168.200.116/32 scope global dev vlan2 down ip addr del 192.168.200.114/32 scope global dev vlan2 down ip addr del 192.168.200.113/32 scope global dev vlan2 down ip addr del 192.168.200.112/32 scope global dev vlan2 down ip addr del 192.168.200.121/32 scope global dev vlan2 down ip -6 addr del 2001:7b8:3cd:200::1/128 scope global dev vlan2 down ip -6 addr del 2001:7b8:3cd:200::113/128 scope global dev vlan2 down ip -6 addr del 2001:7b8:3cd:200::116/128 scope global dev vlan2 down ip -6 addr del 2001:7b8:3cd:200::117/128 scope global dev vlan2 down ip -6 addr del 2001:7b8:3cd:200::121/128 scope global dev vlan2
Weiters muss das Routing eingeschaltet werden. Das erledigt bei mir folgender Eintrag in der /etc/sysctl.conf:
net.ipv6.conf.default.forwarding=1
Am besten den Rechner neu starten.