المدوّنة · الاستضافة وcPanel

إنشاء PTR و Reverse DNS: دليل شامل لضمان وصول رسائل البريد وحماية سمعة الخادم

· 6 دقائق قراءة

إنشاء PTR و Reverse DNS: دليل شامل لضمان وصول رسائل البريد وحماية سمعة الخادم

إذا قمت بإعداد خادم بريد جديد أو إرسال رسائل بريد إلكتروني من موقعك، وفوجئت بأن كل رسائلك تنتهي فوراً في مجلد الرسائل غير المرغوب فيها (Spam/Junk)، أو الأسوأ من ذلك: رفض الرسائل برسالة خطأ مثل 450 4.7.1 Client host rejected: cannot find your reverse hostname، فإن المتهم الأول هو غياب أو خطأ في إعداد سجل PTR (Pointer Record) أو ما يعرف بـ Reverse DNS (نظام أسماء النطاقات العكسي).

تعتبر كبرى شركات البريد العالمية (مثل Google Gmail و Microsoft Outlook و Yahoo Mail) سجل PTR بمثابة "بطاقة الهوية الوطنية" لخادمك على شبكة الإنترنت. بدون هذا السجل، يُعامل خادمك كأنه كمبيوتر مخترق أو خادم مشبوه يرسل رسائل عشوائية.

مقارنة بين نظام DNS العادي والـ DNS العكسي سجل PTR
مقارنة DNS: الـ Forward DNS يترجم الدومين إلى IP، بينما الـ Reverse DNS (PTR) يترجم الـ IP إلى الدومين

ما هو الفرق بين Forward DNS و Reverse DNS؟#

لفهم الفكرة ببساطة وبدون تعقيد:

1. نظام DNS العادي (Forward DNS)#

يقوم بما يشبه "دليل الهاتف": تعطيه اسم الشخص (اسم النطاق example.com)، فيعطيك رقم هاتفه (عنوان IP مثل 192.0.2.10) عبر سجلات A Record أو AAAA. هذا هو المسار الطبيعي لتصفح المواقع.

2. نظام DNS العكسي (Reverse DNS / PTR)#

يعمل في الاتجاه المعاكس تماماً: تعطيه رقم الهاتف (عنوان IP الخادم 192.0.2.10)، فيبحث في جداول الإنترنت العكسية ليعيد لك اسم النطاق الرسمي المرتبط بهذا الخادم (مثل mail.example.com). السجل المسؤول عن هذه العملية يسمى سجل المؤشر أو PTR Record.

مخطط فحص خوادم البريد العالمية لسجل PTR للتحقق من هوية الراسل
التحقق من البريد: خوادم الاستقبال تجري فحصاً عكسياً للـ IP للتأكد من هويتك قبل قبول الرسالة

لماذا تصر خوادم Gmail و Outlook على وجود سجل PTR؟#

أي شخص يمكنه استئجار خادم وتوجيه أي نطاق إليه، أو ادعاء أنه يرسل نيابة عن بنك أو شركة كبرى عبر بروتوكول SMTP. ولكن عندما يستقبل خادم Gmail اتصالاً من الخادم 192.0.2.10 يزعم أنه mail.example.com، يقوم Gmail فوراً بإجراء فحص أمني ثلاثي صارم يسمى FCrDNS (Forward-Confirmed Reverse DNS):

  1. يستعلم Gmail عن سجل PTR لعنوان IP الخادم المتصل (192.0.2.10)، فيجد أنه يشير إلى mail.example.com.
  2. ثم يستعلم Gmail عن سجل A للنطاق mail.example.com، ليرى هل يعيد نفس عنوان IP (192.0.2.10) أم لا.
  3. إذا تطابقت النتيجتان في الذهاب والإياب (Round-trip Verification)، يتأكد Gmail أن مالك الـ IP ومالك الدومين هما نفس الكيان الموثوق، ويقبل الرسالة في صندوق الوارد (Inbox).

الخطأ الشائع الأكبر: أين يتم إنشاء سجل PTR؟#

تنبيه حاسم: سجل PTR لا يُضاف داخل لوحة cPanel ولا داخل Cloudflare ولا عند مسجل النطاقات (مثل Namecheap أو GoDaddy)!

السلطة على عنوان IP ليست مملوكة لمسجل الدومين، بل هي مملوكة للجهة التي تمتلك كتلة عناوين IP (أي شركة الاستضافة أو مركز البيانات الذي تستأجر منه خادمك، مثل Hetzner أو OVH أو DigitalOcean أو AWS أو Contabo).

لذلك، يجب دائماً ضبط سجل PTR من لوحة تحكم شركة الاستضافة نفسها (قسم إدارة الشبكة وعناوين IP التابع للخادم).

خطوات ضبط سجل PTR خطوة بخطوة#

الخطوة 1: اختيار اسم النطاق المؤهل بالكامل (FQDN)#

اختر اسماً فرعياً مخصصاً للخادم وخدمات البريد، وأشهره: mail.yourdomain.com أو server1.yourdomain.com.

الخطوة 2: إنشاء سجل A في إدارة DNS لنطاقك#

