VpnHood!

الاتصال عبر اسم نطاق

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

ما الذي يوفره استخدام النطاق؟

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

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

قبل أن تبدأ

  • نطاق رئيسي أو فرعي تتحكم فيه، مثل vpn.example.com. استخدم اسماً محدداً وتجنب نطاقات البديل (wildcard).
  • سجل DNS يوجه النطاق إلى عنوان IP الخاص بالخادم: سجل A، وسجل AAAA إذا كان الخادم يدعم IPv6. وجّه السجل مباشرة إلى الخادم وتجنب المرور عبر بروكسي شبكات CDN.
  • في الخادم المُدار، يجب فتح منفذ TCP 80 طوال فترة استخدام النطاق؛ للتحقق من الشهادة وتجديدها تلقائياً كل بضعة أشهر.

على خادم مُدار

  1. في VpnHood! MANAGER، افتح Server Farms ثم اختر المزرعة. ضمن SSL / TLS Certificates، اضغط على Add، وأدخل النطاق في خانة Domain Name ثم اختر Create. سيُنشئ MANAGER شهادة موقعة ذاتياً لهذا النطاق ويفتحها مباشرة.
  2. عدّل Signing واختر AutoSign. سيطلب MANAGER شهادة من Let's Encrypt، والتي ستتحقق من النطاق عبر خادمك على منفذ TCP 80. عند الانتهاء، ستظهر حالة Signature كـ CA Signed، وسيتولى MANAGER تجديد الشهادة تلقائياً قبل انتهائها.
  3. بعد ذلك، عدّل Visibility واختر PublicInToken. سيصبح النطاق متضمناً في كل مفتاح تابع للمزرعة، وتتحول الشهادة السابقة للمزرعة إلى Public.

ستتضمن المفاتيح التي تنسخها من MANAGER اسم النطاق تلقائياً. وستحصل التطبيقات التي تستخدم مفاتيح أقدم على التحديث تلقائياً عند الاتصال، حيث يكون خيار Push token to clients مفعلاً افتراضياً. احتفظ بشهادة المزرعة السابقة حتى يتم التحديث، إذ تعتمد المفاتيح القديمة عليها لتعمل.

إذا تعذر التحقق، سيوضح قسم Signing السبب، وبعد عدة محاولات فاشلة سيعود الخيار إلى Manual. صحح سجل DNS أو افتح المنفذ المطلوب، ثم اختر AutoSign مجدداً.

للتحقق، افتح المزرعة: ستجد اسم النطاق يظهر أولاً ضمن Access Points.

تحتوي صفحة الخادم المستقل أيضاً على قائمة SSL / TLS Certificates. ولكن الشهادة هناك ترتبط بهذا الخادم وحده، لذا أضف النطاق إلى المزرعة مباشرة لتستخدمه مفاتيحك.

على خادم مستقل

لا يمكن للخادم المستقل الحصول على شهادة تلقائيًا. احصل على شهادة لنطاقك من إحدى هيئات الشهادات (CA) بصيغة ملف PFX متضمنًا مفتاحه الخاص، واستبدل به /opt/VpnHoodServer/storage/access/certificates/default.pfx بالاسم نفسه.

ثم أدخل كلمة مرور الملف في SslCertificatesPassword واضبط IsValidHostName على true، وكلاهما تحت FileAccessManager في /opt/VpnHoodServer/storage/appsettings.json. لا يتوفر هذا الملف افتراضيًا عند التثبيت الجديد: أنشئه، ومن حينها سيستخدمه الخادم بديلًا عن الإعدادات الأساسية.

الملف كاملًا، مع كتابة كلمة مرور شهادتك بدلًا من المثال

{
  "FileAccessManager": {
    "SslCertificatesPassword": "your-pfx-password",
    "IsValidHostName": true
  },
  "ServerConfig": {
    "LogAnonymizer": true,
    "AddListenerIpsToNetwork": "*"
  },
  "LogLevel": "Information"
}

يستخرج الخادم اسم النطاق تلقائيًا من الشهادة نفسها، لذا لا حاجة لأي إعداد إضافي له.

أعد تشغيل الخادم عبر sudo systemctl restart VpnHoodServer، أو عبر sudo docker restart VpnHoodServer عند استخدام Docker. إذا كانت كلمة المرور غير صحيحة، فلن يبدأ الخادم بالعمل، وستظهر الرسالة The server could not start. في سجله.

ستتوقف المفاتيح التي تم إنشاؤها قبل هذا التغيير عن العمل لاعتمادها على الشهادة القديمة. أعد طباعة كل مفتاح وشاركه مجددًا مع مستخدميك: ستظل خياراته وبيانات استخدامه كما هي دون تغيير. معرّف المفتاح هو اسم ملفه في /opt/VpnHoodServer/storage/access، بدون .token2.

استعرض قائمة المفاتيح، ثم أعد طباعة المفتاح باستخدام معرّفه

sudo ls /opt/VpnHoodServer/storage/access
sudo /opt/VpnHoodServer/vhserver print 2b9d4a6e-1c3f-4e8a-9b7d-5f0e8c2a1d34

في Docker، شغّل الأمر ذاته عبر sudo docker exec VpnHoodServer /app/vhsupervisor، تمامًا كما هو الحال مع vhserver gen.

تحتوي المفاتيح الجديدة على اسم النطاق ولا تعتمد مباشرة على الشهادة ذاتها، لذا ستستمر في العمل دون انقطاع عند تجديد الشهادة: ما عليك سوى وضع الملف الجديد وإعادة تشغيل الخادم.

الخطوات التالية