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
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
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:
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).
The main configuration file is /etc/netsukuku/netsukuku.conf
The same directory has more configuration files.
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.
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 email@example.com, 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.
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.