Online Suche im Handbuch | LITTLE-IDIOT NETWORKING |
Der Firewall-Dämon benutzt die Firewall Schnittstelle /dev/firewall, um mit dem kernel filter Modul zu kommunizieren. Der Firewall-Dämon selber greift nicht direkt auf Funktionen des Kernels zu. Bei seiner Aktivierung öffnet dieser die Firewall Schnittstelle im read/write Modus (wie ein File) und aktiviert dann den message Buffer in dem Modul. Der Packetfilter Funktionszeiger sf_fw_chk, der bis hierhin auf die dummy "pass packets" Funktion zeigt, wird nun auf die echte Filterfunktion des Filtermoduls umgebogen.
Die Filterfunktion fängt nun an, die Pakete zu analysieren. Immer dann, wenn ein Paket den Konfigurationseinstallungen entspricht, benachrichtigt es den Firewall-Dämon, erzeugt eine Nachricht und speichert diese im Message buffer. Nun kann auch der Monitor für den User aktiviert werden, um die Nachricht anzuzeigen. Der Firewall-Dämon liest nun den ganzen Message buffer. Die buffer struktur sf_proc enthält nun einen Zähler (num_entries) der die Zahlder gültigen Einträge enthält. Wenn keine Nachrichten im Buffer enthalten sind, dann wird der Firewall-Dämon vorübergehend deaktiviert, damit er nicht mehr vom Firewall-Device liest. Das spart CPU Zeit. Sobald aber neue Nachrichten eintreffen, wird der Firewall-Dämon von der Filterfunktion im Kernel reaktiviert.
Wenn der Message buffer voll ist, das passiert immer dann, wenn die Auslesefunktion deaktivert oder überlastet ist, dann benachrichtigt die Filterfunktion den Kernel, woraufhin dieser dann Pakete verwirft, und den Counter für verlorene Pakete aktiviert.
Sobald das Filterdevice geschlossen wird, wird der Zeiger auf die Filterfunktion wieder auf die dummy Filterroutine gesetzt. Weitere Details sind in dem Abschnitt "Start und Kontrolle des Firewalls" beschrieben.
Online Suche im Handbuch | LITTLE-IDIOT NETWORKING |