ANDNA - Abnormal Netsukuku Domain Name Anarchy ANDNA is the distributed, non hierarchical and decentralised system of hostname management in Netsukuku. It substitutes the DNS. The ANDNA database is scattered inside all the Netsukuku and the worst of cases every node will have to use about 355 Kb of memory. In order to join ANDNA it is necessary to be hooked at Netsukuku with the netsukuku_d(8) daemon. For more information about ANDNA visit: <http://netsukuku.freaknet.org> First of all be sure to have the netsukuku_d(8) daemon up and running.

HOSTNAME REGISTRATION
You can register up to 256 hostnames. Each hostname can be a string of maximum 512 bytes, which contains a newline (\n) only at its end. The hostnames to be registered must be listed, one per line, in the andna_hostnames file, which is by default in /etc/netsukuku/andna_hostnames. The netsukuku_d(8) daemon reads it when it is started and when it receives the SIGHUP signal. So if you've added a hostname while netsukuku_d was running, just do: # kill -SIGHUP <netsukuku_d pid> All the hostnames, which are already registered by other nodes, are added in the queue, in this way, when the other nodes won't update them, your hostnames will automatically be the first in the queue. An hostname expires after 3 days, if it isn't updated. netsukuku_d automatically updates the registered hostnames, therefore your hostnames will expire only if you aren't present in the Netsukuku for 3 entire days. If you want to know the result of a registration read the netsukuku_d logs.

HOSTNAME RESOLUTION
The netsukuku_d(8) daemon runs also a DNS wrapper which receives standard DNS queries for hostnames resolution. The hostnames are resolved in ANDNA, then the DNS wrapper will reply to the requester. When the netsukuku_d(8) daemon is started it copies /etc/resolv.conf in /etc/resolv.conf.bak and adds in the first line of /etc/resolv.conf the "nameserver 127.0.0.1" string. When it is closed it moves back /etc/resolv.conf.bak to /etc/resolv.conf. Use the -R option if you want to disable this behaviour. All the resolved hostnames are kept, until their expiration date, in the "resolved hostnames cache". The entire cache is flushed each time the netsukuku_d(8) daemon receives the SIGALRM signal. That's all.

IP RESOLUTION
It is possible to know the list of hostnames registered by a node. You have to simply reverse resolve its ip. For example: # dig -x 127.0.0.2 This command shows your currently registered hostnames. You can use it to know what hostnames have been already registered. Note the 127.0.0.2 ip. If you use 127.0.0.1 you get only the local hostname written in /etc/hosts.

MX REGISTRATION and RESOLUTION
It is currently not supported. When the SIGHUP signal is sent to netsukuku_d(8), the andna_hostnames file will be reloaded and it will try to register all the new added hostnames. When the SIGALRM signal is sent to netsukuku_d(8), the resolved hostnames cache will be flushed. It is the file where the hostnames to be registerd in ANDNA are kept one per line. It's location can be changed by modifying its option in the netsukuku.conf file. They are the saved ANDNA caches. Their locations can be changed in netsukuku.conf. { Don't panic! } If you encounter any bug, please report it to netsukuku@freaknet.org or contacts any author explaining what the problem is and if possible a way to reproduce it. Subcrive 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@freaknet.org> We live night and day in IRC, come to see us in: #netsukuku on the FreeNode irc server (irc.freenode.org). Main authors and maintainers: Andrea Lo Pumo aka AlpT <alpt@freaknet.org> Main contributors: Andrea Leofreddi <andrea.leofreddi@gmail.com>, Katolaz <katolaz@freaknet.org>, Federico Tomassini <effetom@gmail.com> For a complete list read the AUTHORS file or visit: <http://netsukuku.freaknet.org/?p=Contacts> For more information about Netsukuku visit: <http://netsukuku.freaknet.org> netsukuku_d(8), netsukuku_wifi(8), iproute2(8), route(8)