mirror of
https://github.com/ChronosX88/netsukuku.git
synced 2024-12-23 09:21:47 +00:00
273 lines
6.4 KiB
Plaintext
273 lines
6.4 KiB
Plaintext
|
|
Netsukuku
|
|
|
|
http://netsukuku.freaknet.org
|
|
|
|
--
|
|
|
|
1. What is this?
|
|
|
|
2. Get the code!
|
|
|
|
3. Build and install
|
|
|
|
3.1 Static Binaries and Packages
|
|
|
|
4. Kernel dependencies
|
|
|
|
5. How to use it
|
|
|
|
6. Where to get in touch with us
|
|
|
|
7. Bug report
|
|
|
|
8. Hack the code
|
|
|
|
9. License and that kind of stuff...
|
|
|
|
--
|
|
|
|
|
|
**
|
|
**** 1. What is this?
|
|
**
|
|
|
|
Netsukuku is a mesh network or a p2p net system that generates and sustains
|
|
itself autonomously. It is designed to handle an unlimited number of nodes
|
|
with minimal CPU and memory resources. Thanks to this feature it can be easily
|
|
used to build a worldwide distributed, anonymous and not controlled network,
|
|
separated from the Internet, without the support of any servers, ISPs or
|
|
authority controls.
|
|
This net is composed by computers linked physically each other, therefore it
|
|
isn't build upon any existing network. Netsukuku builds only the routes which
|
|
connects all the computers of the net.
|
|
In other words, Netsukuku replaces the level 3 of the model iso/osi with
|
|
another routing protocol.
|
|
The Domain Name System is also replaced by a decentralised and distributed
|
|
system: the Abnormal Netsukuku Domain Name Anarchy.
|
|
|
|
The complete features list of Netsukuku is here:
|
|
http://netsukuku.freaknet.org/files/doc/misc/Ntk_features_list
|
|
|
|
|
|
In order to join to Netsukuku you have to use NetsukukuD, which is the daemon
|
|
implementing the Npv7 protocol.
|
|
|
|
Before doing anything, please read the documentation in doc/ or in
|
|
http://netsukuku.freaknet.org
|
|
|
|
|
|
**
|
|
**** 2. Get the code!
|
|
**
|
|
|
|
Get the tarball of the latest stable version from:
|
|
http://netsukuku.freaknet.org/files/
|
|
|
|
|
|
If you want to download the development code you have to checkout it from the
|
|
cvs repository:
|
|
(Warning: It is highly probable the development code will not work!)
|
|
|
|
$ cvs -d :pserver:anoncvs@hinezumilabs.org:/home/cvsroot login
|
|
or
|
|
$ export CVSROOT=":pserver:anoncvs@hinezumilabs.org:/home/cvsroot"
|
|
$ cvs login
|
|
|
|
then check it out:
|
|
|
|
$ cvs -z3 -d :pserver:anoncvs@hinezumilabs.org:/home/cvsroot co netsukuku
|
|
or
|
|
$ cvs -z3 co netsukuku
|
|
(providing the CVSROOT variable was set in the previous step)
|
|
|
|
|
|
Once you've checked out a copy of the source tree, you can update
|
|
your source tree at any time so it is in sync with the latest and
|
|
greatest by running the command:
|
|
# cvs -z3 update -d -P
|
|
|
|
|
|
**
|
|
**** 3. Build and install
|
|
**
|
|
|
|
To compile the code you can use scons or just go with the old school way:
|
|
|
|
# ./configure && make && make install
|
|
|
|
But SCons is cooler:
|
|
http://www.scons.org/
|
|
(You should have installed at least the 2.4 version of Python in order to
|
|
avoid dirty bugs in scons)
|
|
|
|
|
|
The code depends also on the libgmp,zlib and openssl. Generally you have
|
|
already them installed on your system, but eventually you can retrieve them
|
|
here:
|
|
for the libgmp: http://www.swox.com/gmp/
|
|
the openssl library here: http://openssl.org
|
|
and finally the zlibs: http://zlib.net
|
|
|
|
Then go in the src/ directory and type:
|
|
$ scons --help
|
|
|
|
That will show you all the options you can use in the build and installation
|
|
process. Finally execute:
|
|
|
|
$ scons
|
|
|
|
The code will be compiled. If all went well install NetsukukuD with:
|
|
|
|
# scons install
|
|
|
|
Now you should give a look at /etc/netsukuku.conf (or wherever you installed
|
|
it) and modify it for your needs, but generally the default options are good.
|
|
|
|
- Notes:
|
|
|
|
If you want to change some scons option to do another installation, (i.e. you
|
|
may want to reinstall it with another MANDIR path), you have to run:
|
|
$ scons --clean
|
|
|
|
|
|
**
|
|
**** 3.1 Static Binaries and Packages
|
|
**
|
|
|
|
If you prefer to just install Netsukuku, without compiling it, you can
|
|
download the static binaries suitable to your platform. They come packed in
|
|
various formats (.tgz, .deb, .ipk).
|
|
The packages repository is at:
|
|
http://netsukuku.freaknet.org/packages/
|
|
|
|
|
|
**
|
|
**** 4. Kernel dependencies
|
|
**
|
|
|
|
On Linux be sure to have the following options set in your kernel .config.
|
|
These options are taken from linux-2.6.14.
|
|
|
|
#
|
|
# Networking options
|
|
#
|
|
CONFIG_PACKET=y
|
|
CONFIG_UNIX=y
|
|
CONFIG_INET=y
|
|
CONFIG_IP_MULTICAST=y
|
|
CONFIG_IP_ADVANCED_ROUTER=y
|
|
CONFIG_IP_MULTIPLE_TABLES=y
|
|
CONFIG_IP_ROUTE_MULTIPATH=y
|
|
CONFIG_NET_IPIP=y
|
|
CONFIG_NETFILTER=y
|
|
|
|
and these from linux-2.6.16.19.
|
|
|
|
#
|
|
# Core Netfilter Configuration
|
|
#
|
|
|
|
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y
|
|
NETFILTER_XT_TARGET_CONNMARK=y
|
|
|
|
#
|
|
# IP: Netfilter Configuration
|
|
#
|
|
|
|
CONFIG_IP_NF_IPTABLES=y
|
|
CONFIG_IP_NF_FILTER=y
|
|
CONFIG_IP_NF_TARGET_REJECT=y
|
|
CONFIG_IP_NF_NAT=y
|
|
CONFIG_IP_NF_NAT_NEEDED=y
|
|
CONFIG_IP_NF_TARGET_MASQUERADE=y
|
|
|
|
If you are using modules you have to load them before launching the daemon.
|
|
|
|
|
|
**
|
|
**** 5. How to use it
|
|
**
|
|
|
|
Before doing anything do:
|
|
|
|
$ man ntkd
|
|
$ man andna
|
|
|
|
when you feel confortable and you are ready to dare type with root
|
|
priviledges:
|
|
|
|
# ntkd
|
|
|
|
then just wait... ^_-
|
|
|
|
(For the first times it's cool to use the -D option to see what happens).
|
|
|
|
- Note:
|
|
The daemon at startup takes the list of all the network interfaces which are
|
|
currently UP and it uses all of them to send and receive packets. If you want
|
|
to force the daemon to use specific interfaces you should use the B<-i>
|
|
option.
|
|
|
|
|
|
**
|
|
**** 6. Where to get in touch with us
|
|
**
|
|
|
|
> Mailing list
|
|
|
|
Subscribe to the netsukuku mailing to get help, be updated on the latest news
|
|
and discuss on its development.
|
|
|
|
To subscribe to the list, send a message to:
|
|
netsukuku-subscribe@lists.dyne.org
|
|
or use the web interface:
|
|
http://lists.dyne.org/mailman/listinfo/netsukuku
|
|
|
|
You can browse the archive here:
|
|
http://lists.dyne.org/netsukuku/
|
|
http://dir.gmane.org/gmane.network.peer-to-peer.netsukuku
|
|
|
|
|
|
> IRC
|
|
|
|
We live night and day in IRC, come to see us on channel
|
|
#netsukuku
|
|
on the FreeNode irc server (irc.freenode.org).
|
|
|
|
|
|
**
|
|
**** 7. Bug report
|
|
**
|
|
|
|
{ Don't panic! }
|
|
|
|
If you encounter any bug, please report it.
|
|
Use the online bug track system:
|
|
http://bugs.dyne.org/
|
|
or the mailing list:
|
|
http://lists.dyne.org/netsukuku/
|
|
and explain what the problem is and if possible a way to reproduce it.
|
|
|
|
|
|
**
|
|
**** 8. Hack the code
|
|
**
|
|
|
|
Feel free to debug, patch, modify and eat the code. Then submit your results
|
|
to the mailing list ^_-
|
|
|
|
There is a lot to code too! If you are a Kung Foo coder, get on board and
|
|
help the development writing some nice poems. For a start you can take a look
|
|
at the src/TODO file.
|
|
|
|
|
|
**
|
|
**** 9. License and that kind of stuff...
|
|
**
|
|
|
|
All the Netsukuku code is released under the GPL-2, please see the COPYING
|
|
file for more information.
|
|
|
|
The authors of Netsukuku and NetsukukuD are listed in the file AUTHORS.
|