خصم 50% جميع الخطط، لفترة محدودة. ابتداء من $2.48/mo
14 دقيقة متبقية
الأمن والشبكات

إدراج وحذف قواعد Linux Iptables – ورقة غش للمبتدئين

ليلي كارنيل By ليلي كارنيل 14 دقيقة قراءة تم التحديث في 18 سبتمبر 2023
إرشادات لإدراج وحذف قواعد Iptables

يعد الوصول غير المصرح به واختراق الخوادم تهديدات خطيرة، ولهذا السبب يجب عليك تنفيذ جدار الحماية كجزء من تقنية أمان الشبكة الخاصة بك. تعد معرفة كيفية العمل مع قواعد Iptables أحد الأصول الأساسية لتقليل هذه المخاطر على أنظمة Linux لديك. سيرشدك هذا البرنامج التعليمي للتعرف على مفاهيم جدار الحماية الأساسية مثل قواعد عرض iptables وإزالة قواعد iptables في أوبونتومما يساعدك على تشغيل أوامر بسيطة لتحقيق ذلك. قبل مناقشة كيفية إدراج قواعد iptables أو حذفها، دعونا نتحدث عن ماهية قواعد iptables ولماذا نستخدمها؟

ما هو إيتابلز؟

iptables عبارة عن أداة مساعدة لجدار الحماية لسطر الأوامر تسمح بحركة المرور أو تمنعها عبر سلاسل السياسة. عندما تحاول إجراء اتصالات على نظامك، يبحث iptables عن قاعدة في القائمة تطابقها، مما يمنحك مساعدًا مناسبًا في أمان الشبكة. إذا لم يتم العثور على واحد للاتصال، فإنه يلجأ إلى الإجراء الافتراضي.

دائمًا ما يتم تثبيت iptables مسبقًا على أي منها توزيعة لينكس. يمكنك استخدام الأمر التالي لتحديثه أو تثبيته:

sudo apt-get install iptables

لماذا نستخدم Iptables؟

باعتباره جدار حماية لسطر أوامر Linux، يسمح iptables لمسؤولي النظام بالتعامل مع حركة المرور الواردة والصادرة عبر قواعد الجدول القابلة للتكوين. تستخدم Iptables مجموعة من الجداول ذات سلاسل تحتوي على مجموعة من القواعد المضمنة أو المحددة من قبل المستخدم.

كما ذكرنا في القسم السابق، يلعب iptables دورًا أساسيًا في أمان الشبكة لمعظم أنظمة Linux. تركز بقية هذه المقالة بشكل أساسي على وصف قائمة iptables بجميع القواعد، بما في ذلك مفاهيم مثل كيفية إظهار iptables وإزالة قواعد iptables.

وبشكل أكثر تحديدًا، ستناقش هذه المقالة بعض مهام iptables الأساسية لتوضح لك كيفية إدراج القواعد، وحذف عدادات الحزم والبايت، وإزالة قاعدة Iptables، وتدفق السلاسل، وحذف جميع السلاسل وقبول كل حركة المرور.

دليل كامل لـ Iptables في أوبونتو

قبل الاطلاع على قواعد عرض iptables، لاحظ أنه يجب عليك استخدام خادم Linux مع تثبيت أمر iptables. بالإضافة إلى هذه المتطلبات، من الضروري أن يكون لديك امتيازات sudo. عند العمل مع جدران الحماية، انتبه إلى عدم عزل نفسك عن الخادم الخاص بك عن طريق حظر حركة مرور SSH (المنفذ: 22، افتراضيًا). إذا فقدت الوصول بسبب إعدادات جدار الحماية لديك، فقد تحتاج إلى الاتصال به عبر وحدة تحكم خارج النطاق لإصلاحه.

إقرأ أيضاً: كيفية تغيير منفذ SSH في لينكس | دليل سريع خطوة بخطوة لمنفذ SSH الخاص بك

قواعد الإدراج حسب المواصفات

