Moinsen allseits.
Ich schreibe derzeit an einem PRoxy, der das arbeiten mit UMTS vereinfachen soll.
Jetzt habe ich folgendes Problem: Der Proxy sitzt auf meinem UMTS Router. Beim Start der Software erstellt er eine Firewallregel in der iptables-PREROUTING Chain, mit der alle Datenpakete mit Ziel-Port 80 auf 127.0.0.1:81 umgeleitet werden.(80 ist das Webinterface des routers daher 81).
Nun möchte ich bei beendigung des tools diese Firewall-regel wieder löschen lassen. Bisher habe ich es so gelöst, dass ich die Firewall einfach neu gestartet habe, was die betreffende Regel natürlich wieder löscht, aber dennoch ca 10 sekunden zeit kostet. Nun gibt iptables mir ja die option -D/--delete an. Ich habe versucht die regel exakt so zu formulieren, wie ich sie beim einrichten formuliert habe nur eben mit -D statt -A. Tut ned, was tu ich falsch tun?
Linux 15.029 Themen, 107.058 Beiträge
Das müsste so eigentlich funktionieren. Bekommst du eine Fehlermeldung (Bad Rule Error)? Welchen Return-Wert ergibt der iptables -D Befehl? Das kannst du abfragen, indem du direkt nach iptabled -D den Befehl echo $? ausführst. Eine Rückgabe von 0 heisst, dass der Befehl korrekt beendet hat, alles andere lässt auf einen Fehler schliessen (aber Achtung, 0 schliesst einen Fehler nicht zwingend aus ;-) ).