IC-VPN
Das Freifunk-InterCity-VPN verbindet die autonomen Systeme der Freifunk-Netze der einzelnen Communities durch ein vermaschtes VPN unter der Verwendung von BGP miteinander.
Realisierung
Die Verbindungen unterhalb der Communities werden über Tinc als VPN-Tunnel bereitgestellt, worauf BGP als Routing-Protokoll für den Austausch der Routen zuständig ist. Dazu wird ein Router mit Tinc und einem BGP-Daemon (z.B Quagga, bird) ausgestattet und an das VPN angebunden. Der Router kann dann mit anderen über das VPN erreichbaren Routern peeren und die Subnetze der eigenen Stadt per BGP bekanntgeben. Da die unterschiedlichen Communities sich eigenständige IP-Bereiche in der IP-Liste ausgesucht haben, sollte es hierbei nicht zu kollidierenden Announcements kommen. BGP ist in erster Linie ein Filtermechanismus, der es ermöglicht zu entscheiden welche IP-Bereiche man von welchem Peering-Partner haben bzw. nicht haben möchte. Sollten also doch mal Konflikte auftreten, so kann man das Routing zwischen der eigenen Stadt und anderen Städten sehr gezielt steuern.
Für eine redundante Anbindung empfiehlt es sich bis zu zwei VPN-Server pro Community einzurichten.
Als Transfernetz dient 10.207.0.0/16, mit grober Einteilung 10.207.LAND.STADT. Als Transfernetz für IPv6 dient fec0::a:cf:0:0/96 (hexadezimale Repräsentation von 10.207.0.0/16), mit grober Einteilung fec0::a:cf:LAND:STADT. Bei IPv6 bitte beachten, dass es sich um hexadezimal Zahlen handelt => 10 = A, etc.!
Zuerst eine IP-Adresse (siehe unten stehende Liste – Netzübersicht) und AS-Nummer registrieren. Bei der Gelegenheit gleich die unten stehende Beispielkonfiguration mit euren Werten erweitern.
IC-VPN/Infopage (nicht mehr aktuell)
Stand der Vernetzung
Status
BGP Looking Glasses finden sich bei
Smokeping-Installation finden sich bei
- Freifunk Leipzig (nicht aktiv maintained)
Es existiert zudem ein WHOIS-Server, der auf den Daten aus icvpn-meta aufbaut.
whois -h freifunk.draic.info 2001:bf7:110::f00 whois -h freifunk.draic.info AS65056 whois -h freifunk.draic.info 10.8.1.2 whois -h freifunk.draic.info ffhl
(Ankündigung durch tcatm: https://forum.freifunk.net/t/ein-kleiner-whois-service-fur-freifunk/1502)
Stand August 2018 scheint freifunk.draic.info offline zu sein, Alternativen: whois -h node2.ff3l.net, whois -h whois.freifunk.xyz [...]
Mailinglist
There is a mailinglist [1] for all operators to make the coordination of new peerings easier.
Please subscribe to it and send a brief email to introduce yourself.
Tinc einrichten
BGP Einrichten
Wie in der Einleitung schon erwähnt wurde, kann der Routenaustusch zwischen den Netzwerken (BGP) mittels bird oder quagga realisiert werden.
Ein Teil der Konfiguration musst du selbstverständlich an deine Community anpassen. Ein anderer Teil, nämlich der, der IP-Adressen und AS-Nummern von anderen enthält, lässt sich aber sehr gut automatisch generieren. Dazu gibt es das Repository https://github.com/freifunk/icvpn-meta, in dem du eine neue Datei mit deinen eigenen Werten anlegst und einen Pull-Request stellst, sowie die Scripte in https://github.com/freifunk/icvpn-scripts, um daraus die entsprechenden Configs zu bauen. Das könnte etwa so aussehen:
cd /var/lib git clone https://github.com/freifunk/icvpn-meta cd /opt git clone https://github.com/freifunk/icvpn-scripts cat > /etc/cron.hourly/icvpn-update #!/bin/sh DATADIR=/var/lib/icvpn-meta cd /etc/tinc/icvpn git pull -q cd "$DATADIR" git pull -q ^D
Das Script am Ende aktualisiert stündlich das meta-Repo. Das alleine bringt natürlich noch nichts, der Rest hängt aber davon ab, ob du Quagga oder Bird einsetzen möchtest.
Quagga
Dies ist eine Beispielkonfiguration für quagga.
/etc/quagga/bgpd.conf.head_v4
! hostname [HOSTNAME] password [SOMETHING] ! router bgp [ASN] bgp router-id 10.207.X.Y ! Here you can specify the networks you are using. network 10.20.30.40/32 neighbor icvpn4 peer-group neighbor icvpn4 soft-reconfiguration inbound neighbor icvpn4 prefix-list icvpn4 in neighbor icvpn4 prefix-list icvpn4 out
/etc/quagga/bgpd.conf.head_v6
address-family ipv6 ! Here you can specify the networks you are using. network fec0:123::/128 neighbor icvpn6 peer-group neighbor icvpn6 activate neighbor icvpn6 prefix-list icvpn6 in neighbor icvpn6 prefix-list icvpn6 out
/etc/quagga/bgpd.conf.foot
! exit-address-family ! ip prefix-list icvpn4 description *** ICVPN prefix-list for internal and public IP address space *** ! ! deny the default gateway route ! ip prefix-list icvpn4 seq 10 deny 0.0.0.0/0 ! ! permit RFC1918 networks ! ip prefix-list icvpn4 seq 20 permit 10.0.0.0/8 le 24 ip prefix-list icvpn4 seq 21 permit 172.16.0.0/12 le 24 ip prefix-list icvpn4 seq 22 permit 192.168.0.0/16 le 24 ! ! permit this 6/8 network as it is almost unused in the wild. ! ip prefix-list icvpn4 seq 30 permit 6.0.0.0/16 le 32 ip prefix-list icvpn4 seq 31 permit 6.0.0.0/8 le 24 ! ! permit 104/8 and 105/8 ! ip prefix-list icvpn4 seq 40 permit 104.0.0.0/8 le 24 ge 9 ip prefix-list icvpn4 seq 41 permit 105.0.0.0/8 le 24 ge 9 ! ! ! permit public IP ranges which will be announced in the ICVPN ! ip prefix-list icvpn4 seq 501 permit 77.87.48.0/21 ip prefix-list icvpn4 seq 502 permit 78.41.112.0/22 ip prefix-list icvpn4 seq 503 permit 188.40.227.0/24 ip prefix-list icvpn4 seq 504 permit 193.238.156.0/22 ! ! deny all others ! ip prefix-list icvpn4 seq 999 deny 0.0.0.0/0 le 32 ! ipv6 prefix-list icvpn6 permit 2000::/3 le 64 ipv6 prefix-list icvpn6 deny any ! log file /var/log/quagga/bgpd.log ! !log stdout
Die access-list ist so gewählt das nur ausgewählte Netze übernommen werden, bei BGP handelt es sich um Routing Protokoll das über den AS Border hinaus arbeitet. D.h. sollte man jedem Announcment grundsätzlich Misstrauen. Es könnte durchaus passieren das ein Admin bei sich einen Filter falsch setzt und euch plötzlich den Globalen Routing Table announciert. Das macht auf schwachen Kisten keine große Freude. :)
Um diese Schnipsel zusammen mit den dynamischen Daten aus dem Meta-Repo zu benutzen, erweitern wir das oben angelegt Cron-Script wie folgt:
cat >> /etc/cron.hourly/icvpn-update sudo -u nobody /opt/icvpn-scripts/mkbgp -f quagga -4 -s "$DATADIR" -x <DEINE_COMMUNITY> -d icvpn4 -p icvpn_ > /tmp/bgpd.conf.v4 sudo -u nobody /opt/icvpn-scripts/mkbgp -f quagga -6 -s "$DATADIR" -x <DEINE_COMMUNITY> -d icvpn6 -p icvpn_ > /tmp/bgpd.conf.v6 cat /etc/quagga/bgpd.conf.head_v4 /tmp/bgpd.conf.v4 /etc/quagga/bgpd.conf.head_v6 /tmp/bgpd.conf.v6 /etc/quagga/bgpd.conf.foot > /etc/quagga/bgpd.conf # reload quagga (TODO: how do you do this?)
Das -x <DEINE_COMMUNITY>
musst du natürlich entsprechend anpassen und sorgt dafür, dass du keine Verbindungen zu deinen eigenen Routern aufbaust. Da sie zum selben AS gehören sollten hier andere Filterregeln und iBGP benutzt werden.
/etc/quagga/zebra.conf
hostname HOSTNAME password PASSWORT enable password PASSWORT
Ist eigentlich mehr oder weniger leer, startet aber nicht ohne.
Die Konfiguration kann auch interaktiv über vtysh erledigt werden, dadurch ist kein restart des Quagga Prozesses nötig. Dabei hilft folgendes snipplet:
telnet localhost bgpd
enable configure terminal router bgp <as-number> neighbor 10.207.0.x remote-as <as-number> neighbor 10.207.0.x peer-group icvpn4 neighbor 10.207.0.x description <bla> neighbor fec0::a:cf:0:xx remote-as <as-number> neighbor fec0::a:cf:0:xx description XXX no neighbor fec0::a:cf:0:xx activate address-family ipv6 neighbor fec0::a:cf:0:c4 activate neighbor fec0::a:cf:0:c4 soft-reconfiguration inbound write file
bird
Einige jüngere Freifunk-Communities setzen auf bird statt quagga. Im Netz findet man einige gute Konfigurationsbeispiele:
Prinzipiell existiert unter Debian Wheezy ein Software-Paket für den Routing-Dämonen bird (Version 1.3.7). Die angebotene Version ist jedoch fehlerhaft. Quelladressen für Routen werden in bestimmten Fällen nicht korrekt auf Routing-Tabellen des Kernels übertragen. Glücklicherweise beheben neuere Versionen das Problem (wenigstens ab Version 1.4.5). Die jeweils letzte stabile Version lässt sich über die Web-Seite des Projekts beziehen. Im Folgenden ist eine Konfigurations-Variante ausgehend vom Hamburger Beispiel wiedergegeben.
Bird kommt in zwei Varianten: einer für IPv4 (bird) und einer für IPv6 (bird6). Die beiden Dämonen werden unabhängig voneinander konfiguriert. Die Konfiguration für IPv4 schreiben wir in die Datei /etc/bird/bird.conf. Der Platzhalter <router-id> in dieser Datei bezeichnet eine eindeutige 32 Bit-Kennung des Routers, für welche wir die IPv4-Adresse unseres Gateways innerhalb des Transportnetzes verwenden (z.B. 10.207.0.75). Die Angabe hat keinen Einfluss auf das Routing selbst. Der Platzhalter <freifunk-ipv4> steht die IPv4-Adresse unserer Routers innerhalb des eigenen Freifunk-Netzes (z.B. 10.119.0.2). Anstelle des Platzhalter <ownas> tragen wir unsere zuvor registrierte AS-Kennziffer ein (z.B. 65043). Der Platzhalter <freifunk-ipv4-net> steht für unser lokales Freifunk-Netz (z.B. 10.119.0.0/16).
Im statischen Konfigurationsblock “static_ff3l” geben wir an, dass wir keine fremden Routen für unser eigenes Netz akzeptieren. Im statischen Block “ff3l_local” spezifizieren wir, dass alle Pakete über die Schnittstelle <mesh-vpn-interface> geleitet werden sollen. Die Vorlagen “locals” und “peers” dienen der bequemen Konfiguration von internen (d.h. innerhalb des eigenen Freifunk-Netzes) und externen (d.h. außerhalb des eigenen Freifunk-Netzes) Routern, mit denen Routen ausgetauscht werden sollen. Zuletzt lesen wir weitere Konfigurationsdateien aus dem Verzeichnis /etc/bird/bird.d ein. Dort werden wir später die Konfiguration der "locals" und “peers” hinterlegen.
router id <router-id>; define ownip = <freifunk-ipv4>; define ownas = <ownas>; table ibgp; # internal BGP peerings table ebgp; # external (icvpn) BGP peerings table freifunk; # kernel table 42 for routing from ff network ### functions ### # own network function is_self_net() { return (net ~ [ <freifunk-ipv4-net>+ ]); } # freifunk ip ranges in general function is_freifunk() { return net ~ [ 10.0.0.0/8+, 172.16.0.0/12+, 104.0.0.0/8+ ]; } ### kernel ### # synchronize from bird to main kernel routing table # nothing in the other direction protocol kernel k_mast { scan time 10; import none; export filter { krt_prefsrc = ownip; accept; }; }; # this pseudo-protocol watches all interface up/down events protocol device { scan time 10; }; ### pipes ### # sync nothing from main routing table to ebgp # sync routes (not own network) from ebgp to main routing table protocol pipe p_maintbl { peer table ebgp; import where !is_self_net(); export none; }; # sync routes (not own network) from ebgp to ibgp # sync routes (all) from ibgp to ebgp protocol pipe p_ibgptbl { table ebgp; peer table ibgp; import all; export where !is_self_net(); }; # sync routes (freifunk, dn42 and chaosvpn) from ibgp to freifunk # sync nothing from freifunk to ibgp protocol pipe p_freitbl { table ibgp; peer table freifunk; import none; export where is_freifunk(); }; ### static routes ### # if no openvpn is running, reject everything we do not have a route for protocol static unreachable_default { route 0.0.0.0/0 reject; table freifunk; }; protocol static static_ff3l { route <freifunk-ipv4-net> reject; table ebgp; }; # in hamburg we use a /18 from our /16 in the mesh # create a route for that in freifunk table protocol static local_ff3l { route <freifunk-ipv4-net> via "<mesh-interface>"; # mind and include the quotes table freifunk; }; ### templates ### # template for same city freifunk gateways template bgp locals { table ibgp; local as ownas; import filter { preference = 99; accept; }; export where source = RTS_BGP; direct; next hop self; }; # template for icvpn gateways of other cities template bgp peers { table ebgp; local as ownas; # ignore routes for our own network import where (is_freifunk() && !is_self_net()); export where is_freifunk(); route limit 10000; }; ### additional configuration ### include "/etc/bird/bird.d/*";
Die Konfiguration für IPv6 schreiben wir in die Datei /etc/bird/bird6.conf. Die <router-id> (nicht zu verwechseln mit der IP-Adresse des Routers) ist hierbei identisch. Der Platzhalter <freifunk-ipv6> steht die IPv6-Adresse unserer Routers innerhalb des eigenen Freifunk-Netzes (z.B. fdc7:3c9d:b889:a272::2). Der Platzhalter <freifunk-ipv6-net> steht für unser lokales Freifunk-Netz (z.B. fdc7:3c9d:b889:a272:://64). Neben den Konfigurationsvorlagen “locals” und “peers” definieren wir eine weitere Vorlage “upstream”, welche dazu dient, Routen mit dem Router eines Providers auszutauschen. Zuletzt lesen wir wieder weitere Konfigurationsdateien aus dem Verzeichnis /etc/bird/bird.d ein.
router id <router-id>; define ownip = <freifunk-ipv6>; define ownas = <ownas>; table ibgp; # internal BGP peerings table ebgp; # external (icvpn) BGP peerings table freifunk; # kernel table 42 for routing from ff network ### functions ### # own networks function is_self_net() { return net ~ [ <freifunk-net-ipv6>+ ]; } # freifunk ip ranges in general function is_freifunk() { return net ~ [ fc00::/7{48,64}, 2001:bf7::/32+]; } function is_default() { return net ~ [ ::0/0 ]; } ### kernel ### # synchronize from bird to main kernel routing table # nothing in the other direction # (do not sync a default route we received to the main routing table # as this might collide with the normal default route of the host) protocol kernel k_mast { scan time 10; import none; export filter { krt_prefsrc = ownip; accept; }; }; # this pseudo-protocol watches all interface up/down events protocol device { scan time 10; }; ### pipes ### # sync nothing from main routing table to ebgp # sync routes (not own network) from ebgp to main routing table protocol pipe p_maintbl { peer table ebgp; import where !is_self_net(); export none; }; # sync routes (not own network) from ebgp to ibgp # sync routes (all) from ibgp to ebgp protocol pipe p_ibgptbl { table ebgp; peer table ibgp; import all; export where !is_self_net(); }; # sync routes (freifunk and default routes we got) from ibgp to freifunk # sync nothing from freifunk to ibgp protocol pipe p_freitbl { table ibgp; peer table freifunk; import none; export where is_freifunk() || is_default(); }; ### static routes ### # if no openvpn is running, reject everything we do not have a route for protocol static unreachable_default { route ::/0 reject; table freifunk; }; protocol static static_ff3l { route <freifunk-net-ipv6> reject; table ebgp; }; protocol static local_ff3l { route <freifunk-net-ipv6> via "<mesh-vpn-interface>"; # mind and include the quotes table freifunk; }; ### templates ### # template for same city freifunk gateways template bgp locals { table ibgp; local as ownas; import filter { preference = 99; accept; }; export where source = RTS_BGP; direct; next hop self; }; # template for icvpn gateways of other cities template bgp peers { table ebgp; local as ownas; # ignore routes for our own network import where is_freifunk() && !is_self_net(); export where is_freifunk() || (source = RTS_BGP); route limit 10000; }; # template for upstream gateways template bgp upstream from peers { # accept freifunk networks and default route import where (is_freifunk() || is_default()) && !is_self_net(); }; ### additional configuration ### include "/etc/bird/bird6.d/*";
Um die Konfiguration für die Peers aus dem Meta-Repo automatisch zu erstellen, muss das Cron-Script, welches oben angelegt wurde, noch wie folgt erweitert werden:
cat >> /etc/cron.hourly/icvpn-update sudo -u nobody /opt/icvpn-scripts/mkbgp -4 -f bird -d peers -s "$DATADIR" -x <DEINE_COMMUNITY> > /etc/bird/bird.d/icvpn.conf sudo -u nobody /opt/icvpn-scripts/mkbgp -6 -f bird -d peers -s "$DATADIR" -x <DEINE_COMMUNITY> -t berlin:upstream > /etc/bird/bird6.d/icvpn.conf birdc configure > /dev/null birdc6 configure > /dev/null ^D
Das -x <DEINE_COMMUNITY>
musst du natürlich entsprechend anpassen und sorgt dafür, dass du keine Verbindungen zu deinen eigenen Routern aufbaust. Da sie zum selben AS gehören sollten hier andere Filterregeln und iBGP benutzt werden. Das -t berlin:icvpn_default
weist der Community "berlin" ein anderes Template als icvpn zu, nämlich icvpn_default, welches auch Default-Routen akzeptiert.
Netzübersicht / Network Information
Eine aktuellere Tabelle, die aus dem icvpn-meta Repository generiert wird, fandet ihr unter: http://freifunk.draic.info/icvpn.txt (archiv: https://web.archive.org/web/20151103174952/http://freifunk.draic.info/icvpn.txt)
Um euch einzutragen, schickt einen Patch oder Pullrequest an das Repository: https://github.com/freifunk/icvpn-meta
Stadt / City | AS | IPv4 (Transfernetz / Transitnetwork) | IPv6 (Site-Local) | Admin | Announciert / announces |
---|---|---|---|---|---|
Leipzig | 65041 | 10.207.0.1 (vpn1) | freifunk ÄD poelzi DOT org | 104.61.0.0/16, 6.0.1.1/32, 10.61.0.0/16, 6.61.0.0/18 | |
Leipzig | 65041 | 10.207.0.2 (vpn2) | fec0::a:cf:0:2/96 | freifunk ÄD poelzi DOT org | 104.61.0.0/16, 6.0.1.1/32, 10.61.0.0/16, 6.61.0.0/18 |
Leipzig | 65041 | 10.207.255.1 (services ip) | freifunk [ät] poelzi [döt] org | ||
Monitoring Moehne | 65057 | 10.207.0.120 (monitoringmoehne) | fec0::a:cf:0:120/96 | icvpn ÄD wg1337 DOT de | |
Weimar 1 | 65042 | 10.207.0.3 | fec0::a:cf:0:3/96 | freifunkATandi95.de | 10.63.0.0/16 |
Weimar 2 | 65042 | 10.207.0.4 | fec0::a:cf:0:4/96 | freifunkATandi95.de | 10.63.0.0/16 |
Berlin | 44194 (peeringDB) | 10.207.0.5 (vpn1) | fec0::a:cf:0:5/96 | noc at berlin.freifunk.net | 10.31.0.0/16, 10.36.0.0/16, 10.230.0.0/16, 2001:bf7::/32 (in /44 chunks) |
Berlin | 44194 | 10.207.0.6 | fec0::a:cf:0:6/96 | noc at berlin.freifunk.net | 10.31.0.0/16, 10.36.0.0/16, 10.230.0.0/16, 2001:bf7::/32 (in /44 chunks) |
Erfurt | 65099 | 10.207.0.9 | stephan at freifunk-erfurt.de | 10.99.0.0/16 | |
Erfurt | 65099 | 10.207.0.10 | hipoosen at gmx.de | 10.99.0.0/16 | |
Hamburg | 49009 | 10.207.0.61 10.207.0.62 10.207.0.63 10.207.0.64 10.207.0.65 |
fec0::a:cf:0:31 fec0::a:cf:0:3e fec0::a:cf:0:3f fec0::a:cf:0:40 fec0::a:cf:0:41 | ||
Helgoland | 65189 | 10.207.0.34 | fec0::a:cf:0:22 | 10.189.0.0/18, 2a03:2267:4e16:01ad::/64 | |
Rheinland0 | 65078 | 10.207.0.76 | fec0::a:cf:0:4c/96 | nomaster@chaosdorf.de, privat@herms-it.de | |
Rheinland1 | 65078 | 10.207.0.77 | fec0::a:cf:0:4d/96 | nomaster@chaosdorf.de, privat@herms-it.de | |
Rheinland2 | 65078 | 10.207.0.78 | fec0::a:cf:0:4e/96 | nomaster@chaosdorf.de, privat@herms-it.de | |
Ruhrgebiet1 | 65079 | 10.207.0.79 | fec0::a:cf:0:9 | adminz@freifunk-ruhrgebiet.de | 10.105.0.0/16, 2a02:f98:0:25::/64, 2a02:f98:0:26::/64 |
Stuttgart | 65045 | 10.207.0.11/12 | albi !? | ||
augsburg2 | 65050 | 10.207.0.68 | soma | 10.11.0.0/18 | |
Diepholz | 65501 | 10.207.1.12 | fec0::a:cf:0:1a | noc@freifunk-dh.de | 10.213.0.0/16 |
Halle | 65046 | 10.207.0.13 | freifunk at 3dfxatwork dot de | 104.62.0.0/16 | |
Halle | 65046 | 10.207.0.14 | freifunk at 3dfxatwork dot de | 104.62.0.0/16 | |
Aurich | 65047 | 10.207.0.15 | simon.frerichs@gmail.com | 188.40.227.0/24 + peering to dn42 | |
Aurich | 65047 | 10.207.0.16 (noch nicht online, siehe 10.207.0.15 ) | simon.frerichs@gmail.com | .... | |
Graz | 42729, 65048 | 10.207.1.2 + 3 | otti-ff ÄT graz.funkfeuer.at | 193.33.150.0/23, 10.12.0.0/16 | |
Augsburg 1 | 65050 | 10.207.0.17 | fec0::a:cf:0:a/96 | freifunk AT somakoma DOT de | 10.11.0.0/18 |
Treuenbrietzen | 65045 | 10.207.0.18 | freifunk AT shony DOT de | 10.24.0.0/22 | |
Dresden 1 | 65051 | 10.207.0.19 | fec0::a:cf:dd:1/96 | freifunk AT freifunk-dresden DOT de | 10.200.0.0/16, 10.201.0.0/16, fd11:11ae:7466::/48 |
Dresden 2 (reserviert) |
65051 | 10.207.0.20 | fec0::a:cf:dd:2/96 | freifunk AT freifunk-dresden DOT de | 10.200.0.0/16, 10.201.0.0/16, fd11:11ae:7466::/48 |
Freiburg 1 (noch im Test) |
65060 | 10.207.0.21 | fec0::a:cf:0:21/96 | marcus AT wolschon DOT biz | 104.60.0.0/16 |
diac24.net | 64600 | 10.207.2.0 | fec0::a:cf:ac:16 | equinox AT diac24 DOT net | 172.22.0.0/15, versch. IPv6 |
Basel 1 (im Aufbau) |
65090 | 10.207.5.1 | openwireless ÄT skeps DOT ch | 10.239.0.0/16 | |
Hannover 1 (inaktiv) |
65511 | 10.207.0.22 | info ÄT hannover.freifunk DOT net | 10.2.0.0/16 | |
Franken | 65024 | 10.207.0.23 | fec0::a:cf:0:17 | tokkee | 10.50.0.0/16 |
Franken | 65024 | 10.207.0.24 | fec0::a:cf:0:18 | octo | 10.50.0.0/16 |
NOT USED | 65025 | 10.207.0.25 | |||
Nordwest 1 (ex OL) | 65513 | 10.207.0.27 | info@nordwest.freifunk.net | 10.18.0.0/16 | |
Nordwest 2 | 65513 | 10.207.0.38 | info@nordwest.freifunk.net | 10.18.0.0/16 | |
Nordwest 3 | 65513 | 10.207.0.39 | info@nordwest.freifunk.net | 10.18.0.0/16 | |
Bayreuth | 65025 | 10.207.0.28 | fec0::a:cf:0:19/96 | nospam.freifunk@criede.de | 10.195.0.0/16 |
ljubljana1 (kiberpipa.net) |
65023 | 10.207.3.23 | fec0::a:cf:3:23/96 | lowkey -> l0ki<at>frubsd<dot>org | 10.14.0.0/16, 10.254.0.0/16, 2001:15c0:66e9::/48 |
Ljubljana 2 | 64768 | 10.207.3.30 | fec0::a:cf:3:30/96 | janprunk@gmail.com | 172.22.168.0/25 |
Franken3 | 65024 | 10.207.0.31 | info@freifunk-ansbach.de | 10.50.0.0/16 | |
Karlsruhe1 | 65081 | 10.207.0.214 | fec0::a:cf:0:d6 | info at freifunk-karlsruhe.de | 10.214.0.0/16 |
Karlsruhe2 | 65081 | 10.207.1.214 | fec0::a:cf:1:d6 | info at freifunk-karlsruhe.de | 10.214.0.0/16 |
Koblenz | 65032 | 10.207.0.32 | simonmail@gmx.de | ||
Jena 1 | 65055 | 10.207.0.33 | fec0::a:cf:3:33/96 | post@freifunk-jena.de | 10.17.0.0/16 |
Jena 2 | 65055 | 10.207.0.66 | fec0::a:cf:3:66/96 | post@freifunk-jena.de | 10.17.0.0/16 |
Jena 3 | 65055 | 10.207.0.99 | fec0::a:cf:3:99/96 | post@freifunk-jena.de | 10.17.0.0/16 |
Gütersloh Gateway 1 | 65533 | 10.207.0.132 | fec0::a:cf:0:84 | technik ät guetersloh.freifunk.net | 10.255.0.0/16, fd42:ffee:ff12:aff::/64 |
Gütersloh BGP2 | 65533 | 10.207.0.133 | fec0::a:cf:0:85 | technik ät guetersloh.freifunk.net | 10.255.0.0/16, fd42:ffee:ff12:aff::/64 |
Gütersloh Gateway 4 | 65533 | 10.207.0.134 | fec0::a:cf:0:86 | technik ät guetersloh.freifunk.net | 10.255.0.0/16, fd42:ffee:ff12:aff::/64 |
Ostholstein 1 | 65152 | 10.207.0.135 | fec0::a:cf:0:87 | steffen_moeller@gmx.de | 10.135.8.0/18, fd73:111:e824::/48 |
Gütersloh BGP1 | 65533 | 10.207.0.136 | fec0::a:cf:0:88 | technik ät guetersloh.freifunk.net | 10.255.0.0/16, fd42:ffee:ff12:0aff::0/64 |
Rheda-Wiedenbrück BGP1 | 65502 | 10.207.0.137 | fec0::a:cf:0:89 | technik bei guetersloh.freifunk.net | 10.234.0.0/16, fd42:ffee:ff13:0aea::/64 |
Müritz BGP1 | 65534 | 10.207.0.138 | fec0::a:cf:0:8a | wusel+ffmue ät uu.org | 10.169.0.0/16, fd39:e4e3:eee1:0aa9::/64 |
Frankfurt 1 | 65026 | 10.207.0.35 | info at ffm.freifunk.net | 10.126.0.0/16 | |
Chemnitz 1 | 65053 | 10.207.0.36 | nemesis@chemnitz.freifunk.net | 10.8.0.0/16 | |
Schilcher 1 | 65054 | 10.207.0.51 | robert.kiendl AT gmail DOT com | 10.51.0.0/16 | |
Kiel 0 | 65525 | (10.207.0.52) peering v6-only | fec0::a:cf:0:34 | sargon AT toppoint.de | 10.116.0.0/16, fda1:384a:74de::/48 |
Kiel 4 | 65525 | (10.207.0.53) peering v6-only | fec0::a:cf:0:35 | sargon AT toppoint.de | 10.116.0.0/16, fda1:384a:74de::/48 |
Goettingen | 65527 | 10.207.0.65 | fec0::a:cf:ab:01 | freifunk AT cccgoe.de | 10.109.0.0/16, fde6:36fc:c985::/48 |
Gronau | 65526 | 10.207.0.60 | fec0::a:cf:0:51 | freifunk AT liztv.net | 10.244.16.0/20, 10.244.48.0/20, fd16:3e14:ce68::/48 + 10.244.32.0/20 (Enschede) |
Köln-Bonn und Umgebung | 65528 | 10.207.0.57 | fec0::a:cf:0:57/96 | icvpn@kbu.freifunk.net | 172.26.0.0/15 |
Bielefeld 1 | 65529 | 10.207.0.59 | fec0::a:cf:0:59/96 | Bodems | 10.29.0.0/16, fdef:17a0:ffb1::/48, 2001:bf7:1320::/44, dn42 |
Bielefeld 4 | 65529 | 10.207.0.69 | fec0::a:cf:0:69/96 | Bodems | 10.29.0.0/16, fdef:17a0:ffb1::/48, 2001:bf7:1320::/44 |
nrw1 (derzeit inaktiv) | 65530 | 10.207.0.7 | fec0::a:cf:0:7/96 | kontakt@freifunk-nrw.de | 10.0.0.0/16 10.45.0.0/16 10.52.0.0/16 10.69.0.0/16 10.76.0.0/16 10.79.0.0/16 10.82.0.0/16 10.92.0.0/16 10.103.0.0/16 10.144.0.0/16 10.146.0.0/16 10.147.0.0/16 10.151.0.0/16 10.154.0.0/16 10.221.0.0/16 10.156.0.0/16 10.206.0.0/16 10.224.0.0/16 |
nrw2 | 65530 | 10.207.0.8 | fec0::a:cf:0:8/96 | kontakt@freifunk-nrw.de | 10.0.0.0/16 10.45.0.0/16 10.52.0.0/16 10.69.0.0/16 10.76.0.0/16 10.79.0.0/16 10.82.0.0/16 10.92.0.0/16 10.103.0.0/16 10.144.0.0/16 10.146.0.0/16 10.147.0.0/16 10.151.0.0/16 10.154.0.0/16 10.221.0.0/16 10.156.0.0/16 10.206.0.0/16 10.224.0.0/16 |
NRW3 | 65530 | 10.207.0.55 | FIXME | kontakt@freifunk-nrw.de | |
wuppertal1 | 65523 | 10.207.0.73 | fec0::a:cf:0:71/96 | felix@devtal.de | 10.3.0.0/16, fda0:747e:ab29:e1ba::/64, 2a03:2260:1002::/56 |
wuppertal7 | 65523 | 10.207.0.80 | fec0::a:cf:0:80/96 | kontakt@freifunk-wuppertal.net | 10.3.0.0/16, fda0:747e:ab29:e1ba::/64, 2a03:2260:1002::/56 |
wuppertal9 | 65523 | 10.207.0.81 | fec0::a:cf:0:81/96 | kontakt@freifunk-wuppertal.net | 10.3.0.0/16, fda0:747e:ab29:e1ba::/64, 2a03:2260:1002::/56 |
Bremen | 65196 | 10.207.0.196 | fec0::a:cf:0:c4/96 | vpn@bremen.freifunk.net | 10.196.0.0/16 |
dreilaendereck1 | 65043 | 10.207.0.75 | fec0::a:cf:0:be | icvpn@freifunk-3laendereck.de | 10.119.0.0/16, 2001:bf7:20::/64 |
dreilaendereck2 | 65043 | 10.207.0.74 | fec0::a:cf:0:ba | Pepto | 10.119.0.0/16, 2001:bf7:20::/64 |
dreilaendereck3 | 65043 | 10.207.0.72 | fec0::a:cf:0:bc | BenLue | 10.119.0.0/16, 2001:bf7:20::/64 |
dreilaendereck4 | 65043 | 10.207.0.71 | fec0::a:cf:0:47 | icvpn@freifunk-3laendereck.de | 10.119.0.0/16, 2001:bf7:20::/44 |
mainz1 (Reserve) | 65037 | 10.207.0.37 | fec0::a:cf:0:25 | admin bei freifunk minus mainz punkt de | 10.37.0.0/16 |
mainz2 | 65037 | 10.207.1.37 | fec0::a:cf:1:25 | admin bei freifunk minus mainz punkt de | 10.37.0.0/16 |
Freifunk Rhein Neckar (über nazco) | 76118 | 10.207.0.142 | fec0::a:cf:0:142 | mail at nazco dot de | 10.142.0.0/16 and 172.23.138.0/23 |
muenchen 1 | 65080 | 10.207.1.80 | fec0::a:cf:1:80 | info@muenchen.freifunk.net | 10.80.0.0/16 |
muenchen 2 | 65080 | 10.207.2.80 | fec0::a:cf:2:80 | info@muenchen.freifunk.net | 10.80.0.0/16 |
muenchen 3 | 65080 | 10.207.3.80 | fec0::a:cf:3:80 | info@muenchen.freifunk.net | 10.80.0.0/16 |
muenchen 4 | 65080 | 10.207.4.80 | fec0::a:cf:4:80 | info@muenchen.freifunk.net | 10.80.0.0/16 |
regensburg1 | 65190 | 10.207.1.90 | fec0::a:cf:1:90 | info@regensburg.freifunk.net | 10.90.0.0/16 |
wiesbaden1 | 65036 | 10.207.0.56 | fec0::a:cf:0:38 | admin bei freifunk minus mainz punkt de | 10.56.0.0/16 |
wiesbaden2 | 65036 | 10.207.1.56 | fec0::a:cf:1:38 | admin bei freifunk minus mainz punkt de | 10.56.0.0/16 |
magdeburg1 | 65039 | 10.207.39.1 | fec0::a:cf:39:1 | andreas at netz39 dot de | 10.139.0.0/16, fda9:026e:5805::/48 |
magdeburg2 | 65039 | 10.207.39.2 | fec0::a:cf:39:2 | andreas at netz39 dot de | 10.139.0.0/16, fda9:026e:5805::/48 |
Flensburg 2 (im Aufbau) | 65056 | 10.207.0.128 | fec0::a:cf:0:11 | felix at wlan-fabrik dot de | 10.129.0.0/16, 2001:bf7:10::/44, fddf:bf7:10::/44 |
Darmstadt | 65038 | 10.207.0.218 | fec0::a:cf:0:218 | icvpn@darmstadt.freifunk.net | 10.223.0.0/16, fdca:ffee:ffda::/64 |
Darmstadt | 65038 | 10.207.0.219 | fec0::a:cf:0:219 | icvpn@darmstadt.freifunk.net | 10.223.0.0/16, fdca:ffee:ffda::/64 |
Trier | 65022 | 10.207.0.220 | fec0::a:cf:0:dc | stefan@bka.li | 10.172.0.0/16, fdca:ffee:fc0f::/64 |
Trier | 65022 | 10.207.0.221 | fec0::a:cf:0:dd | stefan@bka.li | 10.172.0.0/16, fdca:ffee:fc0f::/64 |
Braunschweig 1 | 65380 | 10.207.0.40 | fec0::a:cf:0:28 | sho+ffgw@stratum0.net | 10.38.0.0/16, 2001:bf7:380::/44 |
Braunschweig 2 | 65380 | 10.207.0.41 | fec0::a:cf:0:29 | sho+ffgw@stratum0.net | 10.38.0.0/16, 2001:bf7:380::/44 |
Westpfalz 1 | 65242 | 10.207.0.85 | fec0::a:cf:0:55 | info@freifunk-westpfalz.de | 10.198.0.0/16, fdc6:c4fe:1de4::/48 |
Paderborn | 65132 | 10.207.0.231 10.207.0.232 |
fec0::a:cf:0:e7 fec0::a:cf:0:e8 |
ops@paderborn.freifunk.net | 10.132.0.0/16, fdca:ffee:ff12::/48 |
Muensterland | 65251 | 10.207.0.43 10.207.0.44 |
fec0::a:cf:0:43 fec0::a:cf:0:44 |
info@freifunk-muenster.de | 10.43.0.0/16, 2a03:2260:115::4/48 |
Waldheim | 65210 | 10.207.0.45 10.207.0.46 10.207.0.47 |
dnoelte@gmail.com | 10.23.0.0/16 | |
Amsterdam | 65205 | 10.207.0.205 | fec0::a:cf:0:205 | wireless-amsterdam@lists.puscii.nl | 10.205.0.0/16 |
Aachen | 65077 | 10.207.0.114 | fec0::a:cf:0:72 | technik@freifunk-aachen.de | 10.5.0.0/16, 2a03:2260:114::/48 |
Brandenburg 1 | 65147 | 10.207.0.100 | fec0::a:cf:0:64 | kontakt@freifunk-brandenburg.de | 10.147.0.0/16, 2001:bf7:140::/44 |
Brandenburg 2 | 65147 | 10.207.0.101 | fec0::a:cf:0:65 | kontakt@freifunk-brandenburg.de | 10.147.0.0/16, 2001:bf7:140::/44 |
Brandenburg 3 | 65147 | 10.207.0.102 | fec0::a:cf:0:66 | kontakt@freifunk-brandenburg.de | 10.147.0.0/16, 2001:bf7:140::/44 |
DNS
FIXME: mention icvpn-meta/mkdns
Die meisten Communities haben eine eigene Domain (z.b. leipzig.freifunk.net). Einige Communities haben eine eigene TLD, die nicht im Internet verwendet wird. Damit diese im eigenen Netz genutzt werden können, muss ein weiterer DNS-Server eingerichtet werden. Wie dies geschieht, ist hier dokumentiert.