يمكنك عرض قواعد iptables النشطة الخاصة بك في طاولة أو كما قائمة مواصفات القاعدة. توفر كلتا الطريقتين تقريبًا نفس المعلومات بتنسيقات مختلفة. لسرد كافة قواعد iptables النشطة حسب المواصفات، تحتاج إلى تشغيل أمر iptables باستخدام الملف - خيار S:

sudo iptables -S

بعد تشغيل أمر iptables show Rules، سترى نتيجة مثل هذا:

إخراج قواعد قائمة العرض الجارية
إخراج قواعد قائمة العرض الجارية

إدراج سلسلة محددة

إذا كنت تريد قصر إخراج show iptables على سلسلة محددة مثل INPUT أو OUTPUT أو برنامج التعاون الفني، يمكنك تحديد اسم السلسلة مباشرةً بعد الخيار -S. على سبيل المثال، يساعد أمر iptables show Rules التالي على التحديد في سلسلة TCP:

sudo iptables -S TCP

إخراج قائمة سلسلة TCP محددة
إخراج قائمة سلسلة TCP محددة

كما أشرنا من قبل، هناك طريقة أخرى لإنجاز قواعد عرض iptables: عرض قواعد iptables كجدول قواعد. دعونا نذهب من خلال هذه التقنية.

قواعد الإدراج كجداول

يمكن أن يساعد استخدام أمر لإظهار قواعد iptables في الجداول في مقارنة القواعد المختلفة. تحتاج إلى تشغيل الأمر show iptables التالي باستخدام الملف - خيار L لإخراج كل هذه القواعد النشطة في جدول:

sudo iptables -L

سيعرض هذا الأمر كافة القواعد الحالية مرتبة حسب السلاسل. هناك طريقة يمكنك من خلالها قصر الإخراج على سلسلة معينة مثل INPUT، وOUTPUT، وTCP، وما إلى ذلك؛ تحتاج إلى تحديد اسم السلسلة مباشرة بعد الخيار -L. فيما يلي مثال على قصر قواعد عرض iptables على سلسلة INPUT:

sudo iptables -L INPUT

يُظهر إخراج iptables قواعد تقتصر على سلسلة INPUT
يُظهر إخراج iptables قواعد تقتصر على سلسلة INPUT

يُظهر السطر الأول من المخرجات أعلاه اسم السلسلة (INPUT، في هذه الحالة) وسياستها الافتراضية (DROP). يحتوي السطر التالي على رؤوس كل عمود في الجدول وقواعد السلسلة. سنستعرضها لمساعدتك في تعلمها جميعًا:

  • الهدف: إذا كانت الحزمة تتوافق مع القاعدة، فإن الهدف هو الذي يحدد ما يجب فعله بها. يمكنك قبول الحزمة أو إسقاطها أو تسجيلها أو إرسالها إلى سلسلة أخرى لمقارنتها بمزيد من القواعد.
  • prot: البروتوكول (مثل TCP أو udp أو ICMP أو الكل)
  • opt: يشير إلى خيارات IP (نادر الاستخدام)
  • المصدر: يعرض عنوان IP المصدر/الشبكة الفرعية لحركة المرور 
  • الوجهة: يعرض عنوان IP الوجهة/الشبكة الفرعية لحركة المرور

يشير العمود الذي لا يحتوي على تسمية إلى خيارات القاعدة، وهو أي جزء من القاعدة لم تتم الإشارة إليه في الأعمدة السابقة. يمكن أن تكون هذه المعلومات أي شيء، بدءًا من منافذ المصدر والوجهة وحتى حالة اتصال الحزمة.

إقرأ أيضاً: قم بتثبيت OpenVPN على VPS – إعداد عميل OpenVPN 🔑

كيفية إظهار عدد الحزم والحجم الكلي؟

عند إدراج قواعد iptables، يمكننا إظهار عدد الحزم والحجم الإجمالي للحزم بالبايت الذي يطابق كل قاعدة iptables معينة؛ وهذا غالبًا ما يكون مفيدًا في فهم القواعد التي تتوافق مع الحزم. عليك استخدام -L و -v الخيارات معًا للإنجاز هذا.

فيما يلي مثال سنستخدم فيه سلسلة INPUT مرة أخرى، مع الخيار -v:

