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-Key: 327102

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

Printed on: April 27, 2024 at 04:04 o'clock

Member: LordGurke
LordGurke Jan 21, 2017 at 17:35:43 (UTC)
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.
Member: SpeakerST
SpeakerST Jan 21, 2017 at 18:30:16 (UTC)
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
Mitglied: 131381
Solution 131381 Jan 21, 2017 updated at 22:13:00 (UTC)
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
Member: SpeakerST
SpeakerST Jan 22, 2017 at 10:58:33 (UTC)
Goto Top
Perfekt danke das hat mir geholfen face-smile