كيفية تكوين جدار الحماية SLES 15 باستخدام firewall-cmd

قد تعمل خدمة ما على خادم SLES 15، ومع ذلك قد تواجه مشكلة انقطاع الاتصال من قبل العملاء البعيدين بسبب حظر جدار الحماية لحركة البيانات الواردة الجديدة. الحل عادةً هو تحديد منطقة جدار الحماية النشطة والسماح فقط للخدمة أو المنفذ الذي يحتاجه التطبيق. أداة سطر الأوامر الخاصة بـ SLES لهذا الغرض هي firewall-cmd...

يتبع هذا الدليل دليل الأمان والتحصين الخاص بنظام SLES 15 SP7 من SUSE، بالإضافة إلى مرجع أوامر firewalld، وقد تمت مراجعته في 7 أكتوبر 2026. قد تختلف حالات أو إعدادات جدار الحماية القديمة في حزم الخدمة السابقة وأنظمة SLES 12 المُحدَّثة. تُظهر صور الطرفية أمثلة توضيحية، وليست نتائج مُلتقطة من خادم حقيقي؛ استبدل أسماء الواجهات والمناطق والخدمات بالقيم الموجودة على جهازك.

1. تأكد من أن برنامج firewalld قيد التشغيل

تُوثّق SUSE أن برنامج firewalld مُثبّت ومُفعّل افتراضيًا على نظام SLES 15. يقوم YaST عادةً بتشغيله بعد التثبيت ويضع واجهات الشبكة في publicالمنطقة الافتراضية. مع ذلك، يُنصح بفحص الجهاز بدلًا من افتراض عدم تغيير الإعدادات الافتراضية. نفّذ هذه الأوامر باستخدام حساب مُصرّح له باستخدامها sudo:

sudo systemctl status firewalld
sudo firewall-cmd --state

يجب أن يُبلغ مدير الخدمة عن حالة firewalldالخدمة النشطة، ويجب firewall-cmd --stateأن يُبلغ عن runningحالة الخدمة المتوقفة. إذا كانت الخدمة مثبتة ولكنها متوقفة، فقم بتشغيلها وتفعيلها عند بدء التشغيل.

sudo systemctl enable --now firewalld

في حال firewall-cmdعدم وجودها، تحقق من firewalldتثبيت الحزمة وتوفرها في مستودعات SUSE المُفعّلة. لا تقم بتثبيت أو استبدال مكونات جدار الحماية بشكل عشوائي على خادم مُدار.

مثال على طرفية SLES للتحقق من حالة خدمة firewalld وعرض قائمة المناطق العامة النشطة على eth0
يقوم الجهاز الطرفي النموذجي بفحص حالة جدار الحماية ويعرض مثالاً لمنطقة عامة نشطة مع واجهة eth0.

2. ابحث عن المنطقة التي تحمي واجهة الخادم

يُصنّف Firewalld القواعد في مناطق ، تُمثّل مستويات ثقة مُختلفة. publicتُستخدم المنطقة عادةً للشبكات غير الموثوقة. لا تُفتح الخدمة تلقائيًا في جميع المناطق إذا تم فتحها في منطقة مُعينة، لذا قد يؤدي وضع قاعدة صحيحة في منطقة خاطئة إلى جعل تطبيقك غير قابل للوصول.

sudo firewall-cmd --get-active-zones
sudo firewall-cmd --get-default-zone
sudo firewall-cmd --zone=public --list-all

استخدم مخرجات الأمر active-zone للعثور على المنطقة المتصلة بالواجهة التي تحمل حركة مرور العميل. قد يكون اسم الواجهة eth0، ens160أو ، أو اسمًا آخر. إذا كنت بحاجة إلى فحص واجهة واحدة، فقم بتشغيل الأمر التالي:

sudo firewall-cmd --get-zone-of-interface=eth0

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

مثال على طرفية SLES يوضح المنطقة الافتراضية العامة، والواجهة eth0، وخدمة SSH، وقواعد المنطقة الحالية
تُظهر قائمة المناطق الواجهات والخدمات المرتبطة بالمنطقة العامة النموذجية قبل أي تغييرات.

3. اختر خدمة محددة أو منفذًا معينًا