sudo iptables -L INPUT -v

عرض أعداد الحزم والحجم الكلي
إخراج عرض عدد الحزم والحجم الكلي

لاحظ أن قائمتنا تحتوي الآن على عمودين آخرين مسميين حزم و بايت. لقد تعلمنا طرقًا مختلفة لجعل iptables يعرض جميع أوامر القواعد، وقد حان الوقت الآن لمعرفة كيفية إعادة تعيين عدد الحزم والحجم الإجمالي.

كيفية إعادة ضبط عدد الحزم والحجم الإجمالي؟

يجب عليك استخدام الخيار- Z إذا كنت تفضل عدادات الحزم والبايت الواضحة أو الصفرية لقواعدك. كما يتم أيضًا إعادة تعيينهم في حالة حدوث إعادة التشغيل، وهو أمر مفيد إذا كنت تريد معرفة ما إذا كان الخادم يتلقى حركة مرور جديدة تتوافق مع قواعدك الحالية.

يمكنك مسح العدادات لجميع السلاسل والقواعد باستخدام - خيار Z في حد ذاته:

sudo iptables -Z

لإزالة العدادات لجميع القواعد في سلسلة معينة، يجب عليك استخدام الخيار -Z وتحديد السلسلة. على سبيل المثال، يتم استخدام الأمر التالي لمسح عدادات سلسلة INPUT:

sudo iptables -Z INPUT

إذا كنت تريد إزالة العدادات لقاعدة معينة، فيجب عليك ذكر اسم السلسلة ورقم القاعدة بدقة. على سبيل المثال، يمكنك تنفيذ الأمر التالي لصفر عدادات القاعدة الأولى في سلسلة INPUT:

sudo iptables -Z INPUT 1

بالإضافة إلى معرفة أن iptables يعرض جميع أوامر القواعد وطرق إعادة ضبط حزم iptables وعدادات البايت، فمن الجيد معرفة كيفية إزالة قاعدة iptables.

إقرأ أيضاً: كيفية تثبيت خادم PPTP VPN على VPS الخاص بك

كيفية إزالة قواعد iptables؟

يمكنك استخدام أوامر متعددة لإزالة قواعد Iptables أو حتى حذف جميع القواعد في السلسلة. وسنتحدث هنا عن هذه الأساليب

إزالة القواعد حسب المواصفات

إحدى طرق إزالة قواعد iptables هي القيام بذلك عبر مواصفات القاعدة. يمكّنك من تشغيل أمر iptables باستخدام الملف - خيار د ومواصفات القاعدة. إذا كنت تريد إزالة القواعد باستخدام هذه التقنية، فيمكنك الاستفادة من مخرجات قائمة القواعد، iptables -S، للحصول على المساعدة.

على سبيل المثال، لحذف القاعدة التي تسقط الحزم الواردة غير الصالحة (-A INPUT -m conntrack –ctstate INVALID -j DROP)، يمكنك تنفيذ سطر الأوامر التالي:

sudo iptables -D INPUT -m conntrack --ctstate INVALID -j DROP

انتبه إلى أن الخيار -A مخصص للإشارة إلى موضع القاعدة في وقت الإنشاء ويجب استبعاده هنا.

إزالة القواعد حسب السلسلة والرقم

الطريقة الأخرى التي يمكنك استخدامها لإزالة قواعد iptables هي عبر سلسلتها ورقم السطر الخاص بها. اكتب الأمر التالي لاختيار رقم سطر القاعدة، وإدراج القواعد في تنسيق الجدول، وإضافة – خيار أرقام الأسطر:

sudo iptables -L --line-numbers

إزالة القواعد حسب السلسلة والرقم
إخراج إزالة القواعد حسب السلسلة والرقم

بعد تشغيل هذا، جميع قواعد iptables لها رقم السطر الخاص بها، والذي يظهر بواسطة رأس num.

عندما تعرف القاعدة التي ترغب في حذفها، ضع رقم السلسلة ورقم السطر في ذهنك. يجب عليك استخدام الأمر iptables -D مع رقم السلسلة والقاعدة. على سبيل المثال، إذا كنت تريد حذف قاعدة الإدخال التي تسقط الحزم غير الصالحة، يمكنك أن ترى أنها القاعدة 3 من سلسلة INPUT. لذلك قم بتشغيل هذا الأمر:

