Kategori Computer

Hidden Bridge mit MySQL Unterstützung

Freitag, März 6th, 2009

Als nächstes will ich Dokumentiren wie wir die Bridge mit MySQL Unterstützung aufgesetzt haben.

Dafür wird die Datenbank benötigt die ich schon für den DHCP Server verwendet habe.

Wichtig! Für mein Script wird das „Comand Line Interface“ für PHP und MySQL Unterstützung, die man einfach über apt-get install php5-cli php5-mysql installieren kann benötigt.

Dann das Eigentlich Script. Es wird nur ausgeführt wenn Änderungen an der Datenbank Tabelle vorgenommen wurden dies wird anhand der Uhrzeit ermittelt wann das Script zuletzt geschrieben wurde. Wenn änderungen statgefunden haben werden alle Filterregeln überschreiben und neu geladen. Wenn der Datenbank Server einmal nicht erreichbar sein sollte bleibt alles so wie es ist, somit kann sichergestellt werden das der laufende betrieb so gut wie nie unterbrochen wird.
/usr/local/sbin/brieg.php

#!/usr/bin/php5
= ". fileatime($conf) ."";
if(!file_exists($conf) || mysql_num_rows(mysql_query($sql,$link)) > 0)
{

	$data = "#!/bin/bash

$EBTABLES -F
";

	$sql = "SELECT mac,ip FROM mac WHERE status='activ' ORDER BY host";
	$q = mysql_query($sql, $link) or die(mysql_error($link));
	for(;$ds = mysql_fetch_array($q);)
	{
		if (preg_match("/[0-9a-f][0-9a-f][:][0-9a-f][0-9a-f][:][0-9a-f][0-9a-f][:][0-9a-f][0-9a-f][:][0-9a-f][0-9a-f][:][0-9a-f][0-9a-f]/i", $ds['mac']))
		{		
$data .= "
$EBTABLES -A FORWARD -p IPv4 -i $ETHBA -o $ETHFH -s ". $ds['mac'] ." --ip-src ". $ds['ip'] ." -j ACCEPT
$EBTABLES -A FORWARD -p IPv4 -i $ETHFH -o $ETHBA -d ". $ds['mac'] ." --ip-dst ". $ds['ip'] ." -j ACCEPT
$EBTABLES -A FORWARD -p ARP -i $ETHBA -o $ETHFH --arp-opcode 2 --arp-ip-src ". $ds['ip'] ." --arp-mac-src ". $ds['mac'] ." -j ACCEPT
$EBTABLES -A FORWARD -p ARP -i $ETHFH -o $ETHBA --arp-opcode 2 --arp-ip-dst ". $ds['ip'] ." --arp-mac-dst ". $ds['mac'] ." -j ACCEPT
";
        }
	}

$data .= "
$EBTABLES -A FORWARD -p ARP -i $ETHBA -o $ETHFH --arp-opcode ! 2 -j ACCEPT
$EBTABLES -A FORWARD -p ARP -i $ETHFH -o $ETHBA --arp-opcode ! 2 -j ACCEPT

$EBTABLES -A FORWARD -p IPv4 -i $ETHBA -o $ETHFH -j DROP
$EBTABLES -A FORWARD -p IPv4 -i $ETHFH -o $ETHBA -j DROP
";

$date .= "exit 0
";

	$fp = fopen($conf, 'w+');
	fwrite($fp, $data);
	fclose($fp);

	system("chmod u+x " . $conf);
	system($conf);
}
system("exit 0");
?>

Anschließend mit crontab -e einen Minütlichen Cronjob erstellen.
# m h dom mon dow command
* * * * * /usr/local/sbin/brieg.php

Synchonisation aus Sicherheistsgründen nicht durchgeführt

Montag, Februar 23rd, 2009

Diesmal hat Windows sich mal wieder selbst übertroffen. Da der Timeserver time.windows.com mir immer die falsche Uhrzeit lieferte habe ich den timeserver.rwth-aachen.de eingetragen. Darauf hin kam dann folgende Fehlermeldung:

zeitserver

Wozu ist den sonst ein Timeserver da? Wohl kaum um es per Hand durchzuführen.

Sie erhalten weitere Hilfe, wenn Sie NET HELPMSG 2182 eingeben

Donnerstag, Februar 19th, 2009

Ich glaub ich muss mal ein for(i=1; i<-1; i++) NET HELPMSG i; machen.
Starten der Datenbank
Der angeforderte Dienst wurde bereits gestartet.

Sie erhalten weitere Hilfe, wenn Sie NET HELPMSG 2182 eingeben.

c:\>NET HELPMSG 2182

Der angeforderte Dienst wurde bereits gestartet.

ERLÄUTERUNG

Sie haben versucht, einen Dienst zu starten, der bereits ausgeführt wird.

AKTION

Um eine Liste der aktiven Dienste anzuzeigen, geben Sie ein:

NET START

Sie erhalten weitere Hilfe, wenn Sie NET HELPMSG 3547 eingeben

Mittwoch, Februar 18th, 2009

Kaum ein par stunden wieder mit Windows auseinandergesetzt da fiel es mir wieder ein warum ich Windows nicht mag…
...
Apache2.2 wird gestartet.
Apache2.2 konnte nicht gestartet werden.

Ein dienstspezifischer Fehler ist aufgetreten: 1.

Sie erhalten weitere Hilfe, wenn Sie NET HELPMSG 3547 eingeben.

Drücken Sie eine beliebige Taste . . .

c:\>NET HELPMSG 3547

Ein dienstspezifischer Fehler ist aufgetreten: ***.

ERLÄUTERUNG

Ein dienstspezifischer Fehler ist aufgetreten.

AKTION

Vergleichen Sie die Hilfe oder die Dokumentation zu diesem Dienst, um die Ursache des Problems zu bestimmen.

c:\>

Unixtime 1234567890

Freitag, Februar 13th, 2009

Für alle die Valentinstag mit ihrem Computer verbringen sollten um 00:31:30 unserer Zeit mal date +%s angeben. Dan wird die Unixzeit 1234567890 anzeigen.