إعدادات VPN على Mac لا تشغّل خادمًا: أين توجد البوابة
إدخال VPN على Mac يجري اتصالًا صادرًا فقط. ثلاثة أسئلة تحدد ما إذا كنت تحتاج إلى مضيف بوابة بدلًا من ذلك، وكيف تثبت وجود المستمع قبل العملاء.
وظيفتان مختلفتان تحملان اسم VPN في macOS، ولوحة الإعدادات تتعامل مع واحدة منهما فقط. إذا أردت أن يخرج مرور هذا الـ Mac عبر مزوّد أو بوابة بعيدة، فإدخال عميل هو كل ما تحتاجه. وإذا أردت الوصول إلى الطابعة أو NAS أو صفحة إدارة على شبكتك المنزلية من غرفة فندق، فلا بد أن يقبل شيء ما على تلك الشبكة اتصالات من الخارج، والـ Mac الحالي ليس ذلك الشيء بشكل جاهز. ثلاثة أسئلة تحسم أي حالة أنت فيها، ويستحق الإجابة عنها قبل أن تكتب عنوانًا في حقل.
إدخال العميل يسمّي وجهة، لا مستمعًا
في إعدادات النظام > الشبكة > VPN على macOS Ventura وما بعده، تصف الحقول التي تحتفظ بها الإصدارات الأقدم تحت تفضيلات الشبكة كيفية الوصول إلى نقطة طرفية لشخص آخر: عنوان خادم، ومعرّف بعيد، وحساب أو شهادة، وقواعد اختيارية للاتصال عند الطلب. حفظ ذلك الإدخال يخزّن اتصالًا في إعدادات شبكة الـ Mac. لا شيء في العملية يربط منفذًا أو يفتح مستمعًا أو يسجّل مستخدمًا بعيدًا.
يمكنك التحقق من ذلك من الصدفة. على الـ Mac الذي تشك في أنه يخدم، شغّل sudo lsof -nP -iUDP وابحث عن المنافذ التي يستخدمها بروتوكولك: 500 و4500 لـ IKEv2، و1194 لافتراضي OpenVPN، و51820 لـ WireGuard. الجهاز الذي يعمل كعميل فقط يعرض مقابس مقترنة بعنوان ومنفذ بعيدين، لا ربطًا شموليًا يمكن لأي شيء على الإنترنت الوصول إليه. الأنفاق التي تعمل داخل Network Extension قد تختفي عن lsof، لذا تحقق أيضًا من لوحة حالة التطبيق نفسه؛ وما لن تجده هو تفضيل من Apple يحوّل هذا الـ Mac إلى البوابة.
ثلاثة أسئلة تفصل الدورين
تناولها بالترتيب. السؤال الأول يحدد الباقي عادةً، والثالث هو حيث يخطئ معظم التخطيط الخاص بالـ Mac.
1. من يبدأ المحادثة؟ إذا كان الـ Mac يتصل صادرًا والطرف الآخر يجيب، فأنت تحتاج عميلًا. وإذا كان على أجهزة على الإنترنت أن تتصل داخلة للوصول إلى شبكتك، فأنت تحتاج بوابة بنقطة دخول عامة، ويمكن للـ Mac أن يبقى عميلًا لتلك البوابة.
2. ما الذي يجب أن يكون قابلًا للوصول أثناء عمل النفق؟ خدمة واحدة على مضيف واحد قرار إعادة توجيه منفذ. أما شبكة فرعية كاملة، بما فيها تحليل الأسماء، فقرار توجيه وDNS، وهو يغيّر ما يجب أن تمرّره البوابة لا ما يقوله إدخال العميل.
3. أي إصدار نظام تشغيل يشغّل الطرف المستجيب؟ لـ Macs لهذا السؤال جواب حاسم. تسرد Apple أن VPN أُزيل من macOS Server 5.7.1، وأن تطبيق macOS Server نفسه أُوقف في 21 أبريل 2022؛ و إشعار سجل الخدمة هو الصفحة التي يجب قراءتها عندما يرشدك درس قديم عبر مربّع اختيار لخدمة VPN لم يعد موجودًا.
عندما يكون الجواب الأول “شخص من الخارج يبدأ الاتصال”، توقف عن البحث عن مفتاح في لوحة العميل على الـ Mac واذهب لاختيار المضيف الذي سينهي النفق.
أين يمكن أن توجد البوابة بدلًا من ذلك
أربعة ترتيبات تغطي معظم حالات المنزل والمكتب الصغير. موجّه بوضع خادم حقيقي، لا وضع عميل بتسمية مختلفة، ينهي النفق عند الحافة ويُبقي عدد المضيفين منخفضًا، بثمن الارتباط بدعم البروتوكول في ذلك البرنامج الثابت. جهاز NAS أو حاسوب صغير يعمل دائمًا يشغّل حزمة الخادم من المزوّد ويترك لك سجلات يمكنك قراءتها. آلة سحابية صغيرة تمنحك عنوانًا عامًا تتحكم به وتصل إلى المنزل عبر نفق ثانٍ. وشبكة متداخلة مبنية على WireGuard، أو خدمة مُدارة تمرّر بين الأقران، تتجاوز إعادة توجيه المنفذ الوارد بجعل الطرفين يتصلان صادرين.
الحد بين تلك الخيارات هو اتصالك بالإنترنت عادةً، لا البرنامج. إذا وضعك مزوّد الخدمة خلف NAT من فئة الناقل، فإن إعادة توجيه المنافذ على الموجّه لن تنتج نقطة دخول قابلة للوصول، والترتيب بالتمرير أو الشبكة المتداخلة هو الجواب الصادق. قارن عنوان WAN الذي يبلّغ عنه موجّهك بالعنوان الذي يراه العالم الخارجي؛ فإن اختلفا وكانت قيمة الموجّه في نطاق خاص أو مشترك، فخطط لحالة التمرير.
أيًا كان المضيف الذي تختاره، مرّر بروتوكولًا واحدًا على منفذ واحد بدلًا من نطاق، وأبقِ الـ Mac خارج المسار الوارد إلا إذا كان ذلك المنتج تحديدًا يوثّق دور خادم لإصدار macOS الذي تشغّله.
أكّد الدور قبل أن توزّع الملفات الشخصية
على البوابة المرشحة، أثبت وجود مستمع بدلًا من الثقة بأن المثبّت أنشأ واحدًا. على macOS يعني ذلك sudo lsof -nP -iUDP مُرشّحًا إلى المنافذ أعلاه، بالإضافة إلى sudo pfctl -s nat إن كانت قواعد مرشّح الحزم جزءًا من التصميم. على Linux، يُظهر ss -lunp الحقائق نفسها دون لبس.
ثم اختبر من خارج الشبكة، باستخدام البروتوكول نفسه. لا يثبت ping كثيرًا: فـ ICMP يُرشّح عادةً ولا يقول شيئًا عن UDP 51820. مصافحة عميل مع تسجيل مفصّل، تُجرى من هاتف على بيانات الهاتف المحمول، هي أرخص اختبار حقيقي لأنها تعبر المسار نفسه الذي سيعبره زميل بعيد.
بعد ذلك فقط تلمس ملفات تعريف العميل. على الـ Mac، يطبع scutil --nc list خدمات VPN التي يعرفها النظام؛ فإن لم تكن البوابة التي بنيتها للتو بينها، فأنت تُعدّ جهازًا آخر غير الذي اختبرته. وإن نجحت المصافحة على الشبكة المحلية وفشلت من الخارج، فالخلل في المسار الوارد: قاعدة NAT، أو CGNAT المزوّد، أو جدار ناري على البوابة، بهذا الترتيب.
قبل أن تبني أي شيء، احسم أربع نقاط:
- أي طرف يبدأ الاتصال، الـ Mac أم جهاز بعيد.
- هل يدعم إصدار نظام المضيف المستجيب ومنتجه دور خادم فعلًا.
- هل يمنحك مزوّد الخدمة عنوانًا عامًا قابلًا للوصول أصلًا.
- أي منفذ واحد وبروتوكول ستقبله البوابة، وأي خدمة خلفها تجيب.
الخطوة التالية ملموسة: اختر مضيف البوابة، وأكّد مستمعه من الخارج، وعندها فقط أنشئ إدخال العميل على الـ Mac الذي يشير إليه.