Archiv verlassen und diese Seite im Standarddesign anzeigen : iptables Problem ( Couldn't load match)
Hallo zusammen
ich habe mir ein iptables script gebastelt und will es nun implementieren...
hier der Error:
# bash iptables
iptables v1.2.5: Couldn't load match `--state':/lib/iptables/libipt_--state.so: cannot open shared object file: No such file or directory
Try `iptables -h' or 'iptables --help' for more information.
habe die Lib schon in ld.so.conf eingetragen und ldconfig laufen lassen
greetz
adme
# bash iptables
iptables v1.2.5: Couldn't load match `--state':/lib/iptables/libipt_--state.so: cannot open shared object file: No such file or directory
Wurde die Fehlermeldung kopiert oder abgetippt? Der rot hervorgehobene Teil ist falsch. Die Userspace Extension heißt libipt_state.so und ist übrigens keine Library. Wenn bei Dir statt "state" die Zeichenkette "--state" eingesetzt wird, ist möglicherweise etwas kaputtcompiliert.
danke für die Antwort
ich habe sie per Cut and Past ins Forum kopiert (nicht abgetippselt)
was würdest du mir vorschlagen um mein Script doch noch zum laufen zu brigen??
greetz
adme
Ich kenn Dein Skript nicht. Verwendest Du zufällig -m --state statt -m state?
Damit kann ich den Fehler reproduzieren. ;)
hi
hast du zufällig den *zustand* hinter --state klein geschrieben, statt NEW => new?
Gruß HangLoose
Sali zusammen
Ich bin jetzt müde gehe ins Bett... so habe ich es geschrieben
iptables -A OUTPUT -o eth0 -p tcp -s localhost --sport 1024:65535 --dport 21 -m state --state NEW -j ACCEPT
danke für eure Hilfe hoffe das es dann ohne doppelt geht!
greetz
adme
Hu adme!
Deine Codezeile ist völlig korrekt.
Hast du Support für Statefull-Filtering und für Match in den Kernel einkompiliert bzw. als Modul übersetzt?
So, muss jetzt zur Arbeit düsen, bis heute Abend...
Thomas.
moin moin
@adme
deine iptables-anweisung läuft bei mir auch ohne fehlermeldung.
wie tthomas schon sagte, könnte es am fehlenden modul liegen. schau mal in deiner kernelconfig nach, ob unter ip: netfilter configuration das connection tracking als modul im kernel eingebunden ist.
Gruß HangLoose
danke
werde ich heute abend machen!
der Kernel ist Generic von Red Hat, habe das System frisch installiert
greetz
adme
Ich halte an meinen beiden Postings fest, insbesondere am zweiten. Mal das gesamte Skript auf so einen Tippfehler prüfen.
hast du zufällig den *zustand* hinter --state klein geschrieben, statt NEW => new?
Das wäre egal!
Das wäre egal!
jo hast recht, hab ich wohl mit den targets und chains verwechselt.
>>Ich halte an meinen beiden Postings fest, insbesondere am zweiten. Mal das gesamte Skript auf so einen Tippfehler prüfen.
du hast recht gehabt! jetzt nimmt iptables das script an, nur leider funktionierts noch nicht :(
ich werde heute abende noch ein bisschen basteln
greetz
adme
Ich tippe mal bei den portöffnenden Regeln auf -s localhost, was gleich -s 127.0.0.1 ist und damit nur Verbindungen erlaubt, die 127.0.0.1 als Absender-IP-Adresse enthalten. Kann mir nicht vorstellen, daß das der Fall ist, und ohne IP Masquerading (in der NAT PREROUTING Chain) kämst Du dann ohnehin nicht aus.
hi
bin selbst noch newbie, also nicht gleich schlagen *grins*
bist du sicher das -s localhost in der form erlaubt ist? wird an der stelle nicht eine ip oder ein netzwerk erwartet?
du könntest natürlich eine variable localhost anlegen. die müßtest du am anfang des scripts aber erst deklarieren, oder wie das heißt ;).
set localhost = 192.168.99.1
und dann im script mit -s $localhost aufrufen
beim surfen ist zum beispiel die input-chain auskommentiert.
iptables -A OUTPUT -p TCP --sport 1024:65535 --dport http -j ACCEPT
iptables -A INPUT -p TCP --dport 1024:65535 --sport http ! --syn -j ACCEPT
iptables -A INPUT -p TCP --dport http --syn -j DROP
damit sollte das surfen eigentlich möglich sein
Gruß HangLoose
@HangLoose + Belkira
vielen herzlichen(!) Dank, jetzt funzt sshd, http, dns (als client) die anderen Sachen habe ich noch nicht ausprobiert
ich war wohl zu blöd das selbst herauzufinden :(
greetz
adme
hi
sag jetzt nicht, ich hab zur 'ner problemlösung bei iptables beigetragen, ich fass es nicht *grins*
übrigens kannst du folgenden eintrag 1024:65535 auch mit ner variablen definieren =>
set p_high = 1024:65535 #spart eventuell etwas tiparbeit
aufruf im script dann mit z.b. --sport $p_high
Gruß HangLoose
bist du sicher das -s localhost in der form erlaubt ist? wird an der stelle nicht eine ip oder ein netzwerk erwartet?
Ja, localhost ist aber ein gültiger Hostname, der sich nach 127.0.0.1 auflöst. Eingabe von numerischen IP Adressen ist nicht zwingend erforderlich. Können auch durchaus Hostnamen verwendet werden.
hi belkira
Ja, localhost ist aber ein gültiger Hostname, der sich nach 127.0.0.1 auflöst. Eingabe von numerischen IP Adressen ist nicht zwingend erforderlich. Können auch durchaus Hostnamen verwendet werden.
*plums* wieder auf dem boden gelandet ;)
danke für den hinweis.
@adme
wie du siehst, hat dein thread nicht nur dir was gebracht :).
Gruß HangLoose
>set p_high = 1024:65535 #spart eventuell etwas tiparbeit
ja ich habe drum mit cut and paste gearbeitet, sicherlich werde ich das Script jetzt noch etwas ausarbeiten und weiter ports öffnen!
die Basics in Shell Programmierung habe ich schon intus :)
greetz
adme
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.