سياسة IKEv2 المخصصة في Windows: طبّقها كخطوة مستقلة
الاتصال المُزوَّد ومجموعة التشفير المخصصة نتيجتان منفصلتان. طابِق حقول السياسة ونطاق ملف التعريف والمالك الذي يعيد تطبيقها.
تنشئ حزمة التزويد اتصال IKEv2، ثم يتفاوض الملف الناتج على شيء غير المجموعة التي قصدتها. أدّت الحزمة عملها؛ لكنها لم تحتوِ قط على حقل للعمل الذي افترضته. تعامل مع مجموعة التشفير كخطوة تزويد منفصلة وقابلة للتحقق.
اعمل على البنود الخمسة أدناه بالترتيب، وأبقِ نتائج القبول منفصلة.
نوعان من السياسة خلف أسماء متشابهة
يفصل Windows بين السياسة التي تحمي تبادل المفاتيح والسياسة التي تحمي حركة المرور. ويُضبط جانب IKE بطريقة تشفير وطريقة تحقق من السلامة. ويُضبط جانب البيانات بثوابت التشفير وثوابت تحويل المصادقة، وهذه الثوابت تستخدم أسماءها الخاصة. ونسخ تسمية AES واحدة في الحقل الخطأ ينتج اتصالًا يُنشأ بموجب سياسة لم يعتمدها أحد.
تنتمي مجموعة تبادل المفاتيح والسرية التامة الأمامية إلى المفاوضة نفسها، ويجب أن تكون مقبولة لدى البوابة. وضبطهما دون فحص الطرف الآخر ينتج فشلًا في مرحلة لاحقة غير المرحلة التي كنت تحررها، ولهذا تبدو هذه الأخطاء كمشكلات في البوابة.
ابنِ سياسة كاملة، لا اسمي خوارزميتين
اكتب كل حقل صراحةً، بما في ذلك الحقول التي تظن أنها قيم افتراضية. فالسياسة الجزئية التي تُطبّق مع علامة الإجبار تصبح التكوين المحفوظ، والقيم التي تركتها هي ما كانت عليه المنصة في تلك اللحظة. والقيم التي تبدأ بالبادئة نفسها ليست قابلة للتبادل بين الحقول، وأحد أسماء التحويلات المعروفة صالح فقط كتحويل مصادقة.
$policy = @{
ConnectionName = 'Corp IKEv2'
AllUserConnection = $true
EncryptionMethod = 'AES256'
IntegrityCheckMethod = 'SHA384'
CipherTransformConstants = 'AES256'
AuthenticationTransformConstants = 'SHA384128'
DHGroup = 'Group19'
PfsGroup = 'PFS2048'
Force = $true
}
Set-VpnConnectionIPsecConfiguration @policy
اعتبر تلك الكتلة مجموعة توضيحية يجب أن يدعمها الطرفان، لا توصيةً. فمفتاح الإجبار يمنع ظهور مطالبة؛ لكنه لا يعتمد حزمة لم تراجعها.
أنشئ أولًا ثم طبّق، ضمن نطاق واحد
يجب أن يكون الاتصال موجودًا قبل ضبط سياسته، ويجب أن يتطابق النطاق في كل خطوة. ولا يمكن لخطوة في سياق الجهاز أن تجد ملفًا تعريفًا خاصًا لمستخدم عشوائي لمجرد أن اسم العرض متطابق. اتصالات جميع المستخدمين واتصالات المستخدمين وأدلة حالتها كائنات منفصلة بأسماء منفصلة.
ترتيب التنفيذ أهم مما يبدو في حزمة تزويد، لأن أمرين قد يعملان متقاربين أكثر مما يستغرقه إنشاء الاتصال. ضمّن عمل ما بعد التكوين كأمر تزويد معتمد بسياق تنفيذ معلن، ودع محرك التزويد يرتبه بدلًا من إدراج تأخير مُخمَّن. فأي انتظار يكفي على عتاد اختبارك هو حالة تسابق مع تأخير ملحق. سجّل الاعتماد بدلًا من المدة.
تصف حقول Configuration Designer الموثقة إعدادًا واحدًا من إعدادات VPN، ولا تكشف كل عنصر تحكم أصلي في IPsec. وإذا كان المطلب تسليمًا مُدارًا، فإن موفر خدمة تكوين VPNv2 يحتوي على قسم لمجموعة التشفير لهذا الغرض تحديدًا.
سمِّ مالكًا واحدًا للسياسة
قد يعيد تحديث لاحق لملف تعريف الإدارة إنشاء الاتصال ويستبدل ما طبقه أي نص برمجي، وسيبدو الاستبدال كتراجع. قرر ما إذا كانت المجموعة مملوكة لملف التعريف أو لنص برمجي أو لقناة الإدارة، واجعل التحديثات الروتينية تتبع المسار نفسه الذي اتبعه التثبيت الأول.
مالكان اثنان يساويان لا مالك عندما يختلفان. اكتب اسم المالك في سجل التغيير الخاص بملف التعريف. وسيتبع التحديث التالي ما يقوله ذلك السجل.
تحقق من النتيجة المتفاوض عليها، لا من الحزمة
اقرأ ملف التعريف المحفوظ ونطاقه، ثم أنشئ اتصالًا جديدًا وقارن المقترحات المختارة عند البوابة. وأكّد أيضًا سلوك إعادة توليد المفاتيح، لأن المصافحة الأولية قد تنجح مع مجموعة ترفضها مرحلة لاحقة.
Get-VpnConnection -Name 'Corp IKEv2' -AllUserConnection | Format-List
Get-ChildItem 'C:\ProgramData\Microsoft\Network\Connections\Pbk' | Select-Object Name, LastWriteTime
ثلاث نتائج قبول ليست الحدث نفسه: تُثبت الحزمة، وُجد ملف التعريف بالسياسة المقصودة، وتفاوض الطرفان عليه. أبقِها منفصلة، حتى لا يُصلَح حقل ناقص أبدًا بإضعاف المصادقة أو بتمكين بديل لم يختره أحد.