डेबियन निचोड़ पर IPTables लक्ष्य को कैसे सक्षम करें (6)


11

मैं IPtables के लक्ष्य लक्ष्य का उपयोग करने की कोशिश कर रहा हूं, लेकिन मुझे कोई भी ट्रेस जानकारी लॉग इन नहीं लगती है। मैं यहाँ वर्णित है का उपयोग करना चाहते हैं: 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

संपादित करें २

नियम पैकेट सूचना को / var / log / syslog पर प्रिंट iptables -A PREROUTING -t raw -p tcp -j LOG करता है ... TRACE काम क्यों नहीं करता है?


1
बस एक अजगर कार्यक्रम (जिसे iptables-ट्रेस भी कहा जाता है :) पर अटक गया। जब इसे शुरू किया जाता है, तो चल रहे iptables, पर्स और निर्दिष्ट परिणाम के साथ TRACE नियम जोड़ता है जिसके परिणामस्वरूप TRACE आउटपुट के लिए स्वरूपित आउटपुट होता है, जब तक कि प्रोग्राम बंद नहीं किया जाता है (जो iptables से TRACE के नियम को हटा देता है)। इस जल्द ही कोशिश करेंगे ...
क्रिस

जवाबों:


8

Daud:

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

क्रेडिट:


यह वह था जो मेरे लिए उबंटू 16.04 (कर्नेल 4.4.0-21-जेनेरिक) पर काम करता था
ऐश बर्लिन-टेलर

दुर्भाग्य से modinfo nf_log_ipv4वर्णन सिर्फ कहता है: "नेटफिल्टर आईपीवी 4 पैकेट लॉगिंग"। कुछ विवरण उत्तर को बेहतर बना सकते हैं: एससीएक्टेल वास्तव में क्या करता है?
यू। विंडल

8

मैंने पाया कि मुझे इस क्रम में पिछले दोनों उत्तरों को निभाने की आवश्यकता थी:

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) है।


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.