رفتن به محتوای اصلی
iServer24 | ارائه‌کننده سرورهای ابری و اختصاصی
لیست و حذف قوانین فایروال iptables در لینوکس

لیست و حذف قوانین فایروال iptables در لینوکس

لینوکس و سیستم عامل
3 دقیقه مطالعه

مدیریت قوانین فایروال در لینوکس با iptables را یاد بگیرید. در این آموزش نحوه مشاهده، حذف، ریست شمارنده‌ها و پاک‌سازی کامل قوانین و زنجیره‌های iptables به صورت قدم‌به‌قدم توضیح داده شده است

iptables یکی از ابزارهای اصلی فایروال در سیستم‌های لینوکس است و نقش مهمی در امنیت شبکه دارد. اکثر آموزش‌ها روی ساخت قوانین فایروال تمرکز می‌کنند، اما در این مقاله هدف ما مدیریت قوانین موجود، یعنی مشاهده، حذف و پاک‌سازی قوانین است.

در این آموزش می‌آموزید:

  • لیست کردن قوانین iptables

  • مشاهده تعداد بسته‌ها و حجم داده‌ها برای هر قانون

  • حذف قوانین مشخص

  • پاک‌سازی یک زنجیره (chain)

  • پاک‌سازی همه زنجیره‌ها و جدول‌ها و باز کردن همه ترافیک

نکته: هنگام کار با فایروال مراقب باشید SSH خود را مسدود نکنید (پورت پیش‌فرض: 22). در صورت از دست دادن دسترسی، باید از طریق کنسول خارج از شبکه به سرور وصل شوید.


پیش‌نیازها

توجه: این آموزش فقط برای ترافیک IPv4 است. برای IPv6 از ip6tables استفاده کنید.


لیست کردن قوانین iptables

1. نمایش قوانین به صورت دستورها (Specification)

sudo iptables -S
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

این دستور تمام قوانین فعال را شبیه دستوراتی که هنگام ساخت ایجاد شده‌اند نمایش می‌دهد. برای مشاهده یک زنجیره خاص:

2 خط
sudo iptables -S INPUT
sudo iptables -S TCP
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

2. نمایش قوانین به صورت جدول

sudo iptables -nL
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید
  • گزینه -n از DNS lookup جلوگیری می‌کند و سرعت را افزایش می‌دهد.

  • برای یک زنجیره خاص:

sudo iptables -nL INPUT
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

ستون‌ها به این معنا هستند:

  • target: عملی که در صورت تطابق بسته با قانون انجام می‌شود (ACCEPT, DROP, REJECT)

  • prot: پروتکل (tcp, udp, icmp, all)

  • source/destination: مبدا و مقصد بسته‌ها

  • آخرین ستون: جزئیات اضافی مانند شماره پورت یا وضعیت اتصال


3. نمایش تعداد بسته‌ها و حجم داده‌ها

برای مشاهده تعداد بسته‌ها و حجم داده‌های عبوری از هر قانون:

sudo iptables -nvL INPUT
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید
  • ستون pkts تعداد بسته‌ها

  • ستون bytes حجم داده‌ها بر حسب بایت


پاک‌سازی شمارنده‌ها

برای صفر کردن تعداد بسته‌ها و حجم داده‌ها:

  • برای همه قوانین و زنجیره‌ها:

sudo iptables -Z
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید
  • برای یک زنجیره خاص:

sudo iptables -Z INPUT
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید
  • برای یک قانون مشخص:

sudo iptables -Z INPUT 1
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

حذف قوانین iptables

1. حذف با استفاده از Specification

sudo iptables -D INPUT -m conntrack --ctstate INVALID -j DROP
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

توجه: گزینه -A هنگام حذف استفاده نمی‌شود و باید قانون دقیقاً مطابق ایجاد شده باشد.


2. حذف با شماره خط

  • ابتدا شماره خطوط را مشاهده کنید:

sudo iptables -nL INPUT --line-numbers
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید
  • سپس قانون مورد نظر را حذف کنید:

sudo iptables -D INPUT 3
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

پاک‌سازی زنجیره‌ها (Flush)

1. پاک‌سازی یک زنجیره

sudo iptables -F INPUT
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

2. پاک‌سازی همه زنجیره‌ها

sudo iptables -F
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

3. پاک‌سازی همه قوانین، حذف همه زنجیره‌ها و اجازه دادن به تمام ترافیک

7 خط
sudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -P OUTPUT ACCEPT
sudo iptables -t nat -F
sudo iptables -t mangle -F
sudo iptables -F
sudo iptables -X
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

هشدار: این کار فایروال شما را غیرفعال می‌کند. فقط در صورتی انجام دهید که بخواهید پیکربندی را از نو شروع کنید.


تفاوت iptables -D و iptables -F

گزینهکاربردمثال
-Dحذف یک قانون مشخصsudo iptables -D INPUT 1
-Fحذف همه قوانین یک زنجیرهsudo iptables -F INPUT

خطاهای رایج

  • No chain/target/match by that name: نام زنجیره یا قانون اشتباه است. با sudo iptables -nL زنجیره‌ها را بررسی کنید.

  • Rule not being deleted due to mismatch: قانون دقیقاً مطابق ایجاد نشده است، با iptables -S مطابقت دهید.

  • حذف با شماره خط اشتباه: همیشه با --line-numbers شماره صحیح را بررسی کنید.


نکات مهم

  • تغییرات iptables به صورت موقت هستند و بعد از ریستارت از بین می‌روند. برای ذخیره تغییرات:

sudo iptables-save > rules.v4
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

جمع‌بندی

حالا شما:

  • قوانین فعال iptables را مشاهده می‌کنید

  • تعداد بسته‌ها و حجم داده‌ها را بررسی می‌کنید

  • قوانین مشخص یا همه قوانین را حذف می‌کنید

  • زنجیره‌ها و جدول‌ها را flush می‌کنید

زیرساخت ابری برای اجرای همین آموزش

سرور ابری ساعتی را برای Docker، Ubuntu و DevOps راه‌اندازی کنید — پرداخت به میزان مصرف یا ماهانه.

ادامه یادگیری:Docker·Ubuntu·VPS