আইপিটিবেল কনফিগারেশন ফাইলে ইনপুট, ফরওয়ার্ড, আউটপুট চেইনে সংখ্যাগুলি কী বোঝায়?


34

আমি নিম্নলিখিত কনফিগারেশন ফাইল জুড়ে এসেছি:

# Generated by iptables-save v1.3.1 on Sun Apr 23 06:19:53 2006
*filter
:INPUT ACCEPT [368:102354]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [92952:20764374]
-A INPUT -i lo -j ACCEPT
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7
-A INPUT -j DROP
COMMIT
# Completed on Sun Apr 23 06:19:53 2006 

কেউ কি জানেন কি [368:102354], [0:0]এবং [92952:20764374]এর অর্থ কি?


1
আপনি 0যদি কোনও ফাইলটিতে আপনার কনফিগারেশন সংরক্ষণ করতে চান তবে এগুলিতে পরিবর্তন করতে পারেন। এটি ক্ষতিগ্রস্থ হবে না এটি বাদ দিয়ে অবশ্যই এটি মানগুলি পুনরায় সেট করবে will
টোটার

@ টোটার যদি আপনি কনফিগার ফাইল থেকে সম্পূর্ণরূপে নম্বরগুলি সরিয়ে দেন তবে তাতে কোনও পার্থক্য রয়েছে কি? দেখে মনে হচ্ছে এগুলি কনফিগারেশনের পরিবর্তে একটি প্রতিবেদন তাই তারা কনফিগারেশনের ফাইলটিতে কেন?
বার্লপ

উত্তর:


34

দুটি মান প্যাকেটের সংখ্যা এবং এখনও অবধি চেইনের ডিফল্ট নীতি প্রয়োগ করা হয়েছে এমন বাইটের সাথে মিল রয়েছে ( বিশদটির জন্য এই অন্যান্য উত্তরটি দেখুন)।

iptables-save.cনিজেই উত্স কোড অনুযায়ী :

/* Dump out chain names first,
 * thereby preventing dependency conflicts */
for (chain = iptc_first_chain(h);
     chain;
     chain = iptc_next_chain(h)) {

    printf(":%s ", chain);
    if (iptc_builtin(chain, h)) {
        struct xt_counters count;
        printf("%s ", iptc_get_policy(chain, &count, h));
        printf("[%llu:%llu]\n", 
               (unsigned long long)count.pcnt, 
               (unsigned long long)count.bcnt);
    } else {
        printf("- [0:0]\n");
    }
}

এবং, গঠনটি xt_countersঅনুসরণ হিসাবে সংজ্ঞায়িত করা হয়েছে include/linux/netfilter/x_tables.h:

struct xt_counters {
    __u64 pcnt, bcnt; /* Packet and byte counters */
};

এটিও নোট করুন যে চেইনগুলি অন্তর্নির্মিত নয় সেগুলি [0:0]যেভাবেই চিহ্নিত করা হয়েছে (এটি কোডের মধ্যে একটি ছদ্মবেশ)।


1
আমি আপনার উত্তরটি প্রকল্প উত্স কোড থেকে অন্তর্দৃষ্টি দিয়ে পছন্দ করি। আপনাকে অনেক ধন্যবাদ.
বোডো হুগো বারউইচ

9

দুটি সংখ্যা হ'ল যথাক্রমে প্যাকেট এবং বাইটের সংখ্যা যে ডিফল্ট নীতি প্রয়োগ করা হয়েছে (চেইন দ্বারা দেখা প্যাকেট / বাইটের মোট সংখ্যা নয়)। এগুলি চেইনের জন্য ডিফল্ট নীতিমালার সাথে একত্রে নির্দিষ্ট করা হয়েছে - এটি কারণ যে তারা যুক্তিযুক্তভাবে সেখানে অন্তর্গত, কারণ এর চেয়ে ভাল কোনও জায়গা ছিল না।

ডিফল্ট নীতি হল এমন পদক্ষেপ যা প্যাকেটে সঞ্চালিত হয় যখন কোনও সমাপ্ত লক্ষ্যমাত্রার সাথে কোনও নিয়ম মেলে না। একটি অবসানকারী লক্ষ্য হ'ল এটি বর্তমান শীর্ষ-স্তরের চেইনে নিয়মের আরও প্রসেসিং বন্ধ করে দেয়। উদাহরণস্বরূপ, এসিসিপিটি বা ডিআরওপির মতো লক্ষ্যগুলি সমাপ্ত হচ্ছে, যখন এলওজি নেই।

এই প্রশ্নের উদাহরণের কনফিগারেশনে ইনপুট চেইনের সর্বশেষ নিয়মটি সমস্ত কিছু ড্রপ করা হয়, তাই ডিফল্ট নীতিটি কখনই প্রয়োগ করা হবে না এবং কাউন্টারগুলি সাধারণত 0 এ থাকে Non নন-শূন্য মানের (368 প্যাকেট, 102354 বাইট) ব্যাখ্যা করা যায় "ড্রপ-অল" নিয়মের শৃঙ্খলে যুক্ত হওয়ার আগে যে ট্র্যাফিক হয়েছিল তা দ্বারা।

অন্তর্নির্মিত চেইনগুলির সংজ্ঞা অনুসারে ডিফল্ট নীতি থাকতে পারে না, কারণ ডিফল্ট ক্রিয়াটি সর্বদা তাদের যে চেইন থেকে ডেকেছিল সেটিতে ফিরে আসতে হয়, এজন্য তাদের সর্বদা 0 এর পাল্টা মান থাকে।


আপনি এটি iptables-save (manpage) এর ডকুমেন্টেশনে যুক্ত করার কথা ভাবতে পারেন ... আপনি কি ভাবেন না? :-)
ror ই

আমি আমার iptables ব্যবহার করে নিয়মগুলি ব্যবহার করে সংরক্ষণ করেছি iptables-saveএবং পেয়েছি: :INPUT DROP [0:0]এবং :OUTPUT ACCEPT [249529:173953830]। সুতরাং, আমি মনে করি যে কনফিগারেশন ফাইলটি তৈরি করেছেন তিনি এই সংখ্যাগুলির দিকে মনোযোগ দেন নি। তবে এখন, সবকিছু বেশ পরিষ্কার।
মিখাইল মরফিকভ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.