قبل ضبط PTR، اذهب إلى لوحة إدارة DNS لدومينك (مثلاً في Cloudflare أو مسجل النطاق)، وأنشئ سجل A عادي:

  • النوع: A
  • الاسم (Name): mail
  • القيمة (IPv4): عنوان IP خادمك الحقيقي.
  • حالة البروكسي (في Cloudflare): يجب إيقاف البروكسي (DNS Only / سحابة رمادية)، لأن حركة بروتوكول البريد لا تمر عبر بروكسي Cloudflare المجاني.

الخطوة 3: تعيين سجل PTR في لوحة تحكم مزود السيرفر#

ادخل إلى لوحة تحكم خادمك (VPS أو Dedicated):

  • في Hetzner: ادخل إلى السيرفر -> Networking -> اضغط على النقاط الثلاث بجوار IP واكتب في حقل Reverse DNS اسم النطاق: mail.yourdomain.com.
  • في DigitalOcean: من قسم Networking -> اختر Floating IPs أو Droplet واضغط على خيار Edit PTR.
  • في OVH: اذهب إلى قسم IP -> اختر الـ IP واضغط على خيار Modify Reverse.
  • في الاستضافات التقليدية: إذا لم تجد خياراً في اللوحة، افتح تذكرة دعم فني واكتب لهم: "Please set rDNS / PTR for IP: [ضع الآيبي] to [mail.yourdomain.com]".

الخطوة 4: مطابقة اسم المضيف (Hostname) داخل الخادم#

يجب أن يتطابق اسم الخادم الداخلي مع نفس اسم الـ PTR. افتح سطر الأوامر ونفذ:

# ضبط اسم المضيف
sudo hostnamectl set-hostname mail.yourdomain.com

# التأكد من التغيير
hostname -f

ثم افتح ملف /etc/hosts وتأكد من وجود سطر يربط الـ IP بالاسم الجديد:

sudo nano /etc/hosts

أضف أو عدل السطر:

192.0.2.10 mail.yourdomain.com mail

كيفية فحص والتحقق من صحة سجل PTR#

يستغرق انتشار سجل PTR عادةً بين ساعتين إلى 24 ساعة عبر الإنترنت. يمكنك التحقق منه بدقة من داخل الطرفية عبر أداة dig بخيار -x المخصص للاستعلام العكسي:

dig -x 192.0.2.10 +short

إذا كان الإعداد صحيحاً، سيعيد لك الأمر اسم الدومين متبوعاً بنقطة نهائية:

mail.yourdomain.com.

أو باستخدام أمر host البسيط:

host 192.0.2.10

المخرجات المتوقعة:

10.2.0.192.in-addr.arpa domain name pointer mail.yourdomain.com.

فهم البنية الخاصة: ما هو نطاق in-addr.arpa؟#

ستلاحظ في مخرجات الاستعلام العكسي عبارة in-addr.arpa. هذا هو النطاق المخصص تاريخياً في بنية الإنترنت لإدارة العناوين العكسية. يقوم نظام DNS بقلب أرقام الـ IP؛ فالعنوان 192.0.2.10 يبحث عنه النظام فعلياً كأنه نطاق باسم: 10.2.0.192.in-addr.arpa. بالنسبة لـ IPv6 يتم استخدام النطاق ip6.arpa.

حلول لمشاكل شائعة عند ضبط PTR#

1. رسالة الخطأ: «450 4.7.1 Client host rejected: cannot find your reverse hostname»#

تعني أن خادم البريد المستقبل قام بالاستعلام عن IP خادمك ولم يجد أي سجل PTR مسجل له. هذا نص الرفض في Postfix عند تفعيل القيد reject_unknown_reverse_client_hostname، ورمزه الافتراضي 450 (رفض مؤقت يعيد خادمك المحاولة بعده) لا 550؛ فالرمز يحدده المعامل unknown_client_reject_code وقيمته الافتراضية 450، ولا يظهر 550 إلا إذا غيّره مدير الخادم المستقبل. الحل: اضبط PTR في لوحة مركز البيانات فوراً وانتظر انتشار السجل.

2. مشكلة عدم التطابق (HELO does not match rDNS)#

يقوم خادم البريد (مثل Postfix أو Exim في cPanel) بالتعريف عن نفسه عند بدء الاتصال عبر تحية HELO/EHLO. إذا كان السيرفر يحيي باسم localhost أو اسم مختلف عن الـ PTR المسجل، سترفض الخوادم رسائلك:

  • في خوادم cPanel & WHM: ادخل إلى WHM -> Networking Setup -> Change Hostname واجعله mail.yourdomain.com.
  • في خوادم Postfix العادية: عدل ملف /etc/postfix/main.cf وتأكد من أن السطر التالي صحيح:
    myhostname = mail.yourdomain.com
    ثم أعد تشغيل الخدمة: sudo systemctl restart postfix.

المصادر#

التعليقات

كن أول من يشارك رأيه أو تجربته.

أضف تعليقاً أو سؤالاً

سجّل الدخول لتعجب بالتعليقات المفيدة وترفعها لأعلى النقاش. سجّل الدخول

لا يُنشر، ولا نرسل إليه شيئاً.

يظهر التعليق بعد مراجعته. الروابط لا تُفعَّل.

تبني موقعاً عربياً؟

سكربتات وقوالب وإضافات وخوادم — مصمّمة للمواقع العربية.

تصفّح المنتجات