خدمة جدار الحماية (firewalld) هي تعريف مُسمى قد يتضمن منفذًا واحدًا أو أكثر وبروتوكولات. عادةً ما يكون من الأسهل السماح لخدمة معروفة بالاسم بدلاً من حفظ رقم منفذها. تحقق من قائمة الخدمات المُثبتة وافحص التعريف قبل استخدامه.

sudo firewall-cmd --get-services
sudo firewall-cmd --info-service=http

بالنسبة لخادم الويب، httpتغطي الخدمة المُعرّفة مسبقًا عادةً منفذ TCP 80؛ httpsبينما تُعدّ خدمة TLS خدمةً منفصلةً لحركة مرور الويب. توضح وثائق SLES نفس الأسلوب القائم على الخدمات مع أمثلة مثل DHCP. استخدم الخدمة الفعلية التي يتطلبها تطبيقك، وتحقق من تعريف الخدمة محليًا إذا كنت غير متأكد.

إذا لم تكن هناك خدمة مُعرّفة مسبقًا مناسبة، فافتح المنفذ والبروتوكول المطلوبين فقط. على سبيل المثال، يمكن السماح لتطبيق يستمع على منفذ TCP رقم 8443. --add-port=8443/tcpلا يؤدي فتح منفذ في جدار الحماية إلى تشغيل التطبيق أو ربطه بالشبكة أو تأمينه؛ تأكد من تهيئة الخدمة نفسها للاستماع على العنوان المقصود.

اختبر قاعدة مؤقتة أولاً

لإجراء اختبار قصير، طبّق قاعدة على إعدادات وقت التشغيل. تُطبّق تغييرات وقت التشغيل فورًا، ولكنها تُفقد بعد إعادة تحميل جدار الحماية أو إعادة تشغيل الخدمة ما لم تحفظها بشكل دائم. يدعم Firewalld قاعدة محدودة المدة، وهي مفيدة عندما تريد انتهاء صلاحية الاختبار تلقائيًا.

sudo firewall-cmd --zone=public --add-service=http --timeout=5m

لإجراء اختبار منفذ لمرة واحدة، استخدم --add-port=8443/tcp --timeout=5mبدلاً من --add-service=http. حدد المنطقة التي تحتوي فعليًا على واجهة الخادم؛ لا تقم بالنسخ publicإذا كان مضيفك يستخدم منطقة أخرى.

مثال على محطة طرفية SLES: إضافة خدمة HTTP بشكل دائم إلى المنطقة العامة وإعادة تحميل جدار الحماية.
يقوم الأمر النموذجي بإضافة خدمة HTTP إلى التكوين الدائم للمنطقة العامة، ثم يعيد تحميل firewalld لتطبيقها.

4. احفظ القاعدة وأعد تحميل جدار الحماية

عندما تكون مستعدًا للاحتفاظ بقاعدة، أضفها إلى الإعدادات الدائمة. يسمح المثال التالي باستخدام بروتوكول HTTP في المنطقة العامة:

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --reload

بالنسبة لبروتوكول HTTPS، كرر الأمر الدائم مع --add-service=https. أما بالنسبة لمنفذ تطبيق مخصص، فاستخدم أمرًا مثل:

sudo firewall-cmd --permanent --zone=public --add-port=8443/tcp
sudo firewall-cmd --reload

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

يوجد أيضًا سير عمل يعتمد على وقت التشغيل أولًا: اختبر القاعدة أثناء التشغيل، وتأكد من عمل الخدمة، ثم أضف نفس القاعدة --permanentوأعد تحميلها. تجنب استخدام --runtime-to-permanentهذه الطريقة كاختصار إلا إذا كنت تنوي حفظ جميع قواعد وقت التشغيل الحالية، بما في ذلك التغييرات المؤقتة التي أجراها مسؤولون آخرون أو برامج أخرى.

كيف يمكنك التحقق من نجاح التغيير؟

تحقق من كلٍّ من قاعدة التشغيل النشطة والقاعدة المحفوظة. بالنسبة لخدمة HTTP في المنطقة العامة، شغّل الأمر التالي:

sudo firewall-cmd --zone=public --query-service=http
sudo firewall-cmd --permanent --zone=public --list-services
sudo firewall-cmd --check-config

