دليل إعداد وضع شبكة WSL mirrored
دليل إعداد وضع شبكة WSL2.6.0
Categories:
متطلبات الإصدار
حالة الإصدار الحالي:
- أحدث إصدار مستقر: 2.5.9 (يحتوي على عيوب في تهيئة الشبكة)
- الإصدار الموصى به: 2.6.0 إصدار تجريبي (يدعم وضع mirrored الكامل)
تحليل مقارنة الأنماط
| الميزة | وضع bridge (تم التخلص منه) | وضع mirrored (موصى به) |
|---|---|---|
| بنية نموذج البروتوكول | نموذج بروتوكول مزدوج | نموذج بروتوكول مشترك |
| توزيع عنوان IP | IP مستقل (Windows+WSL) | مشاركة IP المضيف |
| موارد المنفذ | استخدام مستقل | منفذ مشترك (يجب تجنب التعارض) |
| أداء الشبكة | أثقل نسبيًا | خفيف الوزن وفعال |
| تعقيد التكوين | بسيط | يحتاج إلى تكوين عميق لسياسة الجدار الناري |
خطوات التكوين القياسية
1. إعداد وضع الشبكة
تعيين الوضع الأساسي من خلال تطبيق WSL Settings:
- افتح تطبيق الإعدادات
- اختر علامة التبويب “Network”
- اضبط وضع الشبكة على “Mirrored”
- قم بتطبيق التكوين وأعد تشغيل 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
طرق التحقق
- قم بتشغيل خدمة WSL (مثل Nginx/Apache)
- قم بالوصول من مضيف Windows إلى
http://localhost:<port> - قم بالوصول من جهاز شبكة المنطقة المحلية إلى
http://<host-ip>:<port>