يُطلق على التصميمين اسم VPN، لكنهما يحلّان مشكلتين مختلفتين. يربط نفق الموقع إلى الموقع بوابتين، بحيث يستطيع كل مضيف خلفهما الوصول إلى العناوين المسموح بها على الجانب الآخر دون تثبيت أي شيء. أما نفق الوصول عن بُعد فيربط أجهزة فردية بشبكة واحدة، عميلاً واحداً في كل مرة. تكمن أهمية المقارنة في أن معظم أخطاء النشر تنشأ من تهيئة أحد التصميمين مع توقّع سلوك الآخر، ويكون العَرَض عادةً مهلة انتظار في خدمة وصلها النفق فعلاً.

تصميمان، وحدّان

Site-to-siteRemote access
Endpointstwo gatewaysa gateway and each client
Who configuresnetwork ownerseach user or an MDM
Scope of reachwhatever the gateways routewhatever the client is granted
Broadcast discoverynot carriednot carried

لا يوسّع أي من التصميمين نطاق بثّ شبكة LAN. لا تظهر الأجهزة الموجودة على الجانب البعيد في قائمة اكتشاف محلية، وتوقّع ظهورها هو أول افتراض يجب التخلّي عنه. أسماء DNS الخاصة التي تنشرها عن قصد أكثر قابلية للتنبؤ من أي بروتوكول اكتشاف، وهي تصمد أمام تغيير المورّد.

خذ 10.10.0.0/24 في أحد الموقعين و10.20.0.0/24 في الموقع الآخر. تحتاج البوابة A إلى مسار أو محدِّد حركة مرور يرسل البادئة 10.20.0.0/24 إلى النفق، وتحتاج البوابة B إلى الصورة المرآة لذلك. بعد ذلك تستخدم المضيفات على الجانبين اتصال IP عادياً ولا تعرف أبداً أن هناك نفقاً موجود. هذا الخفاء هو الميزة، وهو أيضاً سبب ظهور الأعطال كأخطاء شبكة عادية لا كأخطاء نفق.

التصميم القائم على السياسة والتصميم القائم على المسار ليسا النفق نفسه

في نشر IPsec القائم على السياسة، تحدّد محدِّدات حركة المرور المتفاوض عليها بدقة أزواج المصدر والوجهة المحمية. إذا ظهرت شبكة فرعية جديدة خلف إحدى البوابات ولم يغطّها أي محدِّد، يبقى النفق قائماً ولا تُحمَل الشبكة الفرعية الجديدة ببساطة. وفي التصميم القائم على المسار، تتلقى واجهة ما حركة المرور ويقرّر جدول التوجيه، مما يجعل إضافة بادئة تغييراً في التوجيه لا إعادة تفاوض على النفق.

يعرض StrongSwan كلا المنظورين مباشرة، وقراءتهما معاً هي الطريقة التي تعرف بها أي نموذج نشرته فعلاً.

swanctl --list-sas
ip xfrm policy
ip -4 route show table all | grep -E '10\.(10|20)\.'

قائمة محدِّدات تُغفل البادئة التي تهمّك تفسّر العطل دون أي التقاط حزم، ومسار يشير إلى الواجهة الخاطئة يفسّر العطل المرآة في طريق العودة. اقرأ الاثنين قبل أن تعيد التفاوض على أي شيء، لأن إعادة توليد المفتاح لن تضيف محدِّداً لم تهيّئه قط.

خطِّط للعنونة قبل النفق

النطاقات المتداخلة هي خطأ التصميم الذي لا يمكن إصلاحه بالتهيئة. إذا استخدم الموقعان 192.168.1.0/24، فإن مضيفاً يحتاج 192.168.1.50 لديه مرشّحان ولا وسيلة للاختيار. سيتحقق النفق، وستُنشأ ارتباطات الأمان، وسيكون قرار التوجيه خاطئاً أو غامضاً بغضّ النظر عن ذلك.

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

عالج مسألة MTU مبكراً أيضاً. النفق يقلّل الحمولة الصالحة، والتصميم الذي يعتمد على التجزئة يتصرّف بشكل مختلف عن تصميم يثبّت MSS عند البوابات.

إعادة التوجيه والسياسات تقع خارج النفق

يجب أن تكون البوابة مستعدة لإعادة توجيه الحزم بين واجهة النفق وواجهة LAN، ويحتاج الاتجاهان إلى سياسة تسمح بالخدمة. على Linux هذان إعدادان منفصلان، إضافة إلى قواعد جدار الحماية التي تقرّر ما إذا كان التدفق المُعاد توجيهه مسموحاً أصلاً.

sysctl -w net.ipv4.ip_forward=1
iptables -A FORWARD -s 10.20.0.0/24 -d 10.10.0.0/24 -j ACCEPT
iptables -A FORWARD -s 10.10.0.0/24 -d 10.20.0.0/24 -j ACCEPT

يضيف المضيف المستقبِل طبقة ثالثة: يجب أن يقبل جدار حمايته الخاص عميلاً من الشبكة الفرعية البعيدة. خادم ملفات يسمح فقط بشبكته المحلية /24 سيرفض حركة المرور المُعاد توجيهها من 10.20.0.7 مهما بدا النفق سليماً، ويسهل قراءة ذلك الرفض كعطل في التوجيه.

اختبر من مضيف، لا من البوابة

قد يتبع ping يُرسل من البوابة نفسها عنوان مصدر مختلفاً وسياسة مختلفة عن حركة مرور المستخدمين المُعاد توجيهها. هذا يجعله اختباراً ضعيفاً، وأحياناً مضلّلاً: ينجح بينما تفشل التطبيقات، أو يفشل بينما يعمل التطبيق.

ip route get 10.10.0.5 from 10.20.0.7
ping -I 10.20.0.7 10.10.0.5
curl -sv --max-time 5 http://files.10-10.internal/ -o /dev/null

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

اختر التصميم بحسب السؤال الذي تجيب عنه: هل تربط شبكات أم تقبل أجهزة؟ كل ما عدا ذلك، بما في ذلك المورّد الذي تهيّئه، يتبع من تلك الإجابة.

مقالات ذات صلة