يجب أن تُرجع الاستعلامات قيمةً yes، ويجب أن تتضمن قائمة الخدمات الدائمة الخدمة المطلوبة http، ويجب أن يكتمل فحص التكوين بنجاح. بالنسبة لقاعدة المنفذ، استخدم الأمرَين `------` --query-port=8443/tcpو` --list-ports------` في الأوامر المكافئة. اختبر أيضًا من عميل منفصل يمكنه الوصول إلى الخادم؛ إذ يؤكد استعلام جدار الحماية المحلي وجود القاعدة، وليس صحة نظام أسماء النطاقات (DNS) أو التوجيه أو جدران الحماية الخارجية أو مستمع التطبيق.

مثال على طرفية SLES للتأكد من السماح ببروتوكول HTTP في وقت التشغيل والتكوينات الدائمة، والتحقق من تكوين جدار الحماية firewalld
تتحقق أوامر التحقق من قاعدة الخدمة النشطة، وقائمة الخدمات المحفوظة، وبنية التكوين الدائمة.

المشاكل الشائعة والتصحيحات الآمنة

  • القاعدة موجودة، لكن الاتصالات لا تزال تنتهي بانتهاء المهلة: تأكد من إضافتها إلى المنطقة المرتبطة بواجهة المستخدم. ثم تحقق من أن التطبيق يستمع على العنوان والمنفذ المتوقعين، وتحقق من أي جدار حماية للشبكة في اتجاه المنبع.
  • كانت القاعدة تعمل حتى إعادة التحميل: ربما تمت إضافتها فقط أثناء التشغيل. أضفها وأعد --permanentالتحميل، ثم استعلم عن كلا التكوينين.
  • الوصول إلى SSH مُعرّض للخطر: تحقق من خدمات المنطقة النشطة والخدمات الدائمة قبل إعادة التحميل. إذا كان SSH مطلوبًا وغير متوفر، فأضف الخدمة sshإلى المنطقة الصحيحة بشكل دائم قبل إعادة التحميل. لا تُغلق جلسة التحكم عن بُعد الحالية حتى تختبر اتصالًا ثانيًا.
  • أنت بصدد الترقية من إصدار أقدم من SUSE: استبدل SLES 15 برنامج SuSEfirewall2 ببرنامج firewalld. تحذر SUSE من أن ملفات تعريف جدار الحماية القديمة تتمتع بتوافق محدود مع الإصدارات السابقة؛ لذا يُرجى مراجعة دليل الترقية بدلاً من افتراض ترجمة جميع القواعد القديمة.
  • يبدو أن القواعد متعارضة: فبرنامج firewalld مُصمم لإدارة قواعد جدار الحماية الخاص بالجهاز المضيف. وتحذر SUSE من تعديل القواعد نفسها بشكل منفصل باستخدام أدوات مثل iptables، مما قد يُربك الإعدادات النشطة.

لإزالة خدمة أو منفذ دائم غير ضروري، استخدم الخيار المطابق --remove-serviceأو --remove-portالخيار مع --permanent، ثم أعد التحميل وتحقق مرة أخرى. على سبيل المثال، قم بإزالة HTTP من المنطقة العامة باستخدام sudo firewall-cmd --permanent --zone=public --remove-service=httpمتبوعًا بـ sudo firewall-cmd --reload.

تحقق بنفسك قبل الانتهاء

  • firewalldيتم تشغيله ويبدأ عند بدء تشغيل الخادم.
  • لقد حددت المنطقة النشطة للواجهة التي تستقبل حركة البيانات.
  • يُسمح فقط بالخدمة أو المنفذ الذي يحتاجه التطبيق في تلك المنطقة.
  • لا يزال مسموحاً بالإدارة عن بعد قبل وبعد إعادة التحميل.
  • تظهر القاعدة في وقت التشغيل والاستعلامات الدائمة، ويجتاز فحص التكوين بنجاح.
  • يؤكد اختبار الاتصال من مضيف آخر إمكانية الوصول إلى التطبيق.

للحصول على تفاصيل خاصة بالإصدار، راجع دليل جدار الحماية SUSE SLES 15 SP7 ، ودليل firewall-cmd ، وملاحظات firewalld حول وقت التشغيل والتكوين الدائم وفتح منفذ أو خدمة .

اترك تعليقاً

إصلاح مشكلة تمزق الشاشة على معالجات رسومات Intel في نظام Pardus Linux: دليل عملي يركز على النتائج

إصلاح مشكلة تمزق الشاشة على معالجات رسومات Intel في نظام Pardus Linux: دليل عملي يركز على النتائج

