تعيين عناوين IP لخادمك
يحدد مفتاح الوصول للتطبيقات العنوان الذي تتصل به. يكتشف الخادم ذلك تلقائياً في العادة، ولكن على الأجهزة التي تمتلك أكثر من عنوان IP واحد، قد تحتاج لتعيينه يدوياً: العنوان الذي يستمع إليه الخادم، والعنوان المضمن في المفاتيح.
كيف يحدد الخادم عنوانه تلقائياً
بشكل افتراضي، يستمع الخادم إلى كل عناوين الجهاز عبر منفذ TCP رقم 443.
بالنسبة للمفاتيح، يكتشف الخادم عنوانه عبر حركة المرور الصادرة: يسأل خدمة ويب عن العنوان الصادرة منه تلك الحركة. وفي الخوادم المُدارة، يقوم VpnHood! MANAGER بالإجراء نفسه عبر Automatic Configuration، ويضبط نقاط وصول الخادم لتطابقه. وتكون هذه الميزة مفعّلة تلقائياً لكل خادم جديد.
تحدد هذه الطريقة العنوان الصحيح في معظم الأجهزة. اضبطه يدوياً في الحالات التالية:
- عندما يرسل الجهاز حركة المرور من عنوان مختلف عن العنوان المخصص لاتصال المستخدمين، كما في حالة عنوان IP صادر منفصل؛ إذ ستكتشف الخدمة عنوان الخروج بدلاً من عنوان الاتصال.
- عندما يمتلك الجهاز أكثر من عنوان IP عام، وتريد تضمين عنوان محدد داخل المفاتيح.
- عند فشل عملية الاستعلام، كأن يتعذر على الجهاز الوصول إلى خدمة الويب. في هذه الحالة، لن يعمل الخادم المستقل، وسيظهر في سجله:
PublicEndPoints has not been configured properly.
على خادم مُدار
في VpnHood! MANAGER، افتح Servers، وحدد الخادم، ثم اعثر على Access Points الخاصة به. تمثل كل نقطة وصول عنوانًا واحدًا للخادم، إلى جانب منافذه.
203.0.113.10، إلى المفاتيح. أما العنوان القديم، 198.51.100.20، فيُستبعد منها، مع استمرار الخادم في الاستماع إليه من أجل التطبيقات التي تحتفظ بمفتاح قديم.
لضبطها بنفسك، أوقف تفعيل Automatic Configuration: لا يمكن تعديل القائمة أثناء تفعيله. سيطلب منك MANAGER التأكيد، لأن الخادم يُعاد تشغيله بالإعدادات الجديدة.
يحدد إعدادان الغرض من كل عنوان:
- يحدد Mode من يحصل على العنوان. يضعه PublicInToken في كل مفتاح وصول لمجموعة الخوادم. ويستبعده Public من المفاتيح، بينما يمنحه MANAGER للتطبيق فقط عند توجيهه إلى هذا الخادم. أما Private فلا يمنحه للتطبيقات إطلاقًا.
- يحدد Listen ما إذا كان الخادم يستمع إلى هذا العنوان. عيّنه على Yes فقط لعنوان يوجّهه مزود الخدمة إلى جهازك: في نظام Linux، يضيف الخادم تلقائيًا عنوان استماع غير موجود بالجهاز إلى شبكته.
يُعد UDP Port وQUIC Port اختياريين، ويؤدي -1 إلى إيقاف تشغيل أي منهما.
في بيئة سحابية تقتصر فيها عناوين الجهاز على العناوين الخاصة، مثل AWS أو Google Cloud أو Azure أو Oracle Cloud، أضف العنوان الخاص مع تعيين Mode على Private وListen على Yes، وعنوان IP العام مع تعيين PublicInToken وListen على No، على المنفذ نفسه. يقوم Automatic Configuration بضبط ذلك تلقائيًا.
للتحقق، افتح مجموعة الخوادم: تعرض صفحتها العناوين التي تتضمنها مفاتيحها، ضمن Access Points.
على خادم مستقل
يقرأ الخادم إعداداته من ملف /opt/VpnHoodServer/storage/appsettings.json. لا يتوفر هذا الملف في التثبيت الجديد؛ أنشئه بنفسك، وسيستخدمه الخادم كبديل للإعدادات الافتراضية. ويتحكم إعدادان ضمن FileAccessManager في تحديد العناوين:
- يحدد
TcpEndPointsالعناوين والمنافذ التي يستمع إليها الخادم. - يحدد
PublicEndPointsالعناوين والمنافذ المضمنة في مفاتيح الوصول. استخدم عناوين فعلية فقط؛ فاستخدام0.0.0.0أو[::]هنا سيمنع الخادم من العمل.
الملف كاملاً: يستمع الخادم لجميع العناوين ويضع 203.0.113.10 داخل المفاتيح
{
"FileAccessManager": {
"TcpEndPoints": [ "0.0.0.0:443", "[::]:443" ],
"PublicEndPoints": [ "203.0.113.10:443" ],
"SslCertificatesPassword": null
},
"ServerConfig": {
"LogAnonymizer": true,
"AddListenerIpsToNetwork": "*"
},
"LogLevel": "Information"
}
للاستماع إلى عنوان واحد فقط، كما هو الحال مع استخدام IP صادر منفصل، أضف ذلك العنوان أيضاً إلى TcpEndPoints. خارج بيئة Docker، يُضيف الخادم العنوان الذي يستمع إليه إلى شبكة الجهاز تلقائياً إذا لم يكن مضافاً بالفعل.
إذا كنت تستخدم أيضاً UdpEndPoints أو QuicEndPoints، فامنحها نفس عنوان TCP.
على السحابات التي تمنح الجهاز عناوين خاصة فقط مثل AWS أو Google Cloud أو Azure أو Oracle Cloud، اجعل الخادم يستمع إلى العنوان الخاص أو إلى جميع العناوين، ثم ضع عنوان IP العام في PublicEndPoints.
بعد ذلك، أعد تشغيل الخادم عبر sudo systemctl restart VpnHoodServer، أو باستخدام sudo docker restart VpnHoodServer داخل Docker. للتحقق، أنشئ مفتاحاً عبر vhserver gen، وستجد العناوين المضمنة موضحة في سطر HostEndPoints:.
المفاتيح التي شاركتها بالفعل
يحمل المفتاح العناوين التي أُنشئ بها، لذا يواصل أي تطبيق يملك مفتاحًا قديمًا محاولة الاتصال بالعنوان القديم. يحصل كل تطبيق على المفتاح الحالي تلقائيًا كلما اتصل، لذا بعد إجراء أي تغيير، اترك الخادم يستمع إلى العنوان القديم لبضعة أيام، ثم احذفه.
على خادم مُدار، احتفظ به كنقطة وصول مع تعيين Mode على Private وListen على Yes: تتلقى التطبيقات المفتاح الجديد لأن Push token to clients مفعّل افتراضيًا. أما على خادم مستقل، فاحتفظ بالعنوان القديم في TcpEndPoints فقط.
يحتاج التطبيق الذي يتعذر عليه الوصول إلى العنوان القديم إلى مفتاح جديد منك. باستخدام اسم نطاق وشهادة من جهة إصدار معتمدة، تعثر المفاتيح على العنوان الجديد عبر DNS، فلا تتعطل عند تغييره.