/*
 * ANDReA - A-utomatic N-etwork D-hcp Re-gistration A-pplication
 *
 * Copyright (C) 2003,2004 grufo.com
 *
 * ANDReA is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * ANDReA is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with ANDReA; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */

README

Problemstellung:

Der Freizeit Computer Club Kufstein hat in den letzten Jahren einige Lanpartys veranstaltet. Dabei standen wir immer vor dem Problem einerseits clientseitig eine schnelle Anmeldung im Netzwerk zu ermlichen, und andererseits serverseitig Informationen ber User im Netzwerk verfgbar zu machen.
Mit DHCP war zwar eine schnelle clientseitige Anmeldung mlich, nur konnte man aufgrund der IP-Adresse keine Rckschlsse auf den User ziehen.
Bei fixer IP-Adressenvergabe via DNS waren Rckschlsse auf User mlich, allerdings erhte sich der Support- und Installationsaufwand clientseitig extrem. Es war auch nicht garantiert, dass sich jeder User mit der vorgegebenen IP-Adresse anmeldete, um so eine eindeutige Identifikation zu gewrleisten. Dazu kam noch die Problematik doppelter IP-Adressen im Netzwerk.

Lsung:

Aus dieser Problemstellung wurde die Idee fr ANDReA geboren. ANDReA ist ein beinahe automatisches System, das mit Hilfe von DHCP, DNS und einer Web-Applikation eine automatische Registrierung aller User Im Netzwerk ermlicht. Die Webapplikation erzeugt eine ersicht ber vergebene IP-Adressen, User und den Status der IP-Adressen (online,offline).   --> mehr unter "Features"

Realisierung:

Der ANDReA Server wird mit zwei Netzwerkkarten ausgestattet, eth0 dient fr das interne Netzwerk und eth1 wird ganz normal fr die Verbindung zum Provider verwendet.
Der DHCP Server (IP-Adresse 172.16.0.1) verwendet eine Netzwerkkarte mit zwei unterschiedlich konfigiurierten IP-Netzwerkadressen. ANDReA benutzt ein Boot-Netz (z.B. Class B Netz: 172.16.0.0/255.255.0.0) und ein Real-Netz (z.B. Class B Netz: 10.xxx.0.0/255.255.xxx.0).

Das Boot-Netz dient zur Identifikation des Users. Sobald ein Client im Netzwerk seine IP-Adresse erhalten hat, kann er auf die Webseite unter der URL http://172.16.0.1/ bzw. z.B. http://login.planet.kufstein zugreifen, und sich mit einer Usernummer und einem Code anmelden (diese wurden beim Eintritt ausgegeben). Zu diesem Zeitpunkt hat der User KEINEN Zugriff auf das Real-Netz.
Nach erfolgreicher Registrierung - Umlaute und Sonderzeichen werden aus Sicherheitsgrnden entfernt - schreibt ANDReA die Daten in eine Datenbank. Aus dieser werden die Config-Dateien fr den DNS und DHCP Server erzeugt. Dies geschieht mintlich. Die max. Lease-Time kann man je nach Wunsch verdern (z.B. 30 Sekunden - der Client sollte also im Normalfall nach einer Minute eine neue Adresse zugewiesen bekommen). Dem User wird nun eine IP-Adresse aus dem Real-Netz zugewiesen und er hat erst jetzt Zugriff auf alle im Real-Netz angebotenen Dienste (ftp-, www-, gameserver...). Ein anschliender Neustart des Clientrechners gewrleistet die erfolgreiche Anmeldung im Real-Netz.



ANDREA-Default Admin-User und Password:
andrea
default

http://andrea.grufo.com/
http://www.grufo.com/

nach dem das config script durchgelaufen ist, initialisiert das install script die datenbank. 
das script trgt alle mglichen ip-adressen in die tabelle "attention" ein damit diese spter von 
/opt/andrea/bin/passive.pl berwacht werden knnen.
dieses script sollte je nach grsse des netzwerkes nicht fter als einmal alle 15 minuten gestaret werden!
bei 2000 mglichen adressen kann es schon mal 2 minuten dauern bis alle ip-adressen gecheckt sind.
/opt/andrea/bin/active.pl checkt hingegen die registrierten hosts auf gewisse dienste (ftp, http, ssh, battlenet, kazaa & co)
und trgt diese in die tabelle "andrea" ein. weiters wird die uhrzeit des letzten erfolgreichen verbindungsversuchs 
registriert und spter online angezeigt.
