Debian SqueezeでIPtables TRACEターゲットを有効にする方法(6)


11

IPtablesのTRACEターゲットを使用しようとしていますが、トレース情報をログに記録できないようです。ここで説明されているものを使用したい: Debugger for Iptables

TRACEのiptables男から:

   This target marks packes so that the kernel will log every  rule  which
   match  the  packets  as  those traverse the tables, chains, rules. (The
   ipt_LOG or ip6t_LOG module is required for the  logging.)  The  packets
   are   logged   with   the   string   prefix:  "TRACE:  tablename:chain-
   name:type:rulenum " where type can be "rule" for plain  rule,  "return"
   for  implicit  rule at the end of a user defined chain and "policy" for
   the policy of the built in chains.
   It can only be used in the raw table.

私は次のルールを使用します:iptables -A PREROUTING -t raw -p tcp -j TRACE/ var / log / syslogまたは/var/log/kern.logには何も追加されません!

別のステップがありませんか?間違った場所を見ていますか?

編集する

ログエントリが見つかりませんが、パケットカウンターがインクリメントされるため、TRACEターゲットは正しく設定されているようです。

# iptables -L -v -t raw
Chain PREROUTING (policy ACCEPT 193 packets, 63701 bytes)
 pkts bytes target     prot opt in     out     source               destination
  193 63701 TRACE      tcp  --  any    any     anywhere             anywhere

Chain OUTPUT (policy ACCEPT 178 packets, 65277 bytes)
 pkts bytes target     prot opt in     out     source               destination

編集2

ルールiptables -A PREROUTING -t raw -p tcp -j LOG パケット情報を/ var / log / syslogに出力します...トレースが機能しないのはなぜですか?


1
pythonプログラム(iptables-traceとも呼ばれます)にjustしているだけです。開始すると、指定された条件を持つTRACEルールを実行中のiptablesに追加し、プログラムが停止するまで(iptablesからTRACEルールを削除するまで)結果のTRACE出力のフォーマット済み出力を解析して表示します。すぐにこれを試してみてください
...-クリス

回答:


8

実行:

modprobe ipt_LOG

それは私のためにそれを修正しました。


おかげで、うまくいきました!ログは/ var / log / syslogまたは/var/log/kern.logで利用可能です
bernie

14

新しいカーネルではこれが必要です(つまり、私にとってはうまくいきます)(IPv4の場合):

modprobe nf_log_ipv4
sysctl net.netfilter.nf_log.2=nf_log_ipv4

クレジット:


これは、(4.4.0-21-GENERICカーネル)のUbuntu 16.04に私のために働いたものだった
アッシュベルリン・テイラーを

7

次の順序で、前の両方の答えを実行する必要があることがわかりました。

sudo modprobe ipt_LOG
sudo sysctl net.netfilter.nf_log.2=ipt_LOG

途中で発見したことがいくつかあります。

以下を使用して、有効なロガーのリストを(現在選択されているロガーとともに)取得できます。

cat /proc/net/netfilter/nf_log

ここでの番号は、で定義されているプロトコルファミリ番号を表します/usr/include/bits/socket.h。2はAF_INET(つまりIPv4)、10はAF_INET6(IPv6)です。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.