HowTo/Netsukuku
Netsukuku è un progetto italiano nato in seno al Freaknet Lab.
Dalla pagina delle FAQ, "The Netsukuku project is based on the very simple idea of exploiting the great potentiality of the wifi connectivity, making the PCs of wireless communities act as routers and handle together an ad-hoc network even bigger than the Internet." ovvero il progetto è basato sull'idea di sviluppare le potenzialità della tecnologia wireless, in modo che i singoli pc fungano da router per una rete estesa (WAN).
Netsukuku è una rete studiata per gestire reti con una elevata quantità di nodi, con un consumo minimo di CPU e memoria degli elaboratori. In questo modo, il sistema può essere usato per costruire una rete distribuita, fault-tolerant, anonima, e indipendente dalla rete attuale, internet. L'idea di una rete dove ogni pc è un router e che non richieda sistemi di backbone, sistemi centralizzati o autorità per la gestione della rete stessa garantisce una infrastruttura immune da censure e filtri.
Per maggiori informazioni, si rimanda alla pagina principale del progetto, ospitato sul sito del Freaknet Lab:
HOWTO - test del demone ntkd
- ringrazio lukisi per il supporto ;) -
Il seguente test è stato fatto su macchina kubuntu 10.10. Di seguito le dipendenze richieste:
- build-essential: presente nei repository debian e ubuntu;
- swing: altro pacchetto presente nei repositories ufficiali;
- openssl e libss-dev: pacchetti presenti nei repositories per il supporto ssl;
- xsltproc: sempre presente nei depositories, http://xmlsoft.org/XSLT/xsltproc.html per maggiori informazioni;
- tinc: supporto per le vpn: http://www.tinc-vpn.org/
- subversion: per questo non occorrono spiegazioni, per chi volesse le specifiche http://subversion.apache.org/
- stackless python: www.stackless.com
- M2Crypto: http://chandlerproject.org/bin/view/Projects/MeTooCrypto
- DNSpython: http://www.dnspython.org/
Dipendenze
Le seguenti dipendenze sono propedeutiche all'installazione del demone ntkd: apriamo una shell e come amministratore installiamo i pacchetti necessari.
apt-get update
apt-get install build-essential
apt-get install swing
apt-get install openssl libssl-dev
apt-get install xsltproc tinc
apt-get install subversion
Per il corretto funzionamento del sistema, è richiesto il pacchetto stackless python (un progetto sperimentale di python, per maggiori informazioni www.stackless.com). Per l'installazione dovremo scaricare i sorgenti, compilarli e installarli:
scarichiamo ed estraiamo i sorgenti:
wget http://www.stackless.com/binaries/stackless-262-export.tar.bz2
tar xf stackless-262-export.tar.bz2
creiamo la cartella in cui installeremo il software compilato:
sudo mkdir -p /opt/stackless
entriamo nella directory di stackless estratta e compiliamo stackless (come superuser):
cd stackless-2.6.2
./configure --prefix=/opt/stackless
make
make altinstall
Lo stesso procedimento dovremo farlo per M2Crypto e DNSpython:
scarichiamo ed estraiamo i sorgenti di M2Crypto ed estraiamo i sorgenti:
wget http://pypi.python.org/packages/source/M/M2Crypto/M2Crypto-0.20.1.tar.gz
tar xf M2Crypto-0.20.1.tar.gz
entriamo nella directory:
cd M2Crypto-0.20.1/
quindi compiliamo con python:
~/M2Crypto-0.20.1$/opt/stackless/bin/python2.6 setup.py build
~/M2Crypto-0.20.1$/opt/stackless/bin/python2.6 setup.py install
Quindi installiamo DNSPython:
wget http://www.dnspython.org/kits/1.7.1/dnspython-1.7.1.tar.gz
tar xf dnspython-1.7.1.tar.gz
cd dnspython-1.7.1
~/dnspython-1.7.1$ /opt/stackless/bin/python2.6 setup.py build
~/dnspython-1.7.1$ sudo /opt/stackless/bin/python2.6 setup.py install
Installazione di netsukuku
Per prima cosa recuperiamo il codice netsukuku dal repository SVN:
svn co http://dev.hinezumi.org/svnroot/netsukuku/sandbox/lukisi/branches/multipleip netsukuku
in questo modo, all'interno di ~/netsukuku/pyntk trovate la versione python di netsukuku
compiliamo e installiamo andns:
cd ~/netsukuku/ANDNS/andns
~/netsukuku/ANDNS/andns$ make
~/netsukuku/ANDNS/andns$ sudo make install
~/netsukuku/ANDNS/andns$ cd ~/netsukuku/ANDNS/pyandns
~/netsukuku/ANDNS/pyandns$ /opt/stackless/bin/python2.6 setup.py build
~/netsukuku/ANDNS/pyandns$ sudo /opt/stackless/bin/python2.6 setup.py install
compiliamo e installiamo quindi ntkresolv:
cd ~/netsukuku/ntkresolv
~/netsukuku/ntkresolv$ make
~/netsukuku/ntkresolv$ sudo make install
A questo punto, per lanciare il demon, creiamo un link simbolico nella directory etc,:
mkdir -p /etc/netsukuku sudo ln -s $HOME/netsukuku/pyntk/setup/etc/netsukuku/tinc /etc/netsukuku