يوضح هذا المستند كيفية معالجة أنظمة تشغيل العميل لاستعلامات DNS والتأثيرات على تحليل اسم المجال باستخدام Cisco IOS® Secure Client.
لا توجد متطلبات خاصة لهذا المستند.
لا يقتصر هذا المستند على إصدارات برامج ومكونات مادية معينة. تستخدم الأمثلة المعملية سياسات مجموعة ASA/FTD لجدار الحماية الآمن وعميل Cisco الآمن على Windows و MacOS و Linux و Apple iOS.
تم إنشاء المعلومات الواردة في هذا المستند من الأجهزة الموجودة في بيئة معملية خاصة. بدأت جميع الأجهزة المُستخدمة في هذا المستند بتكوين ممسوح (افتراضي). إذا كانت شبكتك قيد التشغيل، فتأكد من فهمك للتأثير المحتمل لأي أمر.
يشرح هذا المستند كيفية معالجة أنظمة تشغيل العميل لاستعلامات DNS والتأثيرات على تحليل اسم المجال عند إستخدام Cisco Secure Client (المعروف سابقا باسم Cisco AnyConnect) مع الاتصال النفقي المنقسم أو الكامل. تتضمن نهايات VPN التي تمت مناقشتها جدار حماية ASA الآمن و FTD (ASA سابقا) من Cisco؛ تنطبق إعدادات نهج المجموعة مثل split-dns وdns-server وsplit-tunnel-all-dns على كليهما، ما لم يذكر خلاف ذلك.
إذا كان أحد الأقسام يشير صراحة إلى إصدارات العملاء الأقدم، فسيتم تطبيق السلوك الموصوف ل Secure Client 4.2 والإصدارات الأحدث (بما في ذلك إصدارات Secure Client 5.x الحالية). وصل Cisco AnyConnect 4.x إلى نهاية العمر؛ الترحيل إلى Cisco Secure Client للحصول على ميزات DNS والاتصال النفقي المدعومة.
يعتمد سلوك تحليل DNS على ثلاثة عوامل:
عندما تقوم بتشغيل أمر split-include tunneling، فإن هذه هي خيارات DNS الثلاثة المتوفرة في نهج المجموعة:
| نمط |
الوصف |
|---|---|
| تقسيم DNS | يتم إرسال استعلامات DNS التي تطابق أسماء المجالات التي تم تكوينها على وحدة الاستقبال والبث (Split-DNS) من خلال النفق إلى خوادم VPN DNS (DNS-Server). تستخدم كافة الاستعلامات الأخرى محلل نظام التشغيل الخاص بالعميل وخوادم DNS الخاصة بالمهايئ المادي. |
| Tunnel-all-DNS | يسمح فقط بحركة مرور DNS إلى خوادم DNS المعرفة بواسطة وحدة الاستقبال والبث. تم تكوينها باستخدام Split-tunnel-all-DNS في نهج المجموعة. |
| DNS القياسي | يتم إرسال كافة استعلامات DNS أولا إلى خوادم DNS الخاصة بالشبكة الخاصة الظاهرية (VPN) المعرفة بواسطة وحدة الاستقبال والبث. في إستجابة سالبة (NXDOMAIN أو لا جواب)، يمكن للمحلل أيضا تجربة خوادم DNS على المهايئ الفعلي. |
ملاحظة: تم تنفيذ الأمر split-tunnel-all-dns لأول مرة في الإصدار 8.2(5) من ASA. قبل هذا الإصدار، كان يتوفر فقط تقسيم DNS أو DNS القياسي. في جميع الحالات، تمر استعلامات DNS التي يتم تعريفها للتنقل عبر النفق، إلى أي خادم DNS يتم تعريفه بواسطة وحدة الاستقبال والبث. إذا لم يتم تعريف أي خوادم DNS على وحدة الاستقبال والبث، تكون إعدادات DNS للنفق فارغة.
إذا لم يتم تعريف DNS المقسمة، يتم إرسال استعلامات DNS إلى خوادم DNS التي تم تعريفها بواسطة وحدة الاستقبال والبث (تخضع للسلوك الخاص بنظام التشغيل الموضح لاحقا في هذا المستند.) ومع ذلك، يمكن أن تختلف السلوكيات الموضحة في هذا المستند بناء على نظام التشغيل (OS).
ملاحظة: تجنب إستخدام NSLookup أو الحفر عند إختبار دقة الاسم على العميل. بدلا من ذلك، أستخدم مستعرض ويب أو قم بتشغيل الأمر ping. لا تستخدم NSLookup و dig كككعب تحليل DNS نفس الطريقة التي تستخدمها معظم التطبيقات. لا يفرض العميل الآمن كل طلب من DNS من خلال واجهة معينة؛ يسمح أو يرفض الطلبات المستندة إلى تقسيم DNS ونهج Tunnel-all-DNS.
لمراقبة سلوك تجاوز الفشل الصحيح، قم بالاختبار فقط مع التطبيقات التي تعتمد على محلل DNS الأصلي لنظام التشغيل (المستعرضات، إختبار الاتصال، ومعظم تطبيقات الأعمال). يمكن للأدوات التي تقوم بتنفيذ دقة DNS الخاصة بها (NSLookup، و dig، وبعض التطبيقات المخصصة) إظهار حالات فشل مضللة حتى عندما يعمل العميل بشكل صحيح.
قام AnyConnect الإصدار 2.4 بإدخال تعيين DNS الاحتياطي المقسم (DNS المقسم إلى أفضل جهد)، والذي لا يعد تقسيم DNS حقيقيا وقد تم العثور عليه أيضا في عميل IPsec القديم.
سلوك أفضل الجهود (الاحتياطية):
هذا هو السبب في أن الميزة القديمة تسمى DNS إحتياطي لتقسيم الاتصال النفقي، والذي لا يعد تقسيم DNS حقيقيا. يضمن "العميل الآمن" مطابقة استعلامات مجال DNS-Split فقط في النفق، ولكنه لا يزال يعتمد على سلوك محلل نظام التشغيل من أجل الحل النهائي.
المخاوف الأمنية: يمكن أن يقوم اسم المجال الخاص بتسريب إلى خادم DNS عام عندما يقوم خادم VPN DNS بإرجاع NXDOMAIN أو فشل في الحل؛ وإعادة محاولة المحلل على المهايئ الفعلي.
DNS انقسام حقيقي: معرف تصحيح الأخطاء من Cisco CSCtn14578
تم الحل على Microsoft Windows في AnyConnect 3.0(4235) والاحتفاظ به في Secure Client 4.2+):
ملاحظة: يتمتع مستخدمو Cisco المسجلون فقط بالوصول إلى أدوات الأخطاء الداخلية من Cisco والمعلومات التفصيلية للخطأ.
عند تعطيل اتصال النفق المنقسم (تكوين النفق-all)، يتم السماح بحركة مرور DNS بشكل صارم عبر النفق.
يرسل تكوين tunnel-all-DNS (split-tunnel-all-DNS enable في نهج المجموعة) جميع عمليات بحث DNS عبر النفق بينما يتم تكوين شكل ما من انقسام tunneling أيضا، ويتم السماح بحركة مرور DNS بشكل صارم عبر واجهة النفق.
وهذا متناسق عبر الأنظمة الأساسية مع تحذير واحد على Microsoft Windows، عند تكوين tunnel-all أو tunnel-all-DNS، يسمح "العميل الآمن" لحركة مرور DNS بشكل صارم إلى خوادم DNS التي تم تكوينها على البوابة الآمنة (مطبقة على مهايئ VPN). تم تنفيذ تحسين الأمان هذا مع DNS المقسم الحقيقي. إذا كانت هذه مشكلة (على سبيل المثال، يجب أن يصل تحديث/تسجيل DNS إلى خوادم DNS بخلاف VPN)، أكمل الخطوات التالية:
عندما يتم تمكين كل من أنفاق التقسيم وtunnel-all-DNS، يتم اعتراض DNS على مستوى kernel ويحظر إذا لم يخرج واجهة VPN الصحيحة. يمكن أن تتأثر وحدة Secure Client Umbrella النمطية (المعروفة سابقا باسم AnyConnect Roaming Security) على الشبكات التي لا يتوفر فيها DNS المشفر. وذلك لأن الوحدة النمطية يمكن أن تحاول إستخدام DNS القياسي عبر واجهة LAN بينما يتطلب Tunnel-all-DNS DNS عبر VPN.
بشكل افتراضي، تستخدم الوحدة النمطية Umbrella DNS المشفر (UDP port 443)، والذي لا يتم حظره بشكل عام بواسطة tunnel-all-DNS. يظهر الإصدار بشكل رئيسي عندما يكون التشفير غير متاح ويستخدم DNS عادي.
التوصية: إضافة عناوين محلل Cisco Umbrella إلى قائمة التقسيم إلى يتضمن إذا كنت تستخدم tunnel-all-DNS مع وحدة Umbrella النمطية. أو ارجع إلى Enable Tunnel All DNS ل Secure Client مع مستند وحدة نمطية (معرف المستند: 224809).
غالبا ما تكون مشكلة Microsoft Windows هذه هي الأكثر انتشارا في ظل هذه الشروط:
وقد يؤدي ذلك إلى تأخيرات كبيرة في تحليل الاسم، خاصة عندما تدفع وحدة الاستقبال والبث العديد من لاحقات DNS. يجب أن يمر المحلل عبر اللاحقات والخوادم حتى يتلقى إستجابة إيجابية.
تم حل هذه المشكلة في إصدارات AnyConnect 3.0(4235) و Secure Client اللاحقة. أحلت cisco بق id CSCtq02141 و cisco بق id CSCtn14578 لتفاصيل.
ملاحظة: لا يتمتع إلا مستخدمي Cisco المسجلين بالوصول إلى أدوات الأخطاء الداخلية من Cisco.
قم بتمكين الاتصال النفقي باستثناء الانقسام لعنوان IP لذلك، يمكن أن يستخدم DNS المحلي المهايئ الفعلي. يشيع إستخدام عنوان من الشبكة الفرعية 169.254.0.0/16 الخاصة بالارتباط كحركة مرور إلى هذه العناوين ومن غير المرجح أن تجتاز شبكة VPN.
بعد تمكين الاتصال النفقي الخاص بفصل-إستثناء، قم بتمكين الوصول إلى شبكة LAN المحلية على ملف تعريف العميل أو العميل، وتعطيل tunnel-all-DNS. هذا مثال تكوين ASA/FTD:
access-list acl_linklocal_169.254.1.1 standard permit host 169.254.1.1
group-policy gp_access-14 attributes
split-tunnel-policy excludespecified
split-tunnel-network-list value acl_linklocal_169.254.1.1
split-tunnel-all-dns disable
exit
XML لملف تعريف العميل:
true
كما يمكنك تمكين هذا في واجهة المستخدم الرسومية (GUI) الآمنة للعميل: →تمكين السماح بالوصول المحلي (LAN) عند إستخدام شبكة VPN
تتعامل أنظمة تشغيل العملاء المختلفة مع DNS بشكل مختلف باستخدام الاتصال النفقي المنقسم (بدون DNS المنقسم) للعميل الآمن؛ يصف هذا القسم تلك الاختلافات.
في Windows، تكون إعدادات DNS لكل واجهة شبكة. باستخدام الاتصال النفقي المنقسم، يمكن أن تعود استعلامات DNS إلى خوادم DNS الخاصة بالمهايئ المادي بعد فشلها على مهايئ نفق VPN. إذا تم إستخدام الاتصال النفقي المنقسم بدون DNS المنقسم، يمكن أن تعمل كل من دقة الوضوح الداخلية والخارجية حيث يمكن أن يرجع المحلل إلى خوادم DNS الخارجية. حدث تغيير كبير في "عميل الأمان" ل Windows في الإصدار 4.2 بعد إصلاح معرف تصحيح الأخطاء من Cisco CSCuf07885. لم يتم تغيير هذا السلوك في "العميل الآمن" 5.x.
ملاحظة: لا يتمتع إلا مستخدمي Cisco المسجلين بالوصول إلى أدوات الأخطاء الداخلية من Cisco.
برنامج Pre-Secure Client 4.2 (AnyConnect 4.1 والإصدارات الأقدم):
Secure Client 4.2 والإصدارات الأحدث:
لا يتعارض برنامج تشغيل العميل الآمن مع محلل DNS الأصلي. تتوافق الدقة مع ترتيب محول الشبكة؛ Secure Client هو المهايئ المفضل عند توصيل شبكة VPN.
يتم إرسال استعلام DNS أولا عبر النفق؛ في حالة عدم حل هذه المشكلة، يمكن للمحلل تجربة الواجهة العامة. يجب أن تتضمن قائمة الوصول ذات التضمين المنقسم الشبكة الفرعية التي تغطي خادم (خوادم) DNS عبر النفق في الإصدارات قبل 4.2. بدءا من العميل الآمن 4.2، تتم إضافة المسارات المضيفة لخادم (خوادم) DNS عبر النفق تلقائيا كشبكات ذات التضمين المنقسم (مسارات آمنة)، لذلك لم تعد قائمة التحكم في الوصول ذات التضمين المنقسم تتطلب شبكات خادم DNS النفق الفرعية الصريحة.
نفس سلوك المحلل مثل Split-include، tunnel أولا، ثم الواجهة العامة إحتياطي. يجب ألا تتضمن قائمة الوصول Split-Exclude الشبكة الفرعية التي تغطي خادم (خوادم) DNS للنفق. وبدءا من Secure Client 4.2، تعمل المسارات التلقائية للمضيف لخوادم DNS عبر النفق على منع التكوين الخاطئ لاستبعاد الانقسام الشائع.
يتطلب Split-DNS على Windows إنشاء نفق-include (Split-tunnel-policy tunnelspecified.) لا يدعم سياسات النفق ذي الاستبعاد فقط لتكوين DNS المقسم.
العميل الآمن مسبقا 4.2:
Secure Client 4.2 والإصدارات الأحدث (True Split DNS على Windows):
تضيف وثائق مسؤول Secure Client 5.x DNS المقسمة للتكوينات ذات إستثناء المقسم. ارجع إلى دليل مسؤول Secure Client 5.x — تكوين DNS المقسم لتوصيل وحدة الاستقبال والبث الخاصة باستبعاد التقسيم لمتطلبات السياسة. لا تزال قواعد الإنفاذ على مستوى نظام التشغيل مطبقة بمجرد أن يكون DNS المقسم نشطا.
يمكن أن تتجاوز التطبيقات أو ميزات نظام التشغيل التي تستخدم DNS عبر HTTPS (DoH) أو DNS عبر TLS (DoT) مسار محلل كعب Windows الذي يقوم بتأمين تصفية العميل. إذا ظهر فشل انقسام DNS لتطبيقات معينة ولكنه يعمل في متصفح، فتحقق مما إذا كانت تلك التطبيقات تستخدم DNS مشفرة أو مخصصة. يجب أن يستخدم إختبار DNS المقسم القياسي محلل نظام التشغيل (المستعرض، إختبار الاتصال)، وليس NSLookup/dig.
في MacOS، تكون إعدادات DNS عامة (ليس لكل واجهة). إذا تم إستخدام أنفاق التقسيم دون تقسيم DNS، غالبا ما يتعذر على استعلامات DNS الوصول إلى خوادم DNS خارج النفق كما هو متوقع، يمكنك حل الأسماء الداخلية فقط، وليس الأسماء الخارجية من خلال المسار العام. وثقت هذا في cisco بق id CSCtf20226 و cisco بق id CSCtz86314.
الحلول:
يتم دعم انقسام DNS على MacOS من AnyConnect 3.1 فصاعدا، مع مراعاة الشروط التالية:
ملاحظة: لا يقوم العميل الآمن في المقام الأول بإدارة تحليل الاسم من خلال /etc/resolv.conf على نظام التشغيل MacOS؛ يقوم بتكوين إعدادات DNS على مستوى نظام التشغيل. يمكن أن يقوم MacOS بإبقاء resolv.conf محدثا للتوافق. قم بتشغيل DNS — لعرض تكوين DNS الفعال.
عند اتصال Secure Client، تبقى خوادم DNS للنفق فقط في تكوين DNS للنظام؛ الطلبات فقط إلى خادم (خوادم) DNS النفق.
لا يتعارض العميل الآمن مع المحلل الأصلي. يتم تفضيل خوادم DNS للنفق على المحددات العامة، لذلك يتم تمرير محاولة الاستعلام الأولى عبر النفق. لأن DNS عمومي على MacOS، لا تستخدم الاستعلامات دائما DNS العام بشكل موثوق به خارج النفق (معرف تصحيح الأخطاء من Cisco: CSCtf20226).
وبدءا من تطبيق Secure Client 4.2، تتم إضافة المسارات المضيفة لخوادم DNS النفقية تلقائيا كمسارات آمنة.
يتم تطبيق تقسيم DNS صحيح (مماثل ل Windows) عندما:
يعني True Split DNS تطابق مجالات DNS التي تم تقسيمها عبر النفق فقط ولا يتم تسريبها إلى المحددات الخارجية.
إذا تم تمكين Split-DNS لبروتوكول واحد فقط وتم تعيين عنوان عميل للبروتوكول الآخر، يتم فرض فقط DNS إحتياطي للاتصال النفقي المقسم: يسمح Secure Client بالاستعلامات المطابقة عبر النفق (يمكن رفض الاستعلامات الأخرى لفرض تجاوز الفشل)، ولكن لا يمكن منع تسرب استعلامات مجال DNS-Split التي تم إرسالها في المسح عبر المحول العام.
دعم النظام الأساسي (دليل إدارة العميل الآمن): DNS للانقسام الكامل مدعوم على Windows و MacOS. يتمتع لينكس بدعم محدود (راجع قسم لينكس).
عند اتصال Secure Client، يتم الاحتفاظ فقط بخوادم DNS للنفق في تكوين DNS للنظام.
لا يتعارض العميل الآمن مع المحلل الأصلي. يفضل إستخدام خوادم DNS للنفق؛ محاولة الحل الأولي تمر عبر النفق.
في حالة تمكين انقسام-DNS، يتم فرض فقط تعيين DNS الاحتياطي لتقسيم الاتصال النفقي على نظام التشغيل Linux:
يشير دليل إدارة العميل الآمن إلى انقسام DNS على Linux: تخضع طلبات DNS التي يتم إنشاء قنوات لها فقط بشكل كامل لنهج DNS المقسم؛ يتعذر على بعض الاستعلامات خارج النفق الامتثال لنهج DNS المقسم.
يدعم "العميل الآمن" سمة مخصصة للنفق من أي مصدر، لذلك يمكن توجيه الحزم التي تحتوي على أي عنوان مصدر في وضع "تقسيم التضمين" أو "تقسيم الاستبعاد" داخل مثيلات VM أو حاويات Docker. ارجع إلى دليل مسؤول الإصدار Secure Client 5.x للحصول على تفاصيل التكوين.
يختلف سلوك نظام التشغيل iOS عن نظام التشغيل MacOS ولا يتطابق مع Windows. إذا تم تكوين الاتصال النفقي المنقسم بدون DNS المنقسم، تستخدم استعلامات DNS عادة خادم DNS العمومي المعرف للجهاز - وليس نفس النمط الاحتياطي مثل Windows.
التأثير العملي: غالبا ما تكون إدخالات مجال DNS المقسمة مطلوبة لدقة الاسم الداخلية الموثوقة عند إستخدام اتصال DNS المقسم.
الإصلاح التاريخي: معرف تصحيح الأخطاء من Cisco CSCtq09624 - (AnyConnect ل iOS 2.5.4038 والإصدارات الأحدث.) يلتزم "العميل الآمن" الحالي ل iOS بنفس المتطلبات العامة؛ تكوين DNS المنقسم للمجالات الداخلية عند إستخدام split-include/split والاستثناء بدون الاعتماد على نسخة إحتياطية من نمط Windows.
ملاحظة: تتجاهل استعلامات DNS iOS المجالات المحلية .(معرف تصحيح الأخطاء من Cisco CSCts89292.)
تتعامل أبل مع هذا باعتباره سلوكا مصمما؛ لا تتوقع . دقة محلية من خلال DNS المقسم القياسي على iOS. في نظام التشغيل iOS، يختلف سلوك تقسيم العميل الآمن إلى DNS أيضا عن الأنظمة الأساسية الأخرى عند دمج الاتصال النفقي المنقسم مع تكوينات قائمة DNS المقسمة المحددة. ارجع إلى سلوك تحليل DNS لتقسيم قسم "دليل العميل الآمن" باستخدام "تقسيم النفق" لتركيبات النهج الخاصة بنظام التشغيل iOS (بدون Split-DNS، الافتراضي-المجال، وما إلى ذلك).
تعمل تقنية تقسيم الاتصال النفقي الديناميكي على حل شبكات FQDN في وقت الاتصال أو عند الطلب، وضبط التوجيه وعوامل التصفية لحركة مرور البيانات إلى مجالات محددة. يتم تضمين هذا الإجراء في النفق أو إستبعاده من النفق بدون قوائم IP الثابتة.
| الميزة | الوصف |
|---|---|
| إستثناء انقسام ديناميكي | يتم إستبعاد المجالات (example.com) من النفق في وقت التشغيل عندما تقوم التطبيقات بحل هذه الأسماء. |
| تضمين التقسيم الديناميكي | يتم تضمين المجالات بشكل ديناميكي في النفق. |
| انقسام ديناميكي محسن | قم بتضمين/إستثناء قوائم المجالات ذات قواعد الأسبقية (مثل إستثناء example.com، لكن يتضمن mail.example.com). |
يستخدم الاتصال النفقي بتقسيم ديناميكي تحليل DNS لتوجيه تغييرات التوجيه. يتم تكوينها عبر سمات العميل المخصصة الآمنة على وحدة الاستقبال والبث (على سبيل المثال، Dynamic-split-exclude-domains، Dynamic-split-include-domains.)
يطبق انقسام ديناميكي tunneling على سياسات tunnel-all وsplit-exclude (إستثناء ديناميكي) أو split-include (تضمين ديناميكي). ولا يحل محل سياسة DNS المقسمة، ومع ذلك، فإنه يكمل ما يلي: تقسيم عناصر تحكم DNS التي يتم إنشاء قنوات لها للاستعلامات؛ عناصر تحكم انقسام نفقي ديناميكي يتم إنشاء قنوات لحركة مرور IP استنادا إلى أسماء تم حلها. ارجع إلى تفاصيل التكوين: تكوين الاتصال النفقي بتقسيم ديناميكي ودليل مسؤول العميل الآمن 5.x.
تجاوز فشل إستثناء التقسيم (العميل الآمن 5.x): تقوم السمة المخصصة الاختيارية SplitExcludeFailoverEnabled بتوجيه حركة مرور البيانات عبر الشبكة الخاصة الظاهرية (VPN) عندما لا يكون للمسار العام اتصال بأهداف Split-Exclude. راجع دليل المسؤول لإعداد السمة المخصصة.
ينطبق الجدول التالي فقط على عمليات النشر القديمة التي لا تزال تقوم بتشغيل عملاء مهجورين:
| الإصدار | صلة |
|---|---|
| AnyConnect 2.4 | تم تقديم إحتياطي DNS الخاص بتقسيم أفضل الجهود |
| AnyConnect 2.5 (iOS) | معرف الخطأ من Cisco: محاذاة DNS CSCtq09624 iOS |
| AnyConnect 3.0(4235) | تقسيم DNS صحيح على Windows؛ إصلاحات أداء DNS |
| AnyConnect 3.1 (في MacOS) | تقسيم دعم DNS مع شروط IPv4/IPv6 |
| AnyConnect 4.2 | معرف تصحيح الأخطاء من Cisco: الإنفاذ المستند إلى مهايئ CSCuf07885؛ مسارات مضيف DNS التلقائية للنفق |
تمتع بنشر الإصدار Secure Client 5.x على جميع الأنظمة الأساسية المدعومة للإصلاحات والميزات الحالية.
ملاحظة: لا يتمتع إلا مستخدمي Cisco المسجلين بالوصول إلى أدوات الأخطاء الداخلية من Cisco.
| مراجعة | التاريخ | التعليقات |
|---|---|---|
| 4.0 | 28 يوليو-2026 | تحديث موضوعي كامل: إنشاء العلامة التجارية الخاصة بالعميل الآمن، تحديث النظام الأساسي، الاتصال النفقي المنقسم الديناميكي، Umbrella/Tunnel-all-DNS، إصلاحات الكتابة والتكوين، الارتباطات ذات الصلة التي تم تصحيحها |
| 3.0 | 23-مايو-2024 | إعادة الاعتماد (Cisco.com) |
| 1.0 | 12-يونيو-2014 | الإصدار الأولي |
| المراجعة | تاريخ النشر | التعليقات |
|---|---|---|
4.0 |
10-Aug-2026
|
المقدمة المحدثة، التدقيق الإملائي، النحوي، عناوين URL ثابتة، إدراج خطوط أفقية لأقسام منفصلة من أجل إمكانية القراءة، وأخطاء CCW ثابتة. |
3.0 |
23-May-2024
|
تقويم |
1.0 |
12-Jun-2014
|
الإصدار الأولي |