Difference between revisions of "ChaosVPN"
|Line 118:||Line 118:|
== wanted changes ==
== wanted changes ==
Revision as of 22:31, 27 October 2009
- 1 ChaosVPN 1.0
- 2 ChaosVPN 2.0
- 2.1 redesign
- 2.2 software
- 2.3 IP Ranges and Participants:
- 2.4 IP Ranges
- 2.5 wanted changes
At the moment the Hamburg ccc Erfa uses TINC together with some dirty perl-scripts, which are used to read the routes and peers.
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.
- 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
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.
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.
Currently we are porting haegars script from perl to c and strip off curl and openssl, so it fits in a OpenWRT box.
Blogic will build a special OpenWRT package, which is called chaosvpn at the moment and a recent tinc 1.0.10 for that.
Haegar updated (backported) tinc 1.0.10 packages for debian. They are availible at:
- Debian Etch: http://debian.sdinet.de/etch/sdinet/tinc/
- Debian Lenny: http://debian.sdinet.de/lenny/sdinet/tinc/
I will also create Debian packages of the config builder once it is in a usable state.
The scripts are availible at: http://github.com/ryd/chaosvpn
IP Ranges and Participants:
|your subnet||your url / description||your unique name||your remarks|
|172.31.16.0/23 *planned*||CCC Hamburg.||Chaos Computer Club Hansestadt Hamburg|
ccchh - Hamburg
nycresistor - New York
- connector: User:openfly ( matt [at] nycresistor.com )
- url: http://www.nycresistor.com
- network Wiki: http://wiki.nycresistor.com/wiki/ResistorNET
noisebridge - San Francisco
- connector: aestetix
- url: https://www.noisebridge.net
- network setup: https://www.noisebridge.net/wiki/Network
PS:one - Chicago
- connector: tcrown
- url: http://pumpingstationone.org/
- (in chaosvpn 1.0)
- (in chaosvpn 1.0)
We need to have non colliding ip ranges and therefore we need some coordination of the used ip ranges.
The IP ranges overall are defined in the freifunk wiki ip-net page as root source.
So we use 172.31.0.0/16 for the europeans and 10.100.0.0/13 for the americans. That should leave enough space for everone untill ipv6 is not the future but the present.
However we will not support 192.168.0.0/16 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.)
- 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)
tinc does have some problems. That is the reason why we want to replace that in the forseable future.
- Participants can fake network ranges my intention or mistake. (control informations inside tinc are not proper authentificated)