Load Measuring Agent for Checkpoint Firewall-1(TM)
	    
	    Der loadd implementiert das Load Agent API von Checkpoint. Dieses Protokoll wird 
	    vom ConnectControl-Modul von Firewall-1 verwendet, um festzustellen, welcher der Server,  
	    zwischen denen ein Load Balancing gemacht wird, am wenigsten Systemlast hat. Dieser Server  
	    bekommt dann die nächste Session von der Firewall zugewiesen. 
	    Dieser loadd läuft entweder standalone oder wird vom inetd gestartet. Seine Konfiguration 
	    (welche Ports, maximale Anzahl parallele Connects, benötigte Prozesse) liest er  
	    aus /etc/loadd.conf oder von der Kommandozeile. Per Default  
	    horcht er auf UDP-Port 1600 auf allen Interfaces auf Anfragen, die dem Checkpoint-Protokoll 
	    entsprechen. Kommt eine solche Anfrage von der Firewall, zählt loadd mit Hilfe von netstat, grep und wc 
	    die offenen Sockets für jeden konfigurierten Port, vergleicht sie mit der maximal zulässigen 
	    Anzahl und berechnet daraus die Systemlast auf einer Skala von 0-230. Dieser Wert wird dann 
	    an den anfragenden Client zurückgeschickt. Läuft einer der benötigten Prozesse 
	    nicht (z.B. httpd, in /etc/loadd.conf konfiguriert), wird die maximale Systemlast (230) zurückgegeben, 
	    und die Firewall darf laut Protokoll keinen neuen Verbindungen an diesen Server schicken. 
	    Installation:
	    Den Sourcecode herunterladen 
	    $ tar xvf load.tar 
	    $ cd loaddaemon 
	    $ make 
	    $ cp loadd /usr/local/bin 
	    $ cp loadd.conf /etc 
	    /etc/loadd.conf muss noch konfiguriert werden. Hinweise stehen im File selbst und im README. 
	    Optionen:
	    $ loadd -S [options] startet den daemon standalone. 
	    $ loadd --help  
 	     
	    Unsupported option -help 
	      
	    Allowed options are: 
	      
           -p [port]: port the server listens on - defaults to 1600 
          -h [host]: bind to specific hostname - default is not to bind 
           -s [service]: service to be measured - no default 
           -l [number]: allowed number of concurrent connections - no default 
           -a [application]: checks for application that must be running 
           -f [file]: configuration file to use - default is /etc/loadd.conf 
           -S: run as standalone server 
           -q: quiet, no version output 
           -v: print version and exit 
           -D: enable light debugging 
		 
	    Alternativ kann der loadd auch vom inetd gestartet werden; folgende Zeile gehört dazu in /etc/inetd.conf: 
	     
	    loadd dgram    udp      wait     nobody   /usr/local/bin/loadd         loadd -q [-options]  
	      
	     Und in /etc/services die Zeile:
  
	     loadd   1600/udp
  
	    Test:
	    Zum Testen des loadd gibt's den loadc. 
	    $ loadc <hostname>  
	    gibt (neben ein bisschen Geplauder ;-) die Last und den Server String aus, den der Client geschickt hat 
	    und den der Server unverändert zurückschicken muss. 
	    $ ./loadc power 
	    $ Connected to power (192.168.16.3) on port 1600 
	    $ Received reply from 192.168.16.3... hooray 
	    $ Reply is: Type:1; Load: 230; String: Hello LoadDaemon Server 
	    (in diesem Fall lief der httpd nicht) 
	    That's all. 
	    Achtung ALPHA! 
	    Da der loadd zwar im Einsatz war, aber nicht von einer grösseren Gruppe Anwender getestet 
	    wurde, ist er immer noch als Software im Alpha-Stadium anzusehen. Darüber hinaus 
	    scheint Checkpoint sein eigenes Protokoll nicht einzuhalten, so dass sich mit Version 4.0 SP2 von Firewall-1 
	    Probleme ergaben, die schliesslich dazu führten, dass das Load Balancing nicht mehr auf der  
	    Firewall gemacht wird, sondern auf spezialisierter Hardware. 
	    Falls sich trotzdem jemand für dieses Stück Geschichte interessiert: nur zu. 
	    Ursprünglich war loadd in C++ geplant. Im Lauf der Entwicklung wurde aber immer mehr  
	    normales C daraus. Es kann sein, dass nicht jeder reine C-Compiler mit dem Source klarkommt. In diesem 
	    Fall probiert man es am besten mit einem C++-Compiler. 
	    Copyright:
	    Das ganze steht natürlich unter der GPL. Copyright 2000 Markus Wernig. 
	    
	      
	    Webmaster at lugbe.ch 
	Die Artikel dieser Seite stehen unter Copyleft ihrer jeweiligen Autoren.
Ihre Nutzung, Wiedergabe etc. untersteht den Bedingungen der GNU Free Documentation License (http://www.gnu.org/copyleft/fdl.html), wo nicht explizit anders vermerkt.
	   |