এটির সমস্ত নিয়ম সহ একটি iptables চেইন মুছুন


31

আমার অনেক শৃঙ্খলা যুক্ত রয়েছে যেমন:

> :i_XXXXX_i - [0:0]
> -A INPUT -s 282.202.203.83/32 -j i_XXXXX_i 
> -A INPUT -s 222.202.62.253/32 -j i_XXXXX_i 
> -A INPUT -s 222.202.60.62/32 -j i_XXXXX_i 
> -A INPUT -s 224.93.27.235/32 -j i_XXXXX_i 
> -A OUTPUT -d 282.202.203.83/32 -j i_XXXXX_i 
> -A OUTPUT -d 222.202.62.253/32 -j i_XXXXX_i 
> -A OUTPUT -d 222.202.60.62/32 -j i_XXXXX_i 
> -A OUTPUT -d 224.93.27.235/32 -j i_XXXXX_i

যখন আমি এই শৃঙ্খলাটি মুছে ফেলার চেষ্টা করি:

iptables -X XXXX

তবে এর মতো ত্রুটি পেয়েছে (এর আগে চেষ্টা করা iptables -F XXXXX):

iptables: প্রচুর লিঙ্ক।

একবার কমান্ড দিয়ে চেইন মোছার সহজ উপায় কি আছে?


2
ফ্লাশ করার চেষ্টা করার আগে আমি এর আগে আইপটিবল বার্ফটি দেখিনি।
টম ও'কনর

শুধু জানতে আগ্রহী ... কিভাবে অনেক নিয়ম "অনেক" হয়?
লাদাদাদাদা

1
2 অনেকগুলি অনেকগুলি :) আমি যদি নিয়মগুলি প্রথমে মুছে ফেলার চেষ্টা করি তবে এটি অনেক বার টাইপ করতে পছন্দ করবে: iptables -D OUTPUT -d XXX / 32 -j i_XXXXX_i
টিএমি

3
এটি ব্যবহার করে দেখুন:iptables-save | grep -v i_XXXXX_i | iptables-restore
স্টিভেন সোমবার

@ স্টিভেনমন্ডে উত্তর হিসাবে লিখবেন না কেন, এটি সবচেয়ে দরকারী একটি (বিকল্পটি ফাইল এবং সম্পাদনা ফাইলের মাধ্যমে এটি করুন)। এটি কেবল যে জিনিসটি সরিয়ে দেয় না তা হ'ল সম্পূর্ণ টেবিলগুলি ("কাঁচা" যাইহোক)
56

উত্তর:


38

'-J CHAINTODELETE' এর সাথে যখন বিধিগুলি উল্লেখ করা হয় তখন আপনি চেইনগুলি মুছতে পারবেন না। আপনার চেইন (লিঙ্ক) কে কী উল্লেখ করছে তা নির্ধারণ করুন এবং এটি সরিয়ে দিন। এছাড়াও, ফ্লাশ তারপর হত্যা।

-এফ, - ফ্লাশ [চেইন]

নির্বাচিত চেইনটি ফ্ল্যাশ করুন (যদি কিছু না দেওয়া হয় সারণীতে সমস্ত চেইন)। এটি এক এক করে সমস্ত বিধি মোছার সমতুল্য।

-এক্স, --ডিলেট-চেইন [চেইন]

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


