User since
2009-09-04
1
Artikel
BenutzerIn
Hallo Community!
Ich bin neu im Forum. Ich arbeite daran, ein Linux-Serversystem einzurichten und möchte u.a. einige eigenerstellte Perlskripte einbinden.
Ein Skript zielt darauf ab, mittels iptables den Internetverkehr eines Intranets zu kontrollieren. Dazu muss das Skript u.a. an bestimmter Stelle den “Status” folgenden iptables-Befehls abrufen:
“Iptables -L abc” (abc ist der Name einer selbst erstellten Kette)
Ich habe u.a. folgende Programmierzeilen codiert, um das Internet “abzustellen”:
(hier nicht alle Zeilen, nur ein grober Auszug!)
system(“Iptables -N abc”) (Neue Kette erstellt)
system(“Iptables .... -j DROP) (Eine Regel in der neuen Kette erzeugt, genauer Wortlaut momentan nicht bekannt)
$a = system(“Iptables -L abc”) (Alle Informationen zur neuen Kette auflisten)
In $a wurde der Wert 768 vor den ganzen Aktionen und danach zurück gegeben.
Also: Egal, was ich mit iptables anfange, es wird mir im Perlskript stets der Wert 768 zurück gegeben.
An anderer Stelle habe ich jedoch gelesen, dass iptables nach Durchführung gewisser Aktionen aber auch den Wert 0 zurückgeben kann. Genau auf diesen Wert warte ich bis heute, mit anderen Worten: “Was muss passieren, dass iptables an $a den Wert 0 zurückgibt? Nur dann kann ich nämlich das Skript zu Ende bringen, da ich an einer Stelle noch eine IF-Abfrage anhängen muss, die sich auf $a bezieht:
IF( $a == 0) { .....usw
PS. Mir ist bewusst, dass diese Sache hier speziell ist. Ich kann nur hoffen, irgendwo im Forum jemanden zu treffen, der diese Problematik selbst schon mal durchgespielt hat.
Andere Lösungen zum Stoppen von Internettraffic kommen nicht in Frage. Es geht wirklich nur um dieses Problem. Parallel zu diesem Forum rage ich natürlich noch in einem Linux-Forum nach.
Gruss Studer