Iptables Frage

JohnDoe42

Aktives Mitglied
Mitglied seit
17 Mrz 2009
Beiträge
1,466
Punkte für Reaktionen
3
Punkte
38
Nochmal Hallo Gemeinde,

nach einigen erfolgreich installierten und benutzten Paketen würde ich mich nun gern' an iptables wagen ....
Dazu hab' ich zunächst mal iptables inklusive CGI und ohne das conntrack-Modul per auf die Box (7170) geflasht.
Nun würde ich gern' eine erste Regel erstellen, und zwar die zum Zwecke des Loggings abgewiesener Pakete ( s. wiki ). Dazu hab' ich den Satz TRANS mit
Code:
iptables -N TRANS
erstellt und mit
Code:
iptables -A FORWARD -j TRANS
eingehängt (alles zunächst mal händisch auf der Konsole). Wenn ich jetzt das
Code:
iptables -A TRANS -j LOG --log-prefix "[IPT] DENY-LAN-ACCESS "
ausführen möchte, kommt ein
Code:
iptables: No chain/target/match by that name

Weiß dazu jemand Rat ?
Besten Dank im Voraus und Grüße,

JD.
 
Hallo RalfFriedl,

vielen Dank für Deinen Hinweis. Nach einigem Herumstöbern und -probieren kam mir auch die Idee, daß ich beim Zusammenstellen des Images evtl. ein paar Module vergessen haben könnte ... aber ein
Code:
modprobe ipt_LOG
läuft korrekt durch und dann klappt auch das
Code:
iptables -A TRANS -j LOG --log-prefix "[IPT] DENY-LAN-ACCESS "
Wird denn das LOG-Modul beim Start des Dienstes (wenn ich iptables UND das CGI eingebunden habe) nicht standardmäßig geladen?
Falls nein: Müßte ich das händisch irgendwo in der WEB-IF von Iptables nachholen ?
Grüße,

JD.
 
Was das CGI automatisch tut, weiß ich nicht. Es könnte aber sein, daß es irgendwo eine Stelle gibt, wo man angeben kann, welche Module benötigt werden. Und vermutlich werden keine Module geladen, wenn iptables nur in der Firmware enthalten ist, aber nicht auch gestartet wird.
 
[...]
Und vermutlich werden keine Module geladen, wenn iptables nur in der Firmware enthalten ist, aber nicht auch gestartet wird.

Ich hatte den iptables-Dienst natürlich vorher gestartet und dann versucht, händisch auf der Konsole die o.g. Regeln zur erstellen ... allerdings mich vorher explizit darum gekümmert zu haben, ob das LOG-MOdul geladen war.
Macht es evtl. Sinn, das Laden des Moduls unter iptables_rules in der CGI einzutragen ?
Grüße,

JD.
 
Im iptables-cgi package steht ipt_LOG in der Module Liste (rc.iptables) drin.

MfG Oliver
 
Im iptables-cgi package steht ipt_LOG in der Module Liste (rc.iptables) drin

Warum mußte ich es dann (mit bereits laufendem iptables-Dienst) erst händisch auf der Konsole laden, damit alles funktioniert?

Grüße,

JD.
 
Erstens ist iptables nicht iptables-cgi. Und zweitens lädt iptables-cgi (wenn überhaupt) nur die Module, die für die hinterlegten Regeln benötigt werden, und nicht für die Regeln, die Du vielleicht später von Hand noch anlegen willst.

Jedes geladene Modul verbraucht Speicherplatz in der Box, und soviel Speicher hat die Box nicht, daß man nicht benötigte Module laden würde.
 
Warum mußte ich es dann (mit bereits laufendem iptables-Dienst) erst händisch auf der Konsole laden, ...
Du kannst auch:
Code:
make kernel-menuconfig 
Loadable module support -> [COLOR="Red"]automatic kernel module loading [/COLOR]
machen.
 
Das bringt aber nur etwas, wenn man den Kernel dann auch nutzt, sprich den vorhandenen Kernel ersetzt. Es kann sein, daß man das nicht möchte, oder es aufgrund fehlender Quellen nicht möglich ist.
 
Man kann auch über die rc.custom oder die debug.cfg die Module beim Boot laden lassen, ohne den Kernel ersetzen zu müssen oder gar iptables.cgi Patchen zu müssen.
 
Wir haben sogar eine rc.modules. Da muss nur der Name des zu ladenden Moduls rein.

MfG Oliver
 
Hallo zusammen,

nachdem ich jetzt den stable-Branch komplett neu ausgecheckt habe, alle Pakete neu eingebunden habe (iptables nur die Standard-Pakete) und händisch auf der Konsole ein paar Regeln eingetippt habe, würde ich diese Regeln gern dauerhaft auf der Box speichern (also so, daß sie nach einem Reboot und/oder DSL-Leitungs-Verlust wie in der letzten Nacht bei Alice) noch existent und vital sind. Wenn ich nun in der iptables-CGI den "Übernehmen"-Button betätige, erscheint im LOG
Code:
Saving settings...done.
Saving iptables.cfg...done.

Modules are already loaded. Starting rule script...<br>
rule 
chain INPUT
position 
source 
destination 
proto all
sport 
dport 
input-interface 
output-interface 
action ACCEPT
nat None
<br>
iptables  INPUT    -p all     -j ACCEPT 
Rule setting failed.

Writing /var/flash/freetz...done.
44032 bytes written.
Bei einem Neustart sind dann alle Regeln wieder weg.
An anderer Stelle hatte ich schon mal gelesen, daß die Regeln auch in die debug.cfg eingetragen werden können ... wie wäre die Syntax ähnlich zu iptables:Rules in der CGI?

Grüße,
 
Du kannst ein Skript mit den iptables-Regeln erstellen, das Du dann unter "/tmp/flash/mod" dauerhaft speichern kannst. Bei jedem Neustart der Box kannst Du dann dieses Skript mit der rc.custom ausführen lassen. iptables-CGI's werden nicht benötigt. Zwecks Syntax - siehe im Internet.
 
Zuletzt bearbeitet:
Das Verzeichnis gibts in Freetz-1.1.3 nicht falls du das verwendest.

Mfg Oliver
 
Hallo Oli,

da ich, wie ich bereits in Post 13 schrieb, den kompletten stable-Branch neu ausgecheckt hatte, würde ich vermuten, daß ich in der Tat 1.1.3 verwende und analog dazu (wie ich in Post 15 schrieb) das Verzeichnis /tmp/flash/mod bei mir nicht existiert. Hättest Du einen alternativen Tip für mich, wo ich das Script bootsicher speichern könnte ?
Grüße,

JD.
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.