sudo iptables -D INPUT 3

كيفية مسح السلاسل؟

هناك طريقة يمكنك من خلالها إزالة جميع قواعد Iptables في السلسلة، والتي نسميها مسح سلسلة. هنا سوف نغطي الطرق المختلفة للقيام بذلك. قبل المضي قدمًا، انتبه إلى عدم حظر دخولك إلى الخادم عبر SSH عند مسح سلسلة باستخدام سياسة الإفلات أو الرفض الافتراضية. لأنه إذا قمت بذلك، فقد تحتاج إلى الاتصال به عبر وحدة التحكم لإصلاح وصولك.

مسح سلسلة واحدة

لمسح سلسلة معينة، أو بمعنى آخر، حذف جميع القواعد الموجودة في السلسلة، يمكنك استخدام الأمر -F أو ما يعادلها - خيار التدفق واسم السلسلة المختارة. لنفترض أنك تريد إزالة جميع القواعد الموجودة في سلسلة INPUT؛ ما يجب القيام به؟ حسنًا، الأمر سهل، قم بتشغيل الأمر التالي:

sudo iptables -F INPUT

مسح جميع السلاسل

لإزالة جميع السلاسل أو مسحها، يمكنك استخدام -F أو خيار -flush المكافئ بنفسه:

sudo iptables -F

كيفية مسح كافة القواعد، وحذف كافة السلاسل، وقبول الكل؟

في هذه المرحلة، سنصف كيفية مسح جميع قواعد جدار الحماية والجداول والسلاسل والسماح بجميع حركة مرور الشبكة. يرجى الانتباه إلى أن هذه العملية ستؤدي إلى تعطيل جدار الحماية بشكل فعال. لذا، يجب عليك اتباع هذا القسم فقط إذا كنت تريد البدء من جديد بتكوين جدار الحماية الخاص بك.

تحتاج أولاً إلى تعيين السياسات الافتراضية لكل سلسلة من السلاسل المضمنة على قبول. السبب الرئيسي وراء قيامنا بذلك هو التأكد من أنه لن يتم منعك من الوصول إلى الخادم باستخدام SSH:

sudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -P OUTPUT ACCEPT

ثم تحتاج إلى مسح جداول nat وmangle، ومسح جميع السلاسل (-و)، وحذف كافة السلاسل غير الافتراضية (-X) مثله:

sudo iptables -t nat -F
sudo iptables -t mangle -F
sudo iptables -F
sudo iptables -X

بعد تشغيل الأوامر السابقة، سيسمح جدار الحماية بجميع حركة مرور الشبكة. إذا كنت تريد إدراج القواعد الخاصة بك الآن، فستجد أنه لا يوجد أي منها؛ تبقى السلاسل الافتراضية الثلاثة فقط مثل سلاسل INPUT وFORWARD وOUTPUT.

كيفية تعيين iptables في أوبونتو؟

كما هو الحال مع أي سلوك أساسي لجدار الحماية، يمكن قراءة قواعد iptables بالترتيب المدرج في كل سلسلة، مما يعني أنه سيتعين عليك ضبط القواعد بالترتيب الصحيح. بمجرد إلحاق قواعد جديدة، ستتم إضافتها إلى نهاية قائمة القواعد. يمكنك إضافة قواعد جديدة إلى موضع قائمة معين عن طريق إدراجها باستخدام iptables -I <index> -command. ال <الفهرس> مخصص لرقم الطلب الذي ترغب في إدراج القاعدة في هذا الأمر. يمكنك استخدام الأمر التالي لفهم رقم الفهرس الذي تريد إدخاله:

sudo iptables -L --line-numbers

يُظهر الرقم الموجود في بداية كل سطر قاعدة الموضع في السلسلة. لإضافة قاعدة جديدة فوق قاعدة موجودة معينة، يجب عليك استخدام رقم الفهرس الخاص بتلك القاعدة الموجودة. على سبيل المثال، إذا كنت ترغب في إضافة قاعدة جديدة إلى أعلى السلسلة، فيجب عليك استخدام الأمر التالي برقم الفهرس 1:

sudo iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT

كيف يختلف iptables عن جدار الحماية؟

يعد كل من iptables وfirewalld أدوات عملية لإدارة جدران الحماية على أنظمة Linux المختلفة المصممة خصيصًا لتصفية الحزم (التصفية الثابتة). تصفية الحزم هي إستراتيجية جدار الحماية التي تمكن المستخدمين من التحكم في الوصول إلى شبكة معينة من خلال إدارة حزم المعلومات الواردة والصادرة. فهي إما تسمح لهم بالمرور أو ترفضهم بناءً على قواعد جدار الحماية المحددة مسبقًا حول بروتوكولات المصدر والوجهة والمنافذ وعناوين IP الخاصة بهم. توفر هذه القواعد آليات أمنية فعالة للغاية، مما يجعل تصفية حزم المعلومات دفاعًا رائعًا ضد الأجهزة الموجهة خارج الشبكة المحلية (LAN) الخاصة بالنظام.

لاحظ أنه تم تقديم جدار الحماية في البداية كبرنامج للتعامل مع iptables للمساعدة في تسهيل التنقل فيه على المستخدم. بعد تقديمنا لجدار الحماية وiptables، دعونا نقارنهما بمزيد من التفصيل.

iptables مقابل جدار الحماية: تكوين النظام

يستخدم Firewalld وiptables تكوينات مختلفة وإعدادات تخزين افتراضية. مع iptables، كل تغيير يعني حذف جميع القواعد القديمة وقراءة القواعد الجديدة، لذلك يجب إعادة تشغيل النظام. ومع ذلك، باستخدام جدار الحماية، لا يتم إعادة إنشاء القواعد؛ بدلاً من ذلك، يتم تطبيق الاختلافات والتعديلات التي تم إجراؤها لتغيير القواعد الحالية بحيث يمكنك رؤيتها تدخل حيز التنفيذ في وقت التشغيل.

iptables مقابل جدار الحماية: واجهة المستخدم

يستخدم جدار الحماية واجهة المستخدم الرسومية (GUI). ومع ذلك، يستخدم iptables واجهة سطر الأوامر (CLI)، والتي قد تكون صعبة بالنسبة لبعض الأشخاص للوصول إلى قواعد جدار حماية Linux kernel باستخدام iptables، مما يجعل جدار الحماية خيارًا أكثر وضوحًا. سيكون من الأفضل الأخذ في الاعتبار أن iptables لها وقت استجابة أقصر لأنك تستخدم الأوامر القصيرة فقط. وبغض النظر عن كل هذه الأمور جانبًا، فلكل منهما حالات الاستخدام الخاصة به، لذا اختر الحالة التي تشعر براحة أكبر في العمل معها.

الأفكار النهائية: تظهر iptables القواعد

Iptables عبارة عن أداة مساعدة لجدار الحماية مرنة للغاية تم إنشاؤها خصيصًا لأنظمة تشغيل Linux. لا يهم إذا كنت مهووسًا جديدًا بنظام Linux أو مسؤول نظام محترفًا؛ هناك طريقة ما يمكن أن تكون بها قواعد iptables مفيدة لك. تمثل هذه المقالة بشكل أساسي الأوامر الأساسية لأداة جدار الحماية هذه، بما في ذلك قواعد عرض iptables وإزالة قواعد iptables، بهدف مراجعة إمكانيات Linux بشكل موجز. بالإضافة إلى ذلك، يمكنك استخدام لدينا حلول استضافة Linux VPS للاستفادة من الإمكانات الحقيقية لنظام التشغيل الرائع هذا. في Cloudzy، نقدم العديد من خطط Linux VPS التي تعمل بنظام KVM والمناسبة لحالات استخدام متعددة، مثل استضافة الويب، أو نشر تطبيق ويب، أو حتى إعداد بيئة لتطوير التعليمات البرمجية واختبارها وأتمتتها.

