Geschichte/Server/charm3/IPv6: Unterschied zwischen den Versionen
Rabe (Diskussion | Beiträge) K (→Ping auf die Tunnelgegenstelle: markup) |
Rabe (Diskussion | Beiträge) K (Rabe verschob Seite UUGRN:Server/charm/IPv6 nach UUGRN:Server/charm3/IPv6: Abgrenzung voneinander. charm1=AMD K6-2 200MHz in 19"-4U charm2=Pentium 4 in 19"-4U charm3=IBM xSeries (19"-2U), Hardware Spende) |
(kein Unterschied)
|
Version vom 7. April 2013, 22:09 Uhr
charm.[forum41.]uugrn.org ist ein IPv6-Router für das LAN im Forum41.
Es gibt einen statischen IP-IP Tunnel von http://tunnelbroker.net/ bzw http://he.net/.
Unser Prefix bzw Netzwerk ist 2001:470:9e62::/48
Aus diesem /48-Netzwerk wird 2001:470:9e62:23::/64 im Forum41-LAN angeboten, wobei charm.forum41.uugrn.org mit seinem Interface em1 das Gateway auf 2001:470:9e62:23::1 ist.
Konfiguration
Bei der Konfiguration von tunnelbroker.net fällt für FreeBSD >4 folgendes Shellscript als copy-paste Vorlage zum Starten des Tunnels heraus:
- start_ipv6.sh
#! /bin/sh ifconfig gif0 create ifconfig gif0 tunnel 62.157.153.59 216.66.80.30 ifconfig gif0 inet6 2001:470:1f0a:38c::2 2001:470:1f0a:38c::1 prefixlen 128 route -n add -inet6 default 2001:470:1f0a:38c::1 ifconfig gif0 up
Das funktionierte auch leidlich, ist aber hässlich, weil es nicht die internen Startmechanismen verwendet bzw. die Settings dort komplett ignoriert. Deswegen haben wir die Settings mehr oder weniger sinnvoll als Variablen in /etc/rc.conf verpackt und getestet.
- /etc/rc.conf
# Grundeinstellungen network_ipv6_enable="YES" ipv6_enable="YES" ipv6_gateway_enable="YES" # braucht man, damit gif0 erzeugt wird. cloned_interfaces="gif0" ipv6_network_interfaces="em1 gif0" # IPv4-Tunnel ifconfig_gif0="tunnel 62.157.153.59 216.66.80.30" # IPv6-Adressen ipv6_ifconfig_em1_alias0="2001:470:9e62:23::1 prefixlen 64" ipv6_ifconfig_gif0="2001:470:1f0a:38c::2 2001:470:1f0a:38c::1 prefixlen 128" ipv6_defaultrouter="2001:470:1f0a:38c::1" # Router Advertisement Daemon starten, damit das Netz auch verteilt wird. rtadvd_enable="YES" rtadvd_interfaces="em1" # Interfaces rtadvd sends RA packets.
Der rtadvd benötigt außerdem folgende Konfiguration:
- /etc/rtadvd.conf
# 2001:470:9e62::/48 em1:\ :addr="2001:470:9e62:23::":prefixlen#64:maxinterval#60:mininterval#40:vltime#3600:tc=ether:
Firewall
Damit IPv6-Traffic auch ankommt, muss das entsprechende IP-Protokoll erlaubt werden. Auf charm.[forum41].uugrn.org verwenden wir ipfw als Packetfilter, der sowohl für v4 als auch für v6 die Filterregeln verwaltet.
- ipfw_forum41
[...] add allow ip6 from any to any # gif0 62.157.153.59 --> 216.66.80.30 add allow all from 62.157.153.59 to 216.66.80.30 add allow all from 216.66.80.30 to 62.157.153.59 [...]
De facto gibt es derzeit noch keine IPv6-Filterregeln, auch nicht für eingehenden Traffic!
Auto-Configuration
Alle Betriebssysteme, die sich auto-konfigurieren lassen (per router advertisements) sollten automatisch eine IPv6-Adresse aus 2001:470:9e62:23::/64 bekommen und diese auch direkt nutzen können. Der Host-Teil der IPv6-Adresse leitet sich typischerweise aus den 48Bit der Mac-Adresse ab (nicht 1:1).
DNS
Derzeit haben wir noch keine DNS-Delegation für unser Netz. Bei dynamisch verwalteten IPv6-Adressen macht das üblicherweise auch wenig Sinn. Denkbar wäre, dass wir ein weiteres /64 für statische Adressen reservieren und routen und hier dann auch entsprechende DNS-Einträge anbieten. Da dies unter uugrn.org sein wird, wird dies voraussichtlich nur für UUGRN-Mitglieder möglich sein.
Geschwindigkeit
Bei IPv6-Tunneln gibt es häufig genug das Problem, dass auf IPv4 der Tunnel erstmal um die halbe Welt gespannt wird, um dann von dort über häufig viel zu langsame Leitungen verbreitet zu werden. Unser Tunnel von he.net scheint aber ganz vernünftige Latenzen zu haben. Interessanterweise scheint IPv6 eine geringere Latenz zu haben als IPv4, wobei man die roundtrip-time von ICMP nicht unbedingt immer als Vergleichswert hernehmen darf:
- ping www.google.com
root@charm:~# ping -c 10 www.google.com PING www.l.google.com (74.125.43.99): 56 data bytes 64 bytes from 74.125.43.99: icmp_seq=0 ttl=56 time=31.456 ms 64 bytes from 74.125.43.99: icmp_seq=1 ttl=56 time=26.771 ms 64 bytes from 74.125.43.99: icmp_seq=2 ttl=56 time=25.683 ms 64 bytes from 74.125.43.99: icmp_seq=3 ttl=56 time=24.714 ms 64 bytes from 74.125.43.99: icmp_seq=4 ttl=56 time=49.109 ms 64 bytes from 74.125.43.99: icmp_seq=5 ttl=56 time=26.785 ms 64 bytes from 74.125.43.99: icmp_seq=6 ttl=56 time=25.689 ms 64 bytes from 74.125.43.99: icmp_seq=7 ttl=56 time=24.722 ms 64 bytes from 74.125.43.99: icmp_seq=8 ttl=56 time=27.754 ms 64 bytes from 74.125.43.99: icmp_seq=9 ttl=56 time=26.788 ms --- www.l.google.com ping statistics --- 10 packets transmitted, 10 packets received, 0.0% packet loss round-trip min/avg/max/stddev = 24.714/28.947/49.109/6.967 ms
- ping6 ipv6.google.com
root@charm:~# ping6 -c 10 ipv6.google.com PING6(56=40+8+8 bytes) 2001:470:1f0a:38c::2 --> 2001:4860:a003::68 16 bytes from 2001:4860:a003::68, icmp_seq=0 hlim=59 time=16.422 ms 16 bytes from 2001:4860:a003::68, icmp_seq=1 hlim=59 time=15.841 ms 16 bytes from 2001:4860:a003::68, icmp_seq=2 hlim=59 time=22.123 ms 16 bytes from 2001:4860:a003::68, icmp_seq=3 hlim=59 time=15.907 ms 16 bytes from 2001:4860:a003::68, icmp_seq=4 hlim=59 time=15.823 ms 16 bytes from 2001:4860:a003::68, icmp_seq=5 hlim=59 time=37.343 ms 16 bytes from 2001:4860:a003::68, icmp_seq=6 hlim=59 time=15.762 ms 16 bytes from 2001:4860:a003::68, icmp_seq=7 hlim=59 time=15.798 ms 16 bytes from 2001:4860:a003::68, icmp_seq=8 hlim=59 time=37.194 ms 16 bytes from 2001:4860:a003::68, icmp_seq=9 hlim=59 time=29.110 ms --- ipv6.l.google.com ping6 statistics --- 10 packets transmitted, 10 packets received, 0.0% packet loss round-trip min/avg/max/std-dev = 15.762/22.132/37.343/8.593 ms
Ping auf die Tunnelgegenstelle
Ein direkter Vergleich der Latenzen auf v4 ./. v6 ist beim Ping auf die Gegenstelle des Tunnels möglich
- ifconfig gif0
gif0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1280 tunnel inet 62.157.153.59 --> 216.66.80.30 inet6 fe80::209:6bff:fe09:7f36%gif0 prefixlen 64 scopeid 0x4 inet6 2001:470:1f0a:38c::2 --> 2001:470:1f0a:38c::1 prefixlen 128
- Vergleich
IPv4 | IPv6 |
---|---|
# ping -qc 10 216.66.80.30 | # ping6 -qc 10 2001:470:1f0a:38c::1 |
--- 216.66.80.30 ping statistics --- 10 packets transmitted, 10 packets received, 0.0% packet loss round-trip min/avg/max/stddev = 8.947/17.020/37.345/10.776 ms |
--- 2001:470:1f0a:38c::1 ping6 statistics --- 10 packets transmitted, 10 packets received, 0.0% packet loss round-trip min/avg/max/std-dev = 10.986/17.847/35.374/8.348 ms |
Danke
Danke an SECuRE für seine Initiative beim UUGRN:10 Jahre UUGRN e.V. und die Hilfe bei der Konfiguration und debugging (insbesondere rtadvd).