From CCCHHWiki
Revision as of 16:14, 11 January 2010 by Helios (talk | contribs)
Jump to: navigation, search

the big picture

What is this all about? will write some stuff about it. In case you have awesome ideas just add them.

A view on the connected nodes inside the ChaosVPN. Refreshed every minute:

ChaosVPN 2.0


The Rebuild of the ChaosVPN became nessesary at some point, as the vermittlung is blackholed. Furthermore we would like to put live back to the ChaosVPN and use it to interconnect the hackerspaces.

So we thought its a good time to redesign stuff. We will climb up to tinc 1.0.10.


An unfinshed Howto for Debian systems is available at Debian - users of other systems need to adapt it likewise, more documentation will hopefully follow in the future.

Config builder

Currently we are porting haegars script from perl to c and strip off curl and openssl, so it fits in a OpenWRT box.

OpenWRT Packages

Blogic will build a special OpenWRT package, which is called chaosvpn at the moment and a recent tinc 1.0.10 for that.

See also Packages may be in flux for awhile, if you have trouble with any of the binaries, email cjp.

Debian Packages

Haegar updated (backported) tinc 1.0.11 packages for debian. They are availible at:

I will also create Debian packages of the config builder once it is in a usable state.


helios maintains an AUR-package:


The source code repository is available at:

You can download the source with git

git clone git://

IP Ranges and Participants:

We need to have non colliding ip ranges and therefore we need some coordination of the used ip ranges.

First of all we would like to be compilant to the used ip ranges of freifunk and dn42.

The IP ranges overall are defined in the freifunk wiki ip-net page as root source.

So we use for the europeans and for the americans. That should leave enough space for everone untill ipv6 is not the future but the present. (Real IPv6 ranges already in use can also be announced on the VPN, but there are no thoughts about private/internal adressing yet.)

However we will not support ip ranges as they are used for various other reasons. This rfc1918 ip range will stay as private to use for internal use (and in fact its used in the dn42 for routing uses.)

Question: reverse DNS?
"yes" ;) - but we don't know how to implement them for the VPN yet, delegating it with forward zones in local nameservers does not sound very good to me. --Haegar 00:40, 29 October 2009 (UTC)

Question: Are other ChaosVPN ranges which were already allocated on the Freifunk Wiki also supported (i.e. & --Dennis 23:32, 10 November 2009 (UTC)

Procedure: Add your subnet below and drop User:Haegar a message with the infos specified at DebianHowto#6._Mail_haegar.40ccc.de_the_info so he can add you to the official listing.

ip ranges

IP-subnets Unique Name Node Remarks VPN IP for test pings europe range europe range europe range *reserved* single hosts This range may be used for Single-IP-VPN nodes like servers which would participate directly but do not need a subnet. *reserved* subnets This range may be used for small users which do not want/need a whole /24 - allocate only /29 and /28 from here.
your subnet your unique name your url / description your remarks vpn ip for ping tests ccchh CCC Hamburg Chaos Computer Club Hansestadt Hamburg haegarhome haegar home *planned* CCC Hamburg Chaos Computer Club Hansestadt Hamburg Second Range haegarvlad haegar hosted servers / vms *reserved* *reserved* *reserved* *planned* London Hackspace *planned* Leeds Hackspace *requested* freitagsrunde *reserved* *reserved* *reserved*
your subnet your unique name your url / description your remarks vpn ip for ping tests ccch CCC Hannover Chaos Computer Club Hannover hc User:HC (+4961546039923) HC's testnode datensumpf datensumpf mc.flys subnet at home pesco User:Pesco pesco's home/test range ryd User:Jensm jens's home/test range atari User:Atari wasteland t42home lotho User:Lotho lotho at home *reserved* *reserved* *reserved*
your subnet your unique name your url / description your remarks vpn ip for ping tests us hackerspaces range us hackerspaces range us hackerspaces range us hackerspaces range psone PS:one ccckc CCCKC Currently running with zero hosts active other than router. noisebridge Noisebridge royksopp Testing for OpenWrt packages, see for binaries nycrdev ResistorNET Information NYC Resistor Hackerspace 397 Bridge Street 5th Flr Brooklyn NY 11201 lucette HHH network diagram former site og HHH: 114 Forrest St Apt 3A / Brooklyn NYC
your subnet your unique name your url / description your remarks vpn ip for ping tests us hackerspaces range - reserved us hackerspaces range - reserved us hackerspaces range - reserved us hackerspaces range - reserved

ccchh - Hamburg

T42 - Hamburg

  • connector: winni (at)
  • url:
  • subnets: and - renumbering needed.

nycresistor - New York

noisebridge - San Francisco

PS:one - Chicago

Hive76 - Philadelphia

ccc hannover

  • (in chaosvpn 1.0)
  • connector: User:Lotho ( lotho [at] )
  • url:
  • subnet: - renumbering needed due to collision with Freifunk Brandenburg.



what about:

ccc berlin

  • (in chaosvpn 1.0)

ccc cologne

  • (in chaosvpn 1.0)

wanted changes

short term

  • The config file itself is not validated. We need a signing and validating structure. (.sig)
  • clients don't have to authentificate themself - everybody can see the config.
  • if admins are lazy and don't rebuild the config file properly we will have old routes in the network that don't dissapear (at least until the tinc is reconfigured and restarted)

long term

tinc does have some problems. That is the reason why we want to replace that in the forseable future. That will be ChaosVPN 3.0

ChaosVPN 3.0

ChaosVPN 1.0 (historic)

ChaosVPN 1.0 is obsolete, please see above for the next implementation.


At the moment the Hamburg ccc Erfa uses TINC together with some dirty perl-scripts, which are used to read the routes and peers.

For this Setup we have howtos for Debian and Gentoo (in german).

Beginninig in 2003

(haegar:) For me the whole setup with Openvpn was to complicated. It would take some time till its done and the scaling problems were forseable.

Therefore i took time today to get a working mini-solution with tinc running real quick.

The bigger issues with ip-submission and database are able to be added later without any big effort.

Most importand design goals were:

  • data traffic between participants must not rely on the ccc infrastructure.
  • failure of any parts of the infrastructure must not shut down the network completely
  • no work needed for participants just because a new participant is joining or a old one quitting.

system requirements

  • linux only first
    • tinc is availible for nearly all unix variants and windows, but my perl script is only working on linux so far.
  • perl with LWP and https support
  • working dyndns hostname that conains the actual router-ip or static ip

Update 2006

Today (2006) i would implement things different than i did before, but when this happens is completely up in the stars. Until there is a better setup we will use the old setup.