التعليمات

كيفية إدراج جميع قواعد Linux iptables حسب المواصفات؟

إذا كنت تريد إدراج جميع قواعد iptables النشطة حاليًا حسب مواصفاتها أو وظائفها، فيمكنك القيام بذلك عن طريق الأمر iptables متبوعًا بالأمر -علم S. انتبه إلى الاستفادة من sudo الكلمة المفتاحية في هذه الحالة:

سودو iptables -S

كيفية إزالة قواعد iptables؟

لإزالة سلسلة معينة، مما سيؤدي إلى حذف جميع القواعد الموجودة في السلسلة، يجب عليك ذلك استخدم الخيار -F أو -flush واسم السلسلة. لنفترض أننا نريد حذف جميع القواعد الموجودة في سلسلة OUTPUT، فماذا نفعل؟ حسنًا، عليك تنفيذ هذا الأمر:

 سودو iptables -F الإخراج

كيف يعمل iptables في أوبونتو؟

يقارن جدار الحماية iptables حركة مرور الشبكة بمجموعة من القواعد. تحدد قواعد iptables خصائص الحزمة التي تتوافق مع القاعدة والإجراء الذي يجب اتخاذه في حالة تطابق الحزم. بالطبع، هناك العديد من الخيارات لتعيين الحزم التي تتوافق مع قاعدة معينة.

هل تدخل قواعد iptables حيز التنفيذ على الفور؟ لماذا؟

نعم، قواعد iptables تصبح سارية المفعول على الفور؛ لأن البرنامج النصي الخاص بك يُلحق بسلاسل INPUT وOUTPUT، وتتم إضافة قواعدك إلى نهاية تلك السلاسل.

يشارك

المزيد من المدونة

استمر في القراءة.

صورة عنوان Cloudzy لدليل MikroTik L2TP VPN، تظهر جهاز كمبيوتر محمول متصلاً بحامل الخادم عبر نفق رقمي متوهج باللونين الأزرق والذهبي مع أيقونات درع.
الأمن والشبكات

إعداد MikroTik L2TP VPN (مع IPsec): دليل RouterOS (2026)

في إعداد MikroTik L2TP VPN هذا، يتعامل L2TP مع النقل النفقي بينما يتعامل IPsec مع التشفير والتكامل؛ يمنحك الاقتران بينهما توافقًا أصليًا مع العميل دون الحاجة إلى عمر طرف ثالث

ريكسا سايروسريكسا سايروس 9 دقائق قراءة
نافذة طرفية تعرض رسالة تحذير SSH حول تغيير تعريف المضيف البعيد، مع عنوان Fix Guide والعلامة التجارية Cloudzy على خلفية باللون الأزرق المخضر الداكن.
الأمن والشبكات

تحذير: لقد تغير تعريف المضيف البعيد وكيفية إصلاحه

SSH هو بروتوكول شبكة آمن يقوم بإنشاء نفق مشفر بين الأنظمة. يظل شائعًا لدى المطورين الذين يحتاجون إلى الوصول عن بعد إلى أجهزة الكمبيوتر دون الحاجة إلى رسوميات

ريكسا سايروسريكسا سايروس 10 دقائق قراءة
رسم توضيحي لدليل استكشاف أخطاء خادم DNS وإصلاحه مع رموز التحذير والخادم الأزرق على خلفية داكنة لأخطاء تحليل اسم Linux
الأمن والشبكات

فشل مؤقت في تحليل الاسم: ماذا يعني وكيفية إصلاحه؟

أثناء استخدام Linux، قد تواجه فشلًا مؤقتًا في خطأ تحليل الاسم عند محاولة الوصول إلى مواقع الويب أو تحديث الحزم أو تنفيذ المهام التي تتطلب اتصالاً بالإنترنت.

ريكسا سايروسريكسا سايروس 12 دقيقة قراءة

هل أنت مستعد للنشر؟ من 2.48 دولارًا شهريًا.

سحابة مستقلة، منذ عام 2008. AMD EPYC، NVMe، 40 جيجابت في الثانية. استرداد الأموال خلال 14 يومًا.