আমি কেবল সরাসরি চেইনটি মুছে ফেলার একটি উপায় খুঁজতে চাই (অনেকগুলি 'জে CHAINTODELETE' রেফ নিয়ম রয়েছে) তবে আপনার উত্তর থেকে, এটি অসম্ভব বলে মনে হচ্ছে :(
টাইমি

1
@ টিমির স্টিভেনমন্ডের মন্তব্য একক-পাসে এই চেইনের কোনও উল্লেখ মুছে ফেলবে। সম্ভবত আদর্শ নয়, তবে কাছের মানুষটি ar
জেফ ফেরল্যান্ড 13 'এ

12

এটি সম্ভাব্য অফ-টপিক, তবে আমি এই পোস্টটি খুঁজে পাওয়ার পরে এটিই করেছি! কিছু ব্যবহারের ক্ষেত্রে iptables -D বিকল্পটি কার্যকর হতে পারে। যেহেতু এটি আপনাকে প্রোগ্রামের সাথে -A এর সাথে যুক্ত রেফারিং বিধিগুলি সাফ করার অনুমতি দেয় (যদি আপনি কীভাবে এগুলি যুক্ত করেছিলেন তা যদি আপনি অবশ্যই জানেন)।

যেমন

    iptables -N MYCHAIN
    iptables -A INPUT -i interface -j MYCHAIN
    iptables -A MYCHAIN -j ACCEPT

বিপরীত হতে পারে

   iptables -D INPUT -i interface -j MYCHAIN
   iptables --flush MYCHAIN
   iptables -X MYCHAIN

8

আপনার দুটি পদক্ষেপ দরকার, তবে এটি এক আদেশে এটি করে ।

একটি ফাইল তৈরি করুন এবং এটি এতে রাখুন।

# Empty the entire filter table
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
COMMIT

ফাইলটিকে "ক্লিয়ার-অল-রুলস" হিসাবে সংরক্ষণ করুন। এখন, এই আদেশটি করুন:

iptables-restore < clear-all-rules

এখন আপনি কেবলমাত্র একটি আদেশ দিয়ে এটি যে কোনও সময় সাফ করতে পারেন।


1
+1 এটি ক্লিন এফডাব্লু কনফিগারেশন দিয়ে শুরু করার পক্ষে দ্রুততম উপায়।
dr01

6

এখানে একটি বিকল্প পরিকল্পনা। এটিতে একটি নয়, তিনটি কমান্ড জড়িত, ভাগ্যের সাথে, এটি কাজ করা উচিত।

আপনার iptablesরুলসেটটি কোনও ফাইলে ফেলে দিন:

iptables-save > /tmp/iptables.txt

আপত্তিজনক চেইনের সমস্ত ব্যবহার (এবং উল্লেখগুলি) সরান:

sed -i '/i_XXXXX_i/d' /tmp/iptables.txt

তারপরে রুলসেটটি পুনরায় লোড করুন:

iptables-restore < /tmp/iptables.txt && rm /tmp/iptables.txt

0

এই লাইনের সাথে কিছু কিছু করে কোনওভাবেই iptables নামা না করে সেগুলিকে একক লাইনে পেয়ে যাবে।

for chain in `iptables -L |grep i_XXXXX_i|awk '{ print $2 }'`; do iptables -X $chain; done

0

Iptables ম্যান ফাইলটিতে একটি বিকল্প রয়েছে -S

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

ব্যবহার করে iptables -S | grep <CHAINNAMEHERE>। উদাহরন স্বরূপ:

রুট @ রুট: ~ # iptables -S | গ্রেফ ট্রাফিকলগ

-এন ট্রাফিকলগ

-এটি পূর্বে -i eth0 -j ট্রাফিকলগ

তারপরে আপনি দেখতে পাচ্ছেন কোন নিয়মগুলি টেবিল থেকে চেইন মোছার পথে বাধা দিচ্ছে। প্রতিটি নিয়মের মধ্যে দিয়ে যান ( বিকল্পটি বাদ দিয়ে iptables -N <CHAINNAMEHERE>এবং নিয়মটি মুছুন-D

-ডি, --ডিলেট চেইন নিয়ম নির্বাচিত চেইন থেকে এক বা একাধিক নিয়ম মুছুন। এই কমান্ডের দুটি সংস্করণ রয়েছে: শৃঙ্খলে একটি সংখ্যা হিসাবে নিয়মটি নির্দিষ্ট করা যেতে পারে (প্রথম নিয়মের জন্য 1 থেকে শুরু) বা ম্যাচের নিয়ম।

উদাহরণস্বরূপ iptables -D FORWARD -i eth0 -j TRAFFICLOG। আপনার চেইনের জন্য প্রতিটি নিয়ম মুছে ফেলার পরে -Fবিকল্পটি সহ চেইনটি ফ্লাশ করুন iptables -F <CHAINNAMEHERE>

-এফ, - ফ্লাশ [চেইন] নির্বাচিত চেইনটি ফ্ল্যাশ করুন (টেবিলের সমস্ত চেইন যদি কিছু না দেওয়া হয়)। এটি এক এক করে সমস্ত বিধি মোছার সমতুল্য।

তারপরে -Xবিকল্পটি সহ আপনার চেইনটি মুছুন ,iptables -X <CHAINNAMEHERE>

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

Iptables একটি জটিল সরঞ্জাম সেট তাই একটি আদর্শ টিউটোরিয়াল প্রয়োজন। আপনি www.iptables.info এ চেষ্টা করে দেখতে পারেন


0

এটি শৃঙ্খলা বাহির করবে এবং সেগুলি মুছে ফেলবে

for i in $(iptables -S | awk '{print $2}' | uniq ); do iptables -F $i && iptables -Z $i && iptables -X $i  ; done

0

আমি খুঁজে পেয়েছি যে আপনি /etc/iptables/rules.v4 এ নিয়ম ফাইল সম্পাদনা করে নিয়মাবলী এবং শৃঙ্খলা অপসারণ করতে পারেন। যদি আপনি এই ফাইলটিতে অযাচিত চেইনটি মুছুন এবং তারপর iptables পুনরায় লোড করুন, iptables -L করার সময় আপনার আর চেইনটি দেখা উচিত নয়।


এই ফাইলটি কেবলমাত্র কয়েকটি লিনাক্স ডিস্ট্রিবিউশনে উপস্থিত থাকে এবং তারপরে কেবলমাত্র কয়েকটি লিনাক্স বিতরণের নির্দিষ্ট সংস্করণে
মাইকেল হ্যাম্পটন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.