Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
Iptables, roule ändern

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Programmieren - Allgemein
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
killerhippy



Anmeldungsdatum: 19.05.2000
Beiträge: 529

BeitragVerfasst am: 30. Apr 2003 20:40   Titel: Iptables, roule ändern

Hi, bestimmt ist mein Anliegen keine neue Idee, darum denke ich frage ich einfach mal, bevor ich das Rad neu erfinde:

Ich habe ein Packetfilterscript, dem ich die ssh von außen einer dynamischen IP Nummer erlaube, indem ich den DynDNS Namen abfrage.

Wenn sich die IP Nummer ändert, möchte ich die IP Nummer aktualisieren, damit der Zugang nicht geblockt wird. Das der event bemerkt wird, kann ich ja noch selbst scripten, aber mein Problem ist folgendes:

Zwar weiß ich, daß man mit Iptables rules ändern kann, jedoch weiß ich nicht, wie ich die Regelnummer herausfinden kann, um eine Regel zu ändern. Ein Hinweis, wie das zu machen ist, wäre schön...
_________________
Es gibt keine dumme Fragen!

Killerhippy
 
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen

killerhippy



Anmeldungsdatum: 19.05.2000
Beiträge: 529

BeitragVerfasst am: 03. Mai 2003 14:39   Titel: Re: Iptables, roule ändern

Nachdem bisher keiner darauf eine schlaue Antwort hatte, habe ich es inzwischen selbst herausgefunden:

Insgesamt gibt es für iptables lediglich drei Befehle, die auf eine Regelnummer zugreifen:


iptables [-t table] -I chain [rulenum] rule-specification [options]
iptables [-t table] -R chain rulenum rule-specification [options]
iptables [-t table] -D chain rulenum [options]


Und womit man "-D, --delete chain rulenum", "-I, --insert chain [rulenum] rule-specification" und " -R, --replace chain rulenum rule-specification" betreiben kann.

Leider kann iptables die Regelnummern nicht auflisten, geschweige denn eine mit Regelnummer spezifierte Regel anzeigen.

Laut Dokumenten, die ich im Internet gefunden habe, dient das Kommando -I eigentlich nur zum debuggen und ausprobieren - was ich in meinem Fall aber Quatsch finde.

Naja, jedenfalls habe ich mein Script inzwischen angepaßt und alle -A INPUT Regeln durch -I INPUT <rulenum> ersetzt. Da das Script ein Bashscript ist, setze ich am Anfang COUNTER=1 und <rulenum> ist (( COUNTER++ )).
Wenn ich im Script die IP Adresse meines Partners gefunden habe, schreibe ich Regelnummer und ermittelte IP in eine Datei, wenn mein Partner offline ist, schreibe ich mir ein diesbezügliches Schlüsselwort in die Datei.

Soweit habe ich also die Vorbedingungen geschaffen und kann nun meinen Cronjob schreiben, der mir die eine Regel austauscht, ohne daß ich das gesamte Script nocheinmal aufrufen muß.

Daß das Kommando -I offenbar wirklich nur zum debuggen vorgesehen ist, scheint wohl wirklich wahr zu sein, denn ein iptables-save listet die Regeln alle mit -A auf, unabhängig davon, ob sie mit -I oder -A erstellt worden sind.
_________________
Es gibt keine dumme Fragen!

Killerhippy
 
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Programmieren - Allgemein Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy