Logisch, so funktioniert das ja auch nicht. Mein Hinweis -j LOG sollte ja auch nur ein Denkanstoss für dich sein und ich hatte angenommen, dass das ausreicht, um dich zu einem Blick in die Dokumentation zu bewegen.
Wenn man mit -j LOG einfach nur ein Logging aktivieren würde, sodass der Kernel sämtlichen Datenverkehr loggt, dann würde dein System stehen, denn es müsste zu jedem Futzel der über das Netz geht etwas auf die Platte geschrieben werden. Da hätte syslogd aber schwer zu tun.
Nein, Du musst genau angeben, welche iptables-Regel geloggt werden soll.
Mal angenommen, du hast folgende Regel aus der INPUT-Chain
iptable -A INPUT -i eth0 -j ACCEPT
und möchtest alles mitloggen, was auf diese Regel zutrifft, dann musst du vor diese Zeile eine entsprechende LOG-Regel einsetzen. Das sieht dann so aus
iptables -A INPUT -i eth0 -j LOG --log-level debug --log-prefix "eth0-INPUT"
iptables -A INPUT -i eth0 -j ACCEPT
Damit wird die selbe Regel (-A INPUT -i eth0) zweimal angewendet. Zuerst wird auf diese Regel eine LOG-Aktion ausgeführt und danach das ACCEPT.
Durch die LOG-Action mit dem level debug landet die Logmeldung normalerweise in der Logdatei /var/log/debug (kommt auf die Einstellungen im syslogd an). Zur besseren Erkennung wird in der Logdatei ein Präfix (eth0-INPUT" eingefügt, damit man die Zeile leichter Identifizieren kann und man weis, welche der Regeln denn diese Meldung erzeugt hat.
Damit kannst Du ganz genau festlegen, was geloggt werden soll und was nicht.
Die Rechtschreibfehler in diesem Beitrag sind nicht urheberrechtlich geschützt.
Jeder der einen findet darf ihn behalten und in eigenen Werken weiterverwenden.