netsukuku/doc/howto/igs_howto
Kirill Sotnikov f1761cad9a git repo init
2013-09-16 13:53:25 +04:00

148 lines
4.8 KiB
Plaintext

Internet connection sharing in Netsukuku HOWTO
This document describes how to configure a Netsukuku node to share its
Internet connection and how to configure another node that will use the shared
connection.
--
* Internet Gateway Search
* Prerequisites
* How to share your Internet connection
* How to connect to the Internet using a shared connection
* Some nice feature you want to know
--
**
*** Internet Gateway Search
**
If the nodes are in restricted mode (compatibility with the Internet), they
can share their Internet connection. This can be easily done, in fact, if a
node X, connected to the Internet, activates the masquerading, it is possible
for the other nodes to connect by setting as the default gateway their rnode
which lead to the node X.
This can be automated by Netsukuku itself.
The node which is sharing its connection will tell to the Netsukuku daemon to
masquerade its connection and to set a specific flag in the QSPN packets.
The other nodes in restricted mode will automatically know their nearest
Netsukuku Internet gateway and set it in their default route.
For more information read http://lab.dyne.org/Ntk_IGS .
**
*** Prerequisites
**
The IGS code of Netsukuku depends on the IPIP tunnel code of the kernel, so if
you are using Linux be sure to have the `CONFIG_NET_IPIP' option set as a
module or built-in.
**
*** How to share your Internet connection
**
First of all modify the /etc/netsukuku/netsukuku.conf file.
Set `internet_connection' to 1.
Set the `internet_gateway' option to the IP of the gateway you use to reach
the Internet and specify the network interface too, for example:
"internet_gateway = 192.168.1.1:eth0". This option is necessary only if you
don't have the default route set when you run NetsukukuD (i.e. you haven't
connected yet), otherwise, leave it commented.
You have also to set your upload and download bandwidth in
`internet_upload_rate' and `internet_download_rate'. It is expressed in Kb/s,
so if you have a line which maximum can do: 640 Kb/s in dwload and 30 Kb/s in
upload, set them to 640 and 30.
`internet_ping_hosts' is a list of Internet hosts which will be pinged to
verify if the connection is alive, you can use the default hosts.
Finally, If you want to share your Internet connection among other Netsukuku
nodes, set `share_internet' to 1.
Ah, and you can set `shape_internet' to 1 if you want to shape your outgoing
Internet traffic.
---- netsukuku.conf snip ----
internet_connection = 1
internet_gateway = 192.168.1.1:eth0
internet_download_rate = 640
internet_upload_rate = 30
internet_ping_hosts = google.com:cisco.com:sourceforge.net:dyne.org
share_internet = 1
shape_internet = 1
---- snip end ----
Now you are ready to launch the Netsukuku daemon. You have just to append the -I
option in the command line. For example:
# ntkd -i wlan0 -r -I
**
*** How to connect to the Internet using a shared connection
**
Just start the daemon in restricted mode, f.e:
# ntkd -i wlan0 -r
If you have an Internet connection and you don't want to share it, you have to
set the correct options in netsukuku.conf:
---- netsukuku.conf snip ----
internet_connection = 1
internet_gateway = 192.168.1.1:eth0
internet_download_rate = 640
internet_upload_rate = 30
internet_ping_hosts = google.com:cisco.com:sourceforge.net:dyne.org
share_internet = 0
---- snip end ----
If you don't, your Internet connection default route will be overwritten with
that of another node.
**
*** Some nice feature you want to know
**
NetsukukuD supports a routing method called "multi inet gateway", this means
that your node can connect to the Internet using, at the same time, multiple
node which share their connection.
If there are 5 nodes which share their 640Kb/s connections, you can have 5
parallel downloads at 640Kb/s. Isn't it juicy?
There's more: if you decide to share your Internet connection, you will always
use the Internet connections shared by the other nodes, in this way you donate
your bandwidth but, at the same time, you receive donations from other users.
The other nice feature is the traffic shaping of your Internet connection (it
doesn't matter if you're sharing it or not).
If you decide to enable the relative option (shape_internet=1), NetsukukuD
will execute the /etc/netsukuku/tc_shaper.sh script.
This script shapes your Internet connection, this means that the traffic
generated from your private LAN (192.168.x.x) and the low delay traffic (i.e.
DNS, ssh...) are prioritised.
The benefits are:
* Even if you share your Internet connection to other Netsukuku nodes, your
traffic will have the maximum priority, therefore you won't notices any
slowdown
* Even if you are downloading a big file, your lowdelay traffic will have the
priority, therefor your ssh connections won't slow a bit
PS: for more information read: http://lab.dyne.org/Ntk_IGS
That's all,
enjoy ^_^