شبكة LAN خلف جلسة واحدة من AWS Client VPN: ما الذي يُمرَّر
الجلسة العاملة على المضيف لا تمتد إلى شبكة LAN من تلقاء نفسها. افحص دعم العميل والتمرير والترجمة ومسار الرد بهذا الترتيب.
يتصل الحاسوب المحمول بنقطة نهاية AWS Client VPN، ويصل إلى الشبكة الفرعية الخاصة، ويبدو كل شيء سليمًا. أما الحاسوب المكتبي على شبكة LAN نفسها فلا يصل إلى أي شيء، رغم أن مضيف Linux لديه أيضًا واجهة جسر وأن الجهازين على السلك نفسه. لا شيء في النفق مضبوط بشكل خاطئ؛ الجزء المفقود هو التوجيه، والجسر مجرد أثر مضلل.
إن توسيع جلسة Client VPN إلى شبكة LAN هو دور بوابة. وهو ليس مقطع Ethernet ممتدًا داخل خدمة مُدارة.
المضيف يعمل وشبكة LAN لا تعمل
تحتوي واجهة النفق على جهاز Linux على عنوان داخل نطاق CIDR الخاص بعميل Client VPN، وقد دفع نقطة النهاية مسارات لنطاقات VPC. الطلب الذي يُجرى على ذلك الجهاز هو حركة مُولَّدة محليًا: يختار مسارًا، ويخرج عبر النفق، ويحصل على إجابة. ذلك المسار لا يمس أبدًا شيفرة التمرير، ولا واجهة LAN، ولا أي قاعدة جدار حماية تحكم المرور العابر.
الحركة القادمة من جهاز LAN آخر هي تدفق مختلف. تصل إلى واجهة LAN، وتحتاج إلى مسار يشير إلى النفق، وتحتاج إلى تمرير مُفعَّل، وإلى جدار حماية يسمح بها، وإلى عودة الرد عبر المضيف نفسه. أربعة شروط، واختبار الحاسوب المحمول الناجح لا يثبت أيًا منها. من الحاسوب المكتبي يبدو العطل غريبًا: النفق قائم، وبيانات الاعتماد صالحة، والوجهة ببساطة لا تجيب أبدًا. الخلل محلي في مسار التمرير الخاص بالبوابة، وليس في الخدمة.
ليس كل عميل يصلح ليكون بوابة
تذكر AWS أن تطبيق Client VPN المكتبي الخاص بها لا يدعم تمرير IP، وأن عملاء آخرين قد يدعمونه. هذا القيد يحدد المعمارية قبل كتابة أي أمر. إذا كان العميل الوحيد المتاح هو التطبيق المكتبي الرسمي، فإن بوابة Linux التي تمرر لشبكة LAN ليست إعدادًا يمكن إتمامه، ولا مقدار من إخفاء المصدر سيغير ذلك.
يجب أن يطابق العميل البديل أيضًا طريقة مصادقة نقطة النهاية والسياسة التي تنوي فرضها. نقاط النهاية القائمة على الشهادات أو الدليل أو SAML لا تقبل إعدادات العميل نفسها، والعميل الخارجي الذي يصادق لكنه يتجاهل المسارات المدفوعة ليس تحسينًا.
تعامل مع اختيار العميل كجزء من مراجعة التصميم. فهو يحدد ما إذا كان نمط تمرير LAN متاحًا أصلًا، ويحدد الهوية التي تراها نقطة النهاية لكل جهاز خلف البوابة. سجّل العميل وإعداد نقطة النهاية الذي اختُبر مقابله. استبدال العميل بعد ستة أشهر قد يزيل بهدوء القدرة التي افترضها التصميم.
وجّه شبكة LAN إلى النفق وترجمها
مع وجود عميل مدعوم، يكون الباقي عمل بوابة عاديًا. تحتاج أجهزة LAN إلى مسار لنطاق VPC يشير إلى مضيف Linux، ويحتاج المضيف إلى تمرير مُفعَّل. إذا أردت أن ترى VPC الحركة كالعميل المتصل لا كعنوان LAN عشوائي، فترجم المصدر عند الخروج.
LAN: 10.24.11.0/24
Linux LAN gateway: 10.24.11.15
VPN interface: tun0
Target VPC range: 10.2.0.0/16
iptables -t nat -A POSTROUTING -s 10.24.11.0/24 -d 10.2.0.0/16 -o tun0 -j MASQUERADEقيّد القاعدة بواجهة النفق ونطاق VPC، كما أعلاه، بدلًا من إخفاء كل ما يمرره المضيف. القاعدة الأضيق أسهل في الاستدلال، ولا تغيّر بهدوء حركة كان من المفترض أن تحتفظ بعنوان مصدرها الأصلي.
اجعل مسار LAN يصل تلقائيًا إن أمكن: خيار DHCP، أو إعلان موجّه، أو مسار ثابت يدفعه من يدير LAN. المسار الموجود على جهاز اختبار واحد فقط سيجعل التصميم يبدو معطلًا لحظة أن يجربه شخص آخر.
الرد يحتاج مسارًا أيضًا
بعد أن يصل الطلب إلى VPC، يجب أن يعود الجواب عبر حالات الترجمة نفسها وأن يجد مسار LAN على البوابة. ذلك الجزء يعمل عادةً عندما تكون قاعدة إخفاء المصدر موجودة، لأن التعيين يعيش على المضيف الذي أنجزه. ويتعطل عندما يكون على جانب VPC مسار يرسل الرد إلى مكان آخر، ولهذا يهم كل من مسار CIDR الخاص بالعميل وربط الشبكة الفرعية على نقطة النهاية.
راقب العدادات، لا ping فقط. قاعدة إخفاء مصدر بعدد حزم صفر تخبرك أن الطلب لم يصل أبدًا إلى واجهة النفق، وهذا يعود إلى مسار LAN أو جدول التوجيه الخاص بالعميل. قاعدة لها حزم بلا ردود تشير إلى جانب VPC، أو قواعد التفويض، أو مجموعة أمان لا تقبل المصدر المترجم. اقرأ الاتجاهين قبل تغيير أي شيء، لأن عددًا ينمو في جهة واحدة فقط يعني مسارًا أحادي الاتجاه لا مسارًا بطيئًا.
تذكر أن نقطة النهاية خدمة مُدارة. لا يوجد ملف إعداد خادم لتحريره ولا توجيه client-config لإضافته، لذا فإن التعليمات المكتوبة لخادم OpenVPN مُدار ذاتيًا بمسارات شبكة فرعية مخصصة للعميل لا تنتقل. في AWS، الروافع هي ربط الشبكة الفرعية وقواعد التفويض وجداول توجيه VPC.
الهوية المشتركة هي الجزء الذي يجب أن تجيب عنه السياسة
كل جهاز خلف البوابة يستخدم جلسة VPN الخاصة بالبوابة. قواعد تفويض نقطة النهاية تمنح الوصول لمستخدم أو مجموعة، ومن وجهة نظر الخدمة هناك مستخدم واحد بالضبط على تلك الجلسة. التمرير المحلي لا يضاعف هذه الهوية إلى مصادقة لكل جهاز، ولا يوسّع فحوص وضع الجهاز لتشمل الطابعة في الزاوية.
قد يكون ذلك مقبولًا، أو قد يكون سبب رفض التصميم. يعتمد الأمر على ما تفترضه موارد VPC بشأن من يتصل. الهوية المشتركة التي تناسب نموذج التفويض جيدة؛ أما التي تحوّل بهدوء جلسة مصادق عليها واحدة إلى وصول على مستوى شبكة LAN فهي ملاحظة تنتظر أن تُكتب.
إذا كان الشرط حقًا ربط موقع كامل بـ VPC، فقارن تصميمًا مدعومًا بين موقعين قبل توسيع عميل وصول عن بُعد. الدلالات مختلفة، وجلسة عميل خلف NAT بديل ضعيف لرابط موقع عندما تحتاج VPC إلى بدء اتصالات إلى LAN.
احسم العميل والمسار والترجمة وقصة الهوية بهذا الترتيب. كل منها يقيّد التالي، والترتيب يفسر لماذا يعمل المضيف بينما لا تعمل شبكة LAN.