في Linux يعتمد جدار الحماية على التوزيعة: ufw في Ubuntu وDebian، وfirewalld في AlmaLinux وRocky. كلاهما يؤدي المهمة نفسها، والذي يختلف هو الأوامر.
قبل كل شيء: إذا كنت ستفعّل جدار الحماية لأول مرة، فافتح المنفذ 22 (SSH) قبل تشغيله. فهذه أسرع طريقة وأسخفها لتحرم نفسك من الدخول إلى خادمك. وإن حدث لك ذلك، فلا يزال بإمكانك الدخول عبر تبويب VNC في لوحة التحكم.
Ubuntu وDebian (ufw)
# أولًا وقبل كل شيء، ودائمًا
ufw allow 22/tcp
# منفذك، بالبروتوكولين
ufw allow 30120/tcp
ufw allow 30120/udp
# نطاق من المنافذ
ufw allow 7777:7778/udp
# التفعيل (إن لم يكن مفعّلًا) وعرض النتيجة
ufw enable
ufw status numbered
لحذف قاعدة، اعرف رقمها من ufw status numbered ثم احذفها باستخدام ufw delete 3. ويصلح أيضًا ufw delete allow 30120/udp.
AlmaLinux وRocky (firewalld)
# أولًا وقبل كل شيء، ودائمًا
firewall-cmd --permanent --add-service=ssh
# منفذك، بالبروتوكولين
firewall-cmd --permanent --add-port=30120/tcp
firewall-cmd --permanent --add-port=30120/udp
# نطاق من المنافذ
firewall-cmd --permanent --add-port=7777-7778/udp
# التطبيق والتحقق
firewall-cmd --reload
firewall-cmd --list-all
الخيار --permanent هو ما يجعل القاعدة تبقى بعد إعادة التشغيل؛ ومن دونه تضيع. أما --reload فهو ما يطبّقها: فمن دون إعادة التحميل لا يحدث شيء. ولحذفها، استخدم الأمر نفسه مع --remove-port.
التحقق من أن خادمك يستمع
ومع تشغيل خادم الألعاب:
ss -lntup | grep 30120
يجب أن ترى سطرًا فيه LISTEN (لـ TCP) أو UNCONN (لـ UDP، وهذا طبيعي). وإن لم يظهر شيء، فجدار الحماية ليس مشكلتك: الخادم لا يعمل أو يستمع على منفذ آخر.
انتبه أيضًا إلى العنوان: إذا ظهر 127.0.0.1:30120 بدلًا من 0.0.0.0:30120، فخادمك لا يقبل إلا الاتصالات المحلية، ولن يدخل أحد مهما فتحت من قواعد. ويُصلَح ذلك في إعدادات اللعبة، لا في جدار الحماية.
المنافذ التي لا ينبغي أن تفتحها
- منفذ قاعدة البيانات (3306 لـ MySQL، و5432 لـ PostgreSQL). إذا كانت اللعبة وقاعدة البيانات على الجهاز نفسه، فلا حاجة إلى فتحه للإنترنت: فهما يتصلان عبر
localhost. وقاعدة MySQL مفتوحة للعالم دعوةٌ صريحة للمهاجمين. - لوحات الإدارة مثل لوحة txAdmin. والأفضل الوصول إليها عبر نفق SSH:
ssh -L 40120:localhost:40120 root@IP_ADDRESSثم تفتحها في متصفحك علىlocalhost:40120. - منفذ RCON، إلا إذا كنت تحتاج إليه فعلًا من الخارج. وإن فتحته، فاجعل كلمة المرور طويلة وفريدة.
إذا ظل لا يعمل
- هل الخادم يستمع، وعلى
0.0.0.0؟ استخدم أمرssالسابق. - هل البروتوكول صحيح؟ كثير من الألعاب تعمل عبر UDP؛ افتح البروتوكولين وتخلّص من الشك.
- هل تختبر من الخارج؟ فمن الخادم نفسه ينجح الاتصال دائمًا.
- راجع الفلاتر في تبويب الأمان لخدمتك في لوحة التحكم: هناك توجد تصفية AntiDDoS للشبكة، وهي طبقة مختلفة عن جدار حماية النظام.