دليل إعداد وضع الشبكة WSL mirrored

دليل إعداد وضع الشبكة WSL2.6.0

متطلبات الإصدار

حالة الإصدار الحالي:

  • الإصدار المستقر الأحدث: 2.5.9 (يحتوي على عيوب في إعداد الشبكة)
  • الإصدار الموصى به: 2.6.0 النسخة التجريبية (يدعم وضع mirrored الكامل)

تحليل مقارنة الوضع

الميزةوضع bridge (معلق)وضع mirrored (موصى به)
هيكلة نموذج البروتوكولاتنموذج بروتوكولات مزدوجنموذج بروتوكولات مشترك
توزيع عناوين IPIP مستقل (Windows+WSL)مشاركة IP المضيف
موارد المنفذاستخدام مستقلمشاركة المنفذ (تجنب التعارض)
أداء الشبكةأثقل نسبيًاخفيف وفعال
تعقيد الإعدادبسيطيتطلب إعدادًا أعمق لسياسة الجدار الناري

خطوات الإعداد القياسية

1. إعداد وضع الشبكة

إعداد الوضع الأساسي من خلال تطبيق WSL Settings:

  1. افتح تطبيق الإعدادات
  2. اختر علامة التبويب “Network”
  3. اضبط وضع الشبكة على “Mirrored”
  4. طبق الإعداد وأعد تشغيل WSL

2. إعداد سياسة الجدار الناري

يجب تنفيذ إعداد السياسة الكامل من خلال PowerShell:

# تعريف GUID لجهاز WSL الافتراضي
$wslGuid = '{40E0AC32-46A5-438A-A0B2-2B479E8F2E90}'

# إعداد سياسة الجدار الناري (تنفيذ بالترتيب)
Set-NetFirewallHyperVVMSetting -Name $wslGuid -Enabled True
Set-NetFirewallHyperVVMSetting -Name $wslGuid -DefaultInboundAction Allow
Set-NetFirewallHyperVVMSetting -Name $wslGuid -DefaultOutboundAction Allow
Set-NetFirewallHyperVVMSetting -Name $wslGuid -LoopbackEnabled True
Set-NetFirewallHyperVVMSetting -Name $wslGuid -AllowHostPolicyMerge True

# التحقق من نتيجة الإعداد
Get-NetFirewallHyperVVMSetting -Name $wslGuid

3. التحقق من تعيين المنفذ

# مثال: التحقق من حالة احتلال منفذ 80
Get-NetTCPConnection -LocalPort 80

معالجة المشكلات الشائعة

المشكلة 1: لا يمكن إنشاء اتصال خارجي

  • خطوات الفحص: يجب أن تكون جميع الحقول في مخرجات Get-NetFirewallHyperVVMSetting إما True/Allow
  • حل المشكلة: أعد تنفيذ إعدادات سياسة الجدار الناري بالترتيب

المشكلة 2: تعارض المنفذ

  • طريقة التحقق: netstat -ano لعرض احتلال المنفذ
  • اقتراح المعالجة: أعِد تحرير المنفذ المحتل على Windows أولاً، أو عدّل منفذ الاستماع لخدمة WSL

طرق التحقق

  1. ابدأ خدمة WSL (مثل Nginx/Apache)
  2. قم بالوصول من مضيف Windows إلى http://localhost:<port>
  3. قم بالوصول من جهاز شبكة محلية إلى http://<host-ip>:<port>

المراجع

  1. وثائق الشبكة الرسمية لـ WSL
  2. ملاحظات إصدار WSL 2.6.0