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:

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


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


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”.