/*
- 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 erm¿lichen, und andererseits serverseitig Informationen ber User im Netzwerk verfgbar zu machen. Mit DHCP war zwar eine schnelle clientseitige Anmeldung m¿lich, nur konnte man aufgrund der IP-Adresse keine Rckschlsse auf den User ziehen. Bei fixer IP-Adressenvergabe via DNS waren Rckschlsse auf User m¿lich, allerdings erh¿te 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 gew¿rleisten. Dazu kam noch die Problematik doppelter IP-Adressen im Netzwerk.
Lösung:
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 erm¿licht. 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: 172.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 ver¿dern (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 anschlie¿nder Neustart des Clientrechners gew¿rleistet 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 trägt alle möglichen ip-adressen in die tabelle "attention" ein damit diese später von /opt/andrea/bin/passive.pl überwacht werden können. dieses script sollte je nach grösse des netzwerkes nicht öfter als einmal alle 15 minuten gestaret werden! bei 2000 möglichen 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 trägt diese in die tabelle "andrea" ein. weiters wird die uhrzeit des letzten erfolgreichen verbindungsversuchs registriert und später online angezeigt.