قم بإصلاح مشكلة تمزق الشاشة في معالجات رسومات Intel في نظام Pardus Linux عن طريق التحقق من X11 مقابل Wayland، وإعدادات المُركِّب، ومعدل التحديث، وبرنامج تشغيل Xorg النشط، وTearFree فقط عند الاقتضاء.

كيفية تكوين جدار الحماية SLES 15 باستخدام firewall-cmd

كيفية تكوين جدار الحماية SLES 15 باستخدام firewall-cmd

قم بتكوين firewalld على SLES 15: تحقق من المناطق، واسمح بالخدمات أو المنافذ، واحفظ القواعد الدائمة، وأعد التحميل بأمان، وتحقق من الوصول.

دليل تهيئة التحديث المباشر لنظام SLES: تطبيق تحديثات النواة بدون إعادة تشغيل النظام

دليل تهيئة التحديث المباشر لنظام SLES: تطبيق تحديثات النواة بدون إعادة تشغيل النظام

قم بتمكين التصحيح المباشر للنواة على SLES 15 SP7، وقم بتطبيق الإصلاحات المدعومة دون إعادة التشغيل، وتحقق من التصحيحات النشطة، وافهم متى لا تزال إعادة تشغيل النواة مطلوبة.

كيفية تفعيل وضع FIPS على خادم SUSE Linux Enterprise Server 15

كيفية تفعيل وضع FIPS على خادم SUSE Linux Enterprise Server 15

قم بتمكين وضع FIPS على SLES 15 باستخدام أداة الإعداد المدعومة من SUSE، وأعد التشغيل بأمان، وتحقق من حالة سياسة النواة والتشفير، وتحقق من حدود الشهادة.

كيفية تثبيت جوجل كروم على نظام التشغيل جوجل روم دون الإخلال بسياسات الأمان

كيفية تثبيت جوجل كروم على نظام التشغيل جوجل روم دون الإخلال بسياسات الأمان

قم بتثبيت متصفح جوجل كروم على نظام التشغيل Gooroom OS بأمان باستخدام حزم .deb الرسمية، وAPT، وفحوصات السياسات، وإرشادات التحديث، وإصلاحات الأجهزة المُدارة.

كيفية تصدير سجلات نظام SLES إلى خادم Syslog بعيد بشكل آمن

كيفية تصدير سجلات نظام SLES إلى خادم Syslog بعيد بشكل آمن

إعادة توجيه سجلات نظام SLES بشكل آمن إلى خادم syslog بعيد باستخدام rsyslog وشهادات TLS والتحقق من اسم النظير وقوائم الانتظار والتحقق من الصحة والاختبار.

تكامل Active Directory مع SSSD في SLES 15: دليل خطوة بخطوة

تكامل Active Directory مع SSSD في SLES 15: دليل خطوة بخطوة

قم بربط نظام SLES 15 بـ Active Directory باستخدام SSSD عبر YaST. قم بإعداد DNS والوقت، وتكوين تسجيلات دخول المجال، والتحقق من Kerberos، ومقارنة SSSD وWinbind وrealmd.

Fix Realtek RTL8821CE Wi-Fi Driver Issues on Pardus Linux

Fix Realtek RTL8821CE Wi-Fi Driver Issues on Pardus Linux

Fix RTL8821CE Wi-Fi on Pardus Linux by checking the built-in rtw88 driver, Realtek firmware, rfkill, NetworkManager, and safe fallback options.

إصلاح مشكلة "فشل مؤقت في حل أسماء النطاقات" في دبيان 12 باستخدام systemd-resolved

إصلاح مشكلة "فشل مؤقت في حل أسماء النطاقات" في دبيان 12 باستخدام systemd-resolved

تشخيص وإصلاح حالات فشل تحليل DNS في Debian 12 باستخدام systemd-resolved، بما في ذلك resolv.conf و NetworkManager و networkd و cache و verification.

كيفية تثبيت نظامي التشغيل Pardus Linux وWindows 11 بأمان

كيفية تثبيت نظامي التشغيل Pardus Linux وWindows 11 بأمان

قم بتثبيت Pardus 25.2 بجانب Windows 11 عن طريق النسخ الاحتياطي، وتقليص حجم وحدة تخزين Windows، والتمهيد من USB UEFI، وحماية أقسام EFI والاسترداد الحالية.