PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Firewallscript um eigene iptables-Befehle ergänzen (Technische Frage)



MaxPayne
11.11.03, 23:02
Hi an Alle,

ich hab ein kleines und wahrscheinlich kurz abzuhandelndes technisches Problem, wofür ich leider kein anderes passendes Forum hier gefunden habe ... :)

Und zwar habe ich mir heute ein kleines PHP/MySQL Script geschrieben, über das ich meine iptables Befehle verwalte bzw. je eine Datei für "direkte Regeln" sowie "Forward Regeln" ausgeben lasse.

Diese beiden Befehlsdateien (beginnen jeweils mit #!/bin/sh) sollen nun in mein eigentliches Firewall-Start-Script eingebaut werden, praktisch so als würde man bei PHP eine Datei.php mit include oder require direkt in ein Script einbinden.
Dieses direkte Einbinden wäre insofern wichtig, da das grundsätzliche Firewall-Script die IP-Adressen sowie andere Einstellungen für die iptables-Befehle vorgibt ...

Ich habe es schon einfach so probiert, dass ich die Scripte direkt aus dem Firewall-Script mit "/etc/blablub/script" aufrufe, aber dabei hat das aufgerufene Script natürlich keinen Bezug auf die nötigen Variablen.
Anschließend habe ich etwas in Google gestöbert und bin auf die Funktion "script ..." gestoßen - was genau diese macht ist mir jedoch immer noch ein Rätsel.
Wenn ich "script /etc/blablub/script" aufrufe, scheinen die Befehle aus script ordentlich ausgeführt zu werden - aber entweder ist script nach dem Aufruf leer (0 Byte) oder ist vollgepackt mit Statusmeldungen von den iptables Aufrufen.
Danach habe ich mir gedacht, dass man die Ausgabe von script ja eventuell umleiten könnte (ich bin noch nicht so lange im Shell-Programmierungsgeschäft ;)) - aber das hat auch nichts gebracht.

Zur Verdeutlichung nochmal den Beginn eines solchen Scripts, welches aus dem eigentlichem Firewall-Script funktionstüchtig aufgerufen werden soll - das Verhalten sollte so sein, als würde der Code aus "Script" direkt in "Firewall-Script" stehen, eben, wie schon gesagt, wie bei PHP mit include:
#!/bin/sh
$IPTABLES -A FORWARD -i $EXTIF -o $INTIF -p tcp --dport 1234 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A PREROUTING -t nat -i ppp0 -p tcp --dport 1234 -j DNAT --to-destination 192.168.0.11:1234 etc.

Ich würde mich riesig über eure Hilfe freuen, Lösungsansätze jeder Art sind willkommen - denn ich will endlich meine Firewall fernlenken können ohne immer in den Config-Dateien rumstochern zu müssen. :)


cu Yannick