Netsukuku - ISP-free Internet

Introduction and guide to Netsukuku (ca 2010, now probably outdated)

See also: Routing software for ad-hoc wireless networks

Note: This guide was written in 2010 and is probably outdated

Netsukuku is an alternative routing for the Internet and local networks. It is completely automatic and adapts to available physical links (wireless or wired). With sufficient computers running Netsukuku we could have independence from commercial Internet providers, with their fees and limitations.

Netsukuku is currently experimental software in need of testing. In this article we will share the experiences with creating connectivity via Netsukuku.

More documentation and reading material:

Project website: netsukuku.freaknet.org

Why to use Netsukuku

Ideally, the installation of Netsukuku should allow access to the Netsukuku-augmented Internet through any physically available link to other peers with Netsukuku.

In practice, if you already have Internet access, you will share it with your Netsukuku network, otherwise it will be provided for you through the locally available Netsukuku peers.

The Netsukuku protocol was designed to be efficient to use really minimal system resources, leaving them free for your needs.

Setting up Netsukuku for your computer

Compiling and installing Netsukuku

These instructions are tailored for a Debian or similar system (Ubuntu, gNewSense), but with small changes should work for any GNU/Linux system. Alternatively you can install a binary distribution of Netsukuku, like this one for Ubuntu Karmic (follow the instruction on the site to install the netsukuku package)

Create a directory for unpacking and compiling Netsukuku sources:

cd; mkdir -p src/netsukuku; cd src/netsukuku

Grab the latest Netsukuku sources from netsukuku.freaknet.org/files

wget http://netsukuku.freaknet.org/files/netsukuku-0.0.9b.tar.bz2

Grab the development libraries for compiling (this list may be incomplete):

apt-get install libssl-dev iptables-dev libgmp3-dev zlib1g-dev

Grab the patch we provide to allow compiling in recent systems like Ubuntu 9.10

wget https://we.riseup.net/assets/23193/2010-03-26--netsukuku-0.0.9b.diff.gz

Unpack the sources

tar xvjf netsukuku-0.0.9b.tar.bz2

Cd to the Netsukuku’s sources directory

cd netsukuku-0.0.9b

Apply the patch

zcat ../*.diff.gz|patch -p1

Run the configure script and make

./configure && make PREFIX=/usr/local

Netsukuku’s compilation should complete successfully now! If not please leave a comment describe your problem.
src/ntkd is netsukuku’s binary

$ ls -l src/ntkd
rwxr-xr-x 1 rev rev 961955 2010-03-26 01:52 src/ntkd

Configuring your networking for Netsukuku

This section is a work in progress so we wait for your contributions.

Configuring a network link to use Netsukuku

On Ubuntu and similar system it is advisable or required disable NetworkManager for a particular device you want to use with Netsukuku. To do so you can edit /etc/network/interfaces and specify the static method for a particular interface.

For example to disable NetworkManager for eth1 you can use this configuration.

iface eth1 inet static

Then ask reload NetworkManager so it can acknowledge the changes:

/etc/init.d/network-manager reload

For more information on this procedure:

man 5 interfaces

Configuring your wireless card

Netsukuku provides a script, ‘ntk-wifi’, which prepares your wireless card by setting it in ‘ad-hoc’ mode, and setting the essid to ‘netsukuku’.

(Note of the author:
Your wireless card or driver may not support ad-hoc mode. It is not clear if you can use easily Netsukuku in this case. We will find out at some point).

Configuring netsukuku

The main configuration file is /etc/netsukuku/netsukuku.conf

The same directory has more configuration files.

Running netsukuku

As an example, to use netsukuku with Internet sharing, on the network devices eth0 and wlan0:

ntkd -I -i eth0 -i wlan0

For a more complete explanation on how to use the daemon, consult “man ntkd”.

 

I notice that there is no Debian/Ubuntu packages of netsukuku. I think the wide audience available in distributing a package that way would bring some very good testing to the project. Are you interested in putting together a package? If so, I can review and sponsor it to get it into Debian!

 
 

Thánks, that would be nice. Actually I prepared some unofficial one for download in launchpad.net.

launchpad.net/~michele-bini/+archive/pp...

I’m doing more preliminary testing on the software at the moment. The netsukuku daemon could be started with a configuration friendly to existing networking in Debian/Ubuntu like systems.

For some reason I can’t see your profile on we.riseup.net, not sure how to contact you.

 
 

Probably the best thing to do, if you want to get it into Debian/Ubuntu, is to file a ITP (intent to package) debian bug. When you do, CC me at micah@debian.org, and then let me know when you have a package that you are ready for review!

 
 

Great, thank you

 
 

I installed from the DEB, but failed at setup and lost browsing ability until reboot. If anyone could communicate exactly how to set this up, that’d be awesome.

 
 

Thanks for the report.

ntkd in the deb appears to work for me, except the important internet sharing option which makes it crash.

 
 

i love the idea, cant wait to test it.
thanks for sharing with us.

 
 

I suggest people to focus on open-mesh.org for wireless network. Netsukuku in its current form may still be promising for wired network though.

 
   

Ciao Michele,
i follow netsukuku from long time and i think it’s the most revolutionary software around. Revolutionary doesn’t mean anything political anyway ,even if it’s real politic the netsukuku concept itself .
Yep i run Debian and it would be great to see your software ported on a wider audience.
Never give up !!!