[Berlin-wireless] IPv6 in Berlin

cholin cholin
Fr Mai 30 23:00:08 CEST 2014


Liebe MABB-Backbone-Maintainer_innen.

Wir haben uns soeben mal auf dem WCW [1] hingehockt und perspektivisch
das berliner Freifunk-Netz erörtert. Morgen gibts genau zu diesem Thema
eine Diskussion auf dem WCW unter dem Titel "ipv6 concepts" um 14-15
Uhr. Unsere Idee für Berlin war die folgende:

Nachdem wir mittlerweile ein eigenes IPv6-Präfix "2001:bf7::/32" und ein
dafür fertig konfiguiertes BGP-Setup haben und dieses sogar auch im
OLSR-Mesh hängt, wirds Zeit diese Präfixe auch ins Backbone zu bringen.
Ziel ist es dafür ein Setup aus zwei Routing-Techniken zu benutzen: OLSR
fürs Backbone und viele kleinere batman-adv-Meshs unterhalb von
Backbone-Standorten. Da die Backbone-Standorte von wenigen aber
erfahrenen Benutzer_innen betreut werden, sollten diese manuell mit
eigenen IPv6-Präfixen (zBsp "2001:bf7:820::/44" für Neukölln)
konfiguriert werden. Die Vergabe der Adressen erfolgt nach Stadt und
dann nach Bundestagswahlkreise [2]. Jede_r Maintainer_in nimmt sich
somit eine 2001:bf7:XXX:YY00::/56 und konfiguriert dies in /etc/config
auf einem einzigen Interface und löscht den ULA-Eintrag. Außerdem
brauchts die entsprechende HNA6-Announcement in /etc/config/olsr.

/etc/config/network
config interface 'lan'
   (...)
   list ip6prefix '2001:bf7:830:1000::/56'  #für Ohlauer Str

/etc/config/olsr
config Hna6
        option prefix '56'
        option netaddr '2001:BF7:830:1000::'

In den Kiez geht es von diesen Standorten in der Regel per batman-adv
(ggfs. auch OLSR). Das batman-adv Mesh und seine Clients wird dann mit
dem IPv6-Präfix vom OLSR-Backbone-Knoten sowie lokalen VPN03-Kisten
versorgt. Um die Präfixe zu verteilen verwenden wir 6relayd. Langfristig
wollen wir mit diesem Setup damit an benutzerfreundliche Firmwares wie
etwa andere batman-adv Communities (Lübeck, Hamburg) kommen.
Aufgrunddessen dass wir statisch Präfixe im Backbone vergeben, brauchen
wir das auto_ipv6-Skript nicht mehr. Also einfach per "crontab -e"
/usr/bin/auto_ipv6_node auskommentieren und in 6relayd folgende
Konfiguration machen:

config server 'default'
	option rd 'server'
	option dhcpv6 'server'
	option management_level '1'
	option always_assume_default '0'
	list network 'mesh'

Mesh steht hierbei für das batman-Mesh-Interface. Nun noch batman-adv in
/etc/config/network konfigurieren:

config interface 'adhoc'
	option mtu '1528'
	option proto 'batadv'
	option mesh 'bat0'

config interface 'mesh'
	option ifname 'bat0'
	option type 'bridge'
	option proto 'static'
	option ipaddr '104.193.23.1'
	option netmask '255.255.255.0'
	option ip6assign '64'

Nicht vergessen DHCP auch auf dem Mesh-Interface zu konfigurieren.
Menschen die sich nun mit dem Core-Router verbinden wollen, stellen
einfach ein Gerät mit batman-adv ans Fenster und sollten über den
Core-Router automatisch eine IPv4-Adresse (legacy 104/8) sowie ein
Router Advertisement vom public IPv6-Prefix bekommen.

Insgesamt können also die Firmware deutlich einfacher von Endkunden
gestalten, da wir somit den Freifunk Wizard nicht mehr brauchen.
Abzuwägen ist, dass wir evtl das OLSR SmartGateway erweitern müssen,
dass es IPv6-Präfixe für OLSR Netze verteilen kann. Weiterhin müssen wir
in dem Zuge möglichst alles auf OpenWRT migrieren (weg von AirOS). Ein
minimalistisches Protokoll zum Treffen gibts übrigens im Pad:

   http://pad.freifunk.net/p/wcw-ipv6-berlin

Hoffe das war jetzt einigermaßen verständlich...

Gruß
Nico


[1] http://wiki.freifunk.net/Wireless_Community_Weekend_2014
[2] http://wiki.freifunk.net/IPv6:Prefixe


Am 30.05.2014 16:52, schrieb Bastian:
> Hallo,
> 
> Daniel und Patrick haben gestern das IPv6-Routing zu am-dach-rt1 gefixt.
> Damit ist unser erster IPv6-Gateway nun über den Nordring (BHT) und
> Südring (Zoofenster) erreichbar.
> 
> Um unseren Standorten und damit den lieben Usern IPv6 beizubringen, gibt
> es z.Z. zwei Möglichkeiten:
> 
> 1) den auto-ipv6 cronjob in unserer Firmware. am-dacht-rt1 verkündet ein
> /44 womit sich alle Nodes automatisch ein /61 würfeln und daraus je
> Interface ein /64 vergeben.
> Funktioniert soweit gut und ist für die meisten Nodes auch schon
> automatisch passiert (siehe HNA6-Table)
> 
> 2) Händisch ein /56 je Standort auswählen, dazu unbedingt [1] beachten!
> *) auto-ipv6 cronjob deaktivieren
> *) Je Node am Standort ein /60 aus dem /56 in der /etc/config/network
> eintragen: z.B. "list ip6prefix '2001:bf7:750:1400::/60'" an irgend eine
> Interface-Section hinzufügen. Alle Interfaces sollten "option ip6assign
> '64'" haben.
> *) Das /60 in der /etc/config/olsr als HNA6 definieren
> config Hna6
> 	option prefix '60'
> 	option netaddr '2001:bf7:750:1400::'
> 
> *) 6relayd: Nur an den Nodes aktivieren, die auch selbst DHCP-Adressen
> ausgeben. "option always_assume_default '0'" setzen, damit keine
> Adressen vergeben werden wenn IPv6 mal nicht funktionieren sollte.
> 
> 
> Tipps zum Debugging:
> OpenWRT scheint für ausgehende Verbindungen nicht zwangsläufig immer
> eine global IPv6-Adresse zu verwenden. Das fällt uns auf die Füße, wenn
> eine IP6 aus dem gewürfelten ULA-Prefix verwendet wird. Das ist z.B. bei
> einem traceroute ins Internet der Fall, wenn es bei am-dach-rt1 nicht
> mehr weiter geht. Deswegen z.B. bei ping6 mit "-I" eine der globalen IP6
> angeben.
> In /tmp/hosts/6relayd sollten sich an einem busy-Node recht schnell
> DHCPv6-leases ansammeln.
> tcpdump -n -i <interface> ip6 and not port 698 and not icmp6 sollte an
> einem busy-Node recht schnell Traffic zu 2a03:2880:20:8f07:face:b00c:0:1
> zeigen
> 
> @Patrick,Daniel: Bitte korrigieren/ergänzen
> 
> Gruß
> Bastian
> 
> [1]:
> http://wiki.freifunk.net/IPv6:Prefixe#Adresschema_Berlin_WLAN_.2F_Standorte
> 
> 
> 
> _______________________________________________
> Berlin mailing list
> Berlin at berlin.freifunk.net
> http://lists.berlin.freifunk.net/cgi-bin/mailman/listinfo/berlin
> 

-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : 0x1F785AE4.asc
Dateityp    : application/pgp-keys
Dateigröße  : 2767 bytes
Beschreibung: nicht verfügbar
URL         : <http://lists.berlin.freifunk.net/pipermail/berlin/attachments/20140530/a66406d8/attachment.key>
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : signature.asc
Dateityp    : application/pgp-signature
Dateigröße  : 490 bytes
Beschreibung: OpenPGP digital signature
URL         : <http://lists.berlin.freifunk.net/pipermail/berlin/attachments/20140530/a66406d8/attachment.pgp>



Mehr Informationen über die Mailingliste Berlin