সমস্ত iptables নিয়মগুলি দেখছি


144

iptablesকিছুটা আরও বিশদে বিধি দেখার উপায় আছে কি ?

আমি সম্প্রতি আইপিগুলির একটি ব্যাপ্তিতে মাস্ক্রেড যুক্ত করেছি:

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
service iptables save
service iptables restart

যা আমি এটি করতে চাই তা করেছে তবে আমি যখন ব্যবহার করি:

iptables -L

আমি সাধারণত যেমন আউটপুট পাই তা পাই:

Chain INPUT (policy ACCEPT)
target    prot opt source        destination

Chain FORWARD (policy ACCEPT)
target    prot opt source        destination

Chain OUTPUT (policy ACCEPT)
target    prot opt source        destination

আমি যুক্ত করা বিধিগুলি সহ আমি কীভাবে বিধিগুলি দেখতে পারি? (সিস্টেমটি সেন্টোস 6)

উত্তর:


116

ব্যবহার করার সময় -L, --listবিকল্প বর্তমান ফায়ারওয়ালের নিয়মনীতি তালিকা, এছাড়াও আপনি উপযুক্ত Netfilter টেবিল নির্দিষ্ট করতে হবে (এক filter, nat, mangle, rawবা security)। সুতরাং, আপনি যদি natটেবিলের জন্য একটি বিধি যুক্ত করেছেন , আপনার স্পষ্টভাবে এই টেবিলটি -t, --tableবিকল্পটি ব্যবহার করে নির্দিষ্ট করতে হবে :

iptables --table nat --list

বা বিকল্পগুলি সংক্ষিপ্ত ফর্ম ব্যবহার করে:

iptables -t nat -L

আপনি যদি কোনও নির্দিষ্ট সারণি নির্দিষ্ট না করেন, filterসারণীটি ডিফল্ট হিসাবে ব্যবহৃত হয়।


দ্রুত ফলাফলের জন্য, এটি অন্তর্ভুক্ত করা উপযোগী হতে পারে -n, --numericহোস্ট-নেম পরিবর্তে সাংখ্যিক আইপি ঠিকানা প্রিন্ট করতে, এইভাবে বিপরীত DNS- র লুক-জন্য অপেক্ষা করতে হবে এড়ানো বিকল্প।

আপনি অন্তর্ভুক্ত করে আরও বেশি তথ্য পেতে পারেন -v, --verboseবিকল্প।


113

iptables: পাঁচটি পৃথক টেবিল নিয়ন্ত্রণ filter, nat, mangle, rawএবং security। প্রদত্ত কলে, iptablesকেবলমাত্র এই টেবিলগুলির মধ্যে কেবল একটি প্রদর্শন বা সংশোধন করে, বিকল্পটিতে আর্গুমেন্ট দ্বারা নির্দিষ্ট -t(ডিফল্ট করা filter)। ফায়ারওয়ালের সম্পূর্ণ অবস্থা দেখতে আপনার iptablesপ্রতিটি টেবিলকে ক্রমাগত কল করতে হবে ।

তদ্ব্যতীত, বিধিগুলির সঠিক প্রতিনিধিত্ব পেতে আপনার বিকল্পটি পাস করতে হবে -v। অন্যথায় আউটপুটটিতে কিছু গুরুত্বপূর্ণ মানদণ্ড বাদ দেওয়া হয়, যেমন ফিল্টার নিয়মের ইন্টারফেস (যেমন একটি নিয়ম যা "সবকিছু মেনে নিন" এবং এমন একটি নিয়ম যা "লুপব্যাক ইন্টারফেসে সমস্ত কিছু স্বীকার করি" কেবল তার সাথে আলাদা করা যায় -v)।

সুতরাং, নেটফিল্টার নিয়মের একটি সম্পূর্ণ উপস্থাপনা পেতে আপনার প্রয়োজন

iptables -vL -t filter
iptables -vL -t nat
iptables -vL -t mangle
iptables -vL -t raw
iptables -vL -t security

বিকল্পভাবে, আপনি iptables-saveপ্রোগ্রামটি কল করতে পারেন , যা ভাগ করে দেওয়া যায় এমন বিন্যাসে সমস্ত টেবিলের সমস্ত বিধি প্রদর্শন করে iptables-restore। এই ফর্ম্যাটটি মানুষের দ্বারা যুক্তিসঙ্গতভাবে পঠনযোগ্য (এটি iptablesটেবিলটি তৈরির জন্য কমান্ডের একাধিক কলের মতো )।


56

iptables -Sআমার জন্য কৌশল। এটি পরিষেবাটি বন্ধ থাকা সত্ত্বেও সমস্ত সক্রিয় নিয়মের তালিকাবদ্ধ বলে মনে হচ্ছে।

ম্যান পৃষ্ঠা থেকে:

-এস, - তালিকা-বিধিগুলি [চেইন] নির্বাচিত শৃঙ্খলে সমস্ত বিধি মুদ্রণ করুন। যদি কোনও চেইন নির্বাচিত না হয় তবে সমস্ত চেইনগুলি iptables-save এর মতো মুদ্রিত হবে। অন্যান্য আইপটিবল কমান্ডের মতো এটি নির্দিষ্ট টেবিলের ক্ষেত্রেও প্রয়োগ হয় (ফিল্টারটি ডিফল্ট হয়)।


এটি একটি সত্যই কেডব্লিউ উত্তর, আমি আরও লক্ষ্য করেছি যে / sbin / পরিষেবা iptables স্থিতি একটি অনুরূপ আউটপুট দেয়
TheLovelySausage

6
+1 টি। ম্যান পৃষ্ঠা থেকে এটি সম্পর্কে 'মনে হয় না': "-এস, নির্বাচিত শৃঙ্খলে সমস্ত নিয়ম মুদ্রণ করুন no এটি আমার সাধারণত প্রয়োজন।
মাইক এস

3
আমি এই ক্ষেত্রে হতে পারে না। iptables -Sআমার সমস্ত নাট বিধিগুলি প্রদর্শন করে না, যা আমি দৌড়ানোর সময় দেখতে পাচ্ছিiptables -L -t nat
মুল্লহাউসন

1
@ মাইকস ম্যান পৃষ্ঠা থেকে, দুটি আদেশ কেবলমাত্র নির্দিষ্ট টেবিলটিতে কাজ করে, ডিফল্টরূপে ফিল্টার করে। "অন্যান্য আইপিটিবলস কমান্ডের মতো এটিও নির্দিষ্ট টেবিলের জন্য প্রযোজ্য (ফিল্টারটি ডিফল্ট হয়)"। ডকুমেন্টেশনের শব্দের প্রায় একইরকম -S এবং -L এর জন্য অনুলিপি করা হয়েছে, এগুলি কেবল আউটপুটটির বিন্যাসে পৃথক হয়, প্রিন্ট করা নিয়মে নয়। এটি কমপক্ষে উবুন্টু 16.04 এর ক্ষেত্রে সত্য যা আমার সিস্টেমে আইপটিবল v1.6.0।
স্কট

এখানে @ mullhausen এর সাথে সম্মত হন। আমার নেট টেবিলের নিয়মগুলি দেখানোর জন্য আমার "sudo iptables --table nat - list" দরকার ছিল। "-S" পতাকা নিজেই সেগুলি প্রদর্শন করে নি।
রবার্ট অসলারের

15

আমি যা করি তা কার্যকর করা iptables-save > iptables_bckp, এটি সমস্ত স্তরগুলিকে ব্যাকআপ করবে, তারপরে ফাইলটি সম্পাদনা করবে এবং iptables পুনরুদ্ধার করবেiptables-restore < iptables_bckp

# iptables-save > iptables_bckp
# vim iptables_bckp
# iptables-restore < iptables_bckp

আপনি একটি দ্বিগুণ ব্যাকআপ করতে পারেন যাতে আপনি আপনার অতীতের iptables হারাতে না পেরে সেগুলির মধ্যে একটিটিকে সংশোধন করতে পারেন।

এটি একটি ব্যক্তিগত অনুশীলন, আমি বলছি না এটি সবচেয়ে ভাল উপায় তবে আমার জন্য দুর্দান্ত কাজ করে।

একবার চেষ্টা করে দেখ


আমি এখনও অবধি খুঁজে পাওয়া এটিই একমাত্র বাস্তব উত্তর যা আসলে সমস্ত টেবিলকেও ডাম্প করে দেয়।
ক্রিস হ্যারিংটন

4

iptablesকমান্ড এছাড়াও আপনি ফিল্টার করতে টেবিল এটা অক্ষমতা অন্যথায় টেবিল নির্দিষ্ট করার প্রয়োজন। সুতরাং চেষ্টা কর:

iptables -t nat -L

1

তুমি ব্যবহার করতে পার:

# lsmod | grep ip_tables
ip_tables              13193  4 iptable_raw,iptable_mangle,iptable_nat,iptable_filter

সমস্ত সারণী সন্ধান করতে এবং সারণীতে সুনির্দিষ্ট বিধি প্রদর্শন করতে।


1

যদি এটি সত্যিই আপনাকে বাশ স্ক্রিপ্ট লিখতে এবং এটি এমন একটি ফোল্ডারে রেখে দিতে পারে যা আপনার পথ দ্বারা রেফারেন্স করতে পারে বা এটি rc / .bashrc ফাইলের কোনও উপাধির মাধ্যমে রেফারেন্স করে।

AllRules.sh

#!/bin/bash

 echo "Filter table:"
 iptables -t filter -vL

 echo "Nat table:"
 iptables -t nat -vL

 echo "Mangle table:"
 iptables -t mangle -vL

 echo "Raw table:"
 iptables -t raw -vL

 echo "Security table:"
 iptables -t security -vL

 echo 
 echo "All rules in all tables printed"

আপনার নতুন বাশ স্ক্রিপ্ট দিয়ে অনুমতিগুলি কার্যকর করার কথা মনে রাখবেন chmod

অনুমতি যদি কোনও সমস্যা হয় তবে আপনাকে সমস্ত iptablesকমান্ডের সামনে sudo যুক্ত করতে হতে পারে ।


0
iptables -vnxL
iptables -vnxL -tnat

সম্ভবত অতিরিক্তভাবে, যদিও এটি খুব কম ব্যবহৃত হয়:

iptables -vnxL -traw
iptables -vnxL -tmangle
iptables -vnxL -tsecuriy
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.