speakerst
Goto Top

IPTABLES Regeln ersetzten

Hallo, ich hoffe mir kann hier jemand helfen.

Ich habe ein Script das alle 5 min Prozesse abfragt. Wenn diese Prozesse einen bestimmten Wert überschreiten soll ein Port via IPTables geschlossen werden in der FW. Sind die Prozesse wieder im Grünen Bereich wird der Port geöffnet.

Mein Problem dabei ist das wenn das Script alle 5 min den Zustand testet und dieser zustand den Port schließt dann schreibt die Datei alle 5 min den Port neu in die CHAIN mit drop sofern die Prozesse sich nicht vorher erholen.

Ich müsste also via Bash Script prüfen ob der Port 8211 schon in der CHAIN als Drop drin steht und falls ja dann soll dieser nicht wieder eingetragen werden.

Hat jemand eine Idee?

Gruß

Content-ID: 327102

Url: https://administrator.de/contentid/327102

Ausgedruckt am: 22.11.2024 um 04:11 Uhr

LordGurke
LordGurke 21.01.2017 um 18:35:43 Uhr
Goto Top
Du könntest vorher mit "iptables -C INPUT deineregel" testen, ob eine solche Firewallregel bereits existiert und dann ggf. entweder deine Regel hinzufügen oder es sein lassen.
SpeakerST
SpeakerST 21.01.2017 um 19:30:16 Uhr
Goto Top
Hi...

klingt erstmal gnaz gut aber wie soll ich das in einer Bash gegen Kontrollieren . Meine Idee wäre es über eine Verzweigung zu lösen aber ich wüßte jetzt nicht auf anhieb wie meine if abrage aussehen sollte um zu Prüfen ob es die Regeln gibt
131381
Lösung 131381 21.01.2017 aktualisiert um 23:13:00 Uhr
Goto Top
z.B. so
#!/bin/bash
iptables -C INPUT -p tcp --dport 8211 -j DROP
[ $? -eq 0 ] && echo Regel existiert || echo Regel existiert nicht
http://tldp.org/LDP/abs/html/exit-status.html#EXITSTATUSREF

Gruß mik
SpeakerST
SpeakerST 22.01.2017 um 11:58:33 Uhr
Goto Top
Perfekt danke das hat mir geholfen face-smile