Dez 13

Seit 4 Tagen bin ich den lästigen reconnect der Telekom los. Keine Zwangstrennung mehr nach 24h. Yes !

Wie das geht ? Ziemlich simpel. Man wechselt den Tarif beim rosa Riesen. “Call & Surf Comfort IP” heisst das Ding. Einher mit dem Tarif geht ein SIP-Account, über den man von dort per VoIP erreichbar ist (Besonderheiten der Telekom inclusive – verfasse dazu noch einen Blogeintrag). Aufgrund dessen fällt dann nämlich die Zwangstrennung weg. Nun gut, genug Marketinggedönse. Zum eigentlichen: Wie ich ja schon gebloggt habe, bin ich zufriedener sixxs Kunde, was meine ipv6-Welt angeht. Schön statische Prefixe, soviel /56er subnetze (statisch!) wie man haben will. Eigentlich genau das, was man als Betreiber von ein paar unwichtigen Diensten im Netz so benötigt.

Ganz gegensätzlich ipv6 bei der Telekom. Man bekommt ein /64er /56er Prefix, und das ist zu allem übel auch noch dynamisch. Sprich bei jedem Reconnect (der zwar, s.o., nur noch alle Jubelmonate kommt) gibts wieder einen neuen Prefix. Ist jetzt nicht der ultimative Brüller, denn der Sinn von ipv6 war ja genau dieses Dilemma zu lösen. – Wir erinnern uns: in den 90ern gab es die dynamische Vergabe nur, weil die ganzen ISPs mehr Kunden als ipv4-Addressen hatten – also mit ipv6 eigentlich kein Grund mehr für sowas. Die Gründe mögen vielfältig sein. Paranoide Menschen sind der Meinung, dass man mit dyn.IP’s einen Datenschutzzugewinn hat (Bullshit !), die Telekom meint, dass man statische IPs besser hochpreisig vermarkten sollte, und so on.

Nun, was tun mit dem schwankenden ipv6-Prefix, bei dem man nichtmal ‘ne DNS-Reversedelegation setzen kann ? Folgende Dinge sind mir so eingefallen:

  • Testen des sixxs.net oder HurricaneElectric-Tunnels von “aussen” 🙂
  • Backup-Routing, falls sixxs/HE mal down sind (wobei das vermutlich tricky wird)
  • Den “User” Kram aus dem Heimnetz über das /64 /56er routen. Alle Dienste über die statischen Netze

Naja, wie auch immer man sich entscheidet, das ganze unter linux auf einem “Selbstbaurouter” einzubinden bedarf ein wenig Bastelei. Was haben wir ?

  • Ein Standard DSL-Modem (Speedport 221) / kein Router (an dieser Stelle sei erwähnt, dass, entgegen irgendwelchen Aussagen, ein Modem vollkommen ausreicht (sowohl für VoIP, als auch für Entertain, sowie für ipv6) – “pppoe-Passthrough” in einem Speedportrouter kann funktionieren, muss es aber nicht. Je puristischer, desto besser.
  • Ein lauffähiges Linux, mit dem wir schon in der Vergangenheit pppoe gemacht haben und welches die öffentliche ipv4 bekommt. – Ich nehm’ hier Debian. Ein vorkonfektioniertes pfSense, ipcop, und wie die Distributionen so alle heissen, sollte auch gehen.
  • pppoe über rp-pppoe wie gewohnt. Hier in die /etc/ppp/options ein “+ipv6” eintragen

Jetzt gibts beim Reconnect zusätzlich zur ipv4 eine ipv6-LinkLocal-Adresse. Mit der kann man noch nicht so viel anfangen, denn die ist ja linklocal und damit nicht gerouted. An dieser Stelle hab ich echt am längsten (im wahrsten Sinne des Wortes) gehangen. Wie kommt man nun an die ipv6-IP ? Im Normalfall über zwei Wege. Entweder Router-Advertising, oder DHCPv6 (wobei letzteres nur bedingt empfehlenswert ist). Die Telekom announced die Prefixe per RA. Und zwar in 10 Minuten Intervallen. Was zum debuggen recht schmerzhaft ist (immer 10min. warten). Um dem geneigten Leser die Wartezeit (und das debuggen) zu verkürzen hier die Einstellungen die man am ppp0 vornehmen sollte (am besten in irgendein /etc/ppp/ip-up.d/file zur Firewall packen):

echo 0 > /proc/sys/net/ipv6/conf/ppp0/forwarding
echo 1 > /proc/sys/net/ipv6/conf/ppp0/autoconf 
									

Sodann wirds beim nächsten RA (wie gesagt: Nur alle 10 min. !) eine öffentliche IP geben, die dann über die, oben erwähnte, LinkLocal-Adresse raus/reingerouted wird. Routen sollten automatisch gesetzt werden.

ip6tables kann man dann nach gusto anpassen. Bei mir bekommt nur der “router” die Dynamische-V6, da dort der (Zwangs-)Proxy mit adblocker & Co. läuft – reicht dort also. Wer das v6 im LAN nutzen möchte, dem sei der radvd (Router Advertising Daemon) ans Herz gelegt.

Ein Grundsetup an ip6tables-Rules finden wir hier:

/sbin/ip6tables -P INPUT DROP
/sbin/ip6tables -A INPUT -i lo -j ACCEPT              #allow everything out
/sbin/ip6tables -A INPUT -p icmpv6 -j ACCEPT
/sbin/ip6tables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
/sbin/ip6tables -A INPUT -i $LAN -j ACCEPT       # allow GRE
/sbin/ip6tables -A INPUT -i $WAN -j LOG --log-prefix "INP6:End "
/sbin/ip6tables -A INPUT -i $WAN -j DROP

### OUTPUT
### (connections with the router as source)
echo "BASE OUTPUT"

  # base case
/sbin/ip6tables -A OUTPUT -o $WAN -j ACCEPT              #allow everything out
/sbin/ip6tables -A OUTPUT -o $LAN -j ACCEPT              #allow everything out
									

Happy v6ing !

 

[Update 26.02.2014] Es gibt ein /56er Prefix bei der Telekom, keine /64er – löst das Problem aber nicht. Danke an den Hinweisgeber.

Tagged with:
preload preload preload