استخدم ترجمة عناوين الشبكة المصدر (SNAT) للاتصالات الصادرة

تتطلب بعض السيناريوهات أجهزة ظاهرية أو مثيلات حوسبة للحصول على اتصال صادر بالإنترنت. يمكن استخدام عناوين IP الخاصة بالواجهة الأمامية لموازنة التحميل العام لتوفير اتصال صادر بالإنترنت للمثيلات الخلفية. يستخدم هذا التكوين ترجمة عنوان الشبكة المصدر (SNAT) لترجمة عنوان IP الخاص بالجهاز الظاهري إلى عنوان IP عام لموازنة التحميل. تقوم SNAT بتعيين عنوان IP للواجهة الخلفية إلى عنوان IP عام لموازن التحميل الخاص بك. تعمل SNAT على منع المصادر الخارجية من امتلاك عنوان مباشر إلى مثيلات الواجهات الخلفية.

طرق الاتصال الصادرة من Azure

الطرق التالية هي الطرق الأكثر استخداما في Azure لتمكين الاتصال الصادر:

# الأسلوب تخصيص نوع المنفذ درجة الإنتاج؟ التقييم
1 استخدم عنوان (عناوين) IP الخاصة بالواجهة الأمامية لموازنة التحميل للخارج عبر القواعد الصادرة ثابت وصريح نعم، ولكن ليس على نطاق واسع موافق
2 ربط بوابة NAT بالشبكة الفرعية ديناميكية وصريحة ‏‏نعم‬ أفضل
3 تعيين عنوان IP عام إلى الجهاز الظاهري ثابت وصريح ‏‏نعم‬ موافق
4 الوصول الصادر الافتراضي ضمني لا الأسوأ

رسم تخطيطي لخيارات Azure الصادر.

1. استخدام عنوان IP الخاص بالواجهة الأمامية لموازنة التحميل للخارج عبر القواعد الصادرة

رسم تخطيط لموازن تحميل عام مع قواعد صادرة.

تمكّنك القواعد الصادرة من تحديد SNAT (ترجمة عنوان الشبكة المصدر) بشكل صريح لموازن التحميل العام القياسي لـ SKU. يسمح لك هذا التكوين باستخدام عنوان IP العام أو عنوان IP موازن التحميل الخاص بك للاتصال الصادر للمثيلات الخلفية.

يمكِّن هذا التكوين ما يلي:

  • تنكّر عنوان IP

  • تبسيط قوائم السماح

  • تقليل عدد موارد عناوين IP العامة التي يتم توزيعها

بفضل قواعد الاتصالات الصادرة، يتوفر لديك التحكم الإلزامي الكامل في الاتصال الصادرة بالإنترنت. تسمح لك القواعد الصادرة بتحجيم هذه القدرة وضبطها وفقاً لاحتياجاتك المحددة من خلال تخصيص المنفذ اليدوي. يمكن أن يساعد تخصيص منفذ SNAT يدوياً تبعاً لحجم تجمع الوجهة الخلفية وعدد من frontendIPConfigurations على تجنب استنفاد SNAT.

يمكنك تخصيص منافذ SNAT يدوياً إما بواسطة "منافذ لكل مثيل" أو "الحد الأقصى لعدد مثيلات الخلفية". إذا كانت لديك أجهزة ظاهرية في الواجهة الخلفية، فمن المستحسن تخصيص المنافذ بواسطة "منافذ لكل مثيل" للحصول على أقصى استخدام منفذ SNAT.

حساب المنافذ لكل مثيل كما يلي:

عدد عناوين IP الجهة الأمامية × 64K / عدد مثيلات الخلفية

إذا كان لديك مجموعة Scale Sets للأجهزة الظاهرية في الوجهة الخلفية، فمن المستحسن تخصيص المنافذ بواسطة "الحد الأقصى لعدد المثيلات الخلفية". إذا تمت إضافة المزيد من الأجهزة الظاهرية إلى الخلفية من منافذ SNAT المتبقية المسموح بها، فقد يتم حظر توسيع نطاق مجموعات مقياس الجهاز الظاهري، أو لن تتلقى الأجهزة الظاهرية الجديدة منافذ SNAT كافية.

لمزيد من المعلومات حول قواعد الاتصالات الصادرة، راجع قواعد الاتصالات الصادرة.

2. ربط بوابة NAT بالشبكة الفرعية

رسم تخطيطي لبوابة NAT وموازن تحميل عام.

تعمل بوابة Azure NAT على تبسيط اتصال الإنترنت الصادر فقط للشبكات الظاهرية. عند تكوينه على شبكة فرعية، يستخدم كل الاتصالات الصادرة عناوين IP العامة الثابتة المحددة. الاتصال الصادر ممكن من دون موازن التحميل أو عناوين IP العامة المرفقة مباشرةً بالأجهزة الظاهرية. بوابة NAT مدارة بالكامل ومرنة للغاية.

يُعد استخدام بوابة NAT هو أفضل طريقة للاتصالات الصادرة. تتميز بوابة NAT بقابلتيها الكبيرة للتوسعة وموثوقية الاعتماد عليها، وأنها على تحتوي على نفس مخاوف استنزاف المنفذ كما هو الحال مع SNAT.

تأخذ بوابة NAT الأسبقية على أساليب الاتصال الصادرة الأخرى، بما في ذلك موازن التحميل وعناوين IP العامة على مستوى المثيل وجدار حماية Azure.

لمزيد من المعلومات حول Azure NAT Gateway، راجع ما هي بوابة Azure NAT.

3. تعيين عنوان IP عام إلى الجهاز الظاهري

رسم تخطيط لأجهزة ظاهرية مع عناوين IP عامة لمستوى المثيل.

الارتباطات الأسلوب بروتوكولات IP
عنوان IP عام عبر NIC لجهاز ظاهري (VM) لا يتم استخدام SNAT (ترجمة عنوان الشبكة المصدر)
.
TCP (بروتوكول التحكم بالإرسال)
UDP (بروتوكول مخطط بيانات المستخدم)
ICMP (بروتوكول رسالة التحكم بالإنترنت)
ESP (تغليف حمولة الأمان)

ترجع نسبة استخدام الشبكة إلى العميل الطالب من عنوان IP العام للجهاز الظاهري (IP مستوى المثيل).

يستخدم Azure عنوان IP العام المعين لتكوين عنوان IP الخاص بـNIC للمثيل لجميع التدفقات الصادرة. يتوفّر لدى المثيل جميع المنافذ المؤقتة. لا يهم ما إذا كان الجهاز الظاهري متوازن الحمل أم لا. هذا السيناريو له الأسبقية على الآخرين، باستثناء بوابة NAT.

يكون عنوان IP العام المعيّن لجهاز ظاهري (VM) في علاقة 1:1 مباشرة (وليس 1:العديد) ويتم تنفيذها كاتصال 1:1 NAT عديم الحالة.

4. الوصول الصادر الافتراضي

رسم تخطيطي للوصول الصادر الافتراضي.

في Azure، يتم تعيين عنوان IP عام افتراضي صادر للأجهزة الظاهرية التي تم إنشاؤها في شبكة ظاهرية من دون تعريف اتصالية صريحة صادرة. يُمكّن عنوان IP هذا الاتصالية الصادرة من الموارد إلى الإنترنت. يشار إلى هذا الوصول باسم الوصول الصادر الافتراضي. لا يوصى باستخدام طريقة الوصول هذه لأنها غير آمنة وعناوين IP عرضة للتغيير.

هام

في 30 سبتمبر 2025، سيتم إيقاف الوصول الصادر الافتراضي للنشرات الجديدة. لمزيد من المعلومات، راجع الإعلان الرسمي. يوصى باستخدام أحد أشكال الاتصال explict كما هو موضح في الخيارات 1-3 أعلاه.

ما هي منافذ SNAT؟

تُستخدم المنافذ لإنشاء معرفات فريدة تستخدم للحفاظ على تدفقات مميزة. الإنترنت يستخدم مجموعة خماسية لتوفير هذا التمييز.

عند استخدام منفذ للاتصالات الواردة، فإنه يحتوي على وحدة استماع لطلبات الاتصال الواردة على ذلك المنفذ. ولا يمكن استخدام هذا المنفذ للاتصالات الصادرة. لإنشاء اتصال صادر، يتم استخدام منفذ مؤقت لتزويد الوجهة بمنفذ للاتصال به والحفاظ على تدفق البيانات المميز. عند استخدام هذه المنافذ المؤقتة في SNAT، تُسمى منافذ SNAT.

وبحكم التعريف، يحتوي كل عنوان IP على 65,535 منفذاً. يمكن استخدام كل منفذ إما للاتصالات الواردة وإما الصادرة لبروتوكول التحكم بالإرسال (TCP) وبروتوكول مخطط بيانات المُستخدم (UDP). عند إضافة عنوان IP عام باعتباره عنوان IP الجهة الأمامية لموازن التحميل، يكون هناك 64,000 منفذ مؤهل لاستخدام SNAT.

كل منفذ مستخدم في موازنة التحميل أو قاعدة NAT الواردة يستهلك نطاقًا من ثمانية منافذ من منافذ SNAT المتوفرة البالغ عددها 64000 منفذ. هذا الاستخدام يقلل من عدد المنافذ المؤهلة لـ SNAT، إذا تم استخدام نفس عنوان IP الأمامي للاتصال الصادر. إذا كانت منافذ موازنة التحميل أو قواعد NAT الواردة المستهلكة في نفس الكتلة المكونة من ثمانية منافذ تستهلكها قاعدة أخرى، فإن القواعد لا تتطلب منافذ إضافية.

إشعار

إذا كنت بحاجة إلى الاتصال بأي خدمات Azure PaaS مدعومة مثل Azure Storage أو Azure SQL أو Azure Cosmos DB، يمكنك استخدام Azure Private Link لتجنب SNAT بالكامل. يرسل Azure Private Link نسبة استخدام الشبكة من شبكتك الافتراضية إلى خدمات Azure عبر شبكة Azure الأساسية بدلاً من الإنترنت.

Private Link هو الخيار الموصى به عبر نقاط تقديم الخدمة للوصول الخاص إلى خدمات Azure المستضافة. لمزيد من المعلومات حول الفرق بين Private Link ونقاط تقديم الخدمة، راجع مقارنة نقاط النهاية الخاصة ونقاط تقديم الخدمة.

كيف يعمل SNAT الافتراضي؟

عندما ينشئ جهاز ظاهري (VM) تدفقاً صادراً، يقوم Azure بترجمة عنوان IP المصدر إلى عنوان IP مؤقت. تتم هذه الترجمة عن طريق SNAT.

إذا كنت تستخدم SNAT بدون قواعد صادرة عبر موازن تحميل عام، يتم تخصيص منافذ SNAT مسبقا كما هو موضح في جدول تخصيص منافذ SNAT الافتراضي التالي:

جدول تخصيص المنافذ الافتراضية

عند تحديد قواعد موازنة التحميل لاستخدام تخصيص المنفذ الافتراضي، أو يتم تكوين القواعد الصادرة باستخدام "استخدام العدد الافتراضي للمنافذ الصادرة"، يتم تخصيص منافذ SNAT بشكل افتراضي استنادا إلى حجم تجمع الخلفية. ستتلقى الواجهة الخلفية عدد المنافذ المحددة بواسطة الجدول، لكل عنوان IP للواجهة الأمامية، بحد أقصى 1024 منفذا.

على سبيل المثال، مع وجود 100 جهاز ظاهري في تجمع الواجهة الخلفية وعنوان IP أمامي واحد فقط، سيتلقى كل جهاز ظاهري 512 منفذا. إذا تمت إضافة عنوان IP للواجهة الأمامية الثانية، فسيتلقى كل جهاز ظاهري 512 منفذا إضافيا. وهذا يعني أنه يتم تخصيص ما مجموعه 1024 منفذا لكل جهاز ظاهري. ونتيجة لذلك، لن تؤدي إضافة عنوان IP للواجهة الأمامية الثالثة إلى زيادة عدد منافذ SNAT المخصصة بعد 1024 منفذا.

كقاعدة عامة، يمكن حساب عدد منافذ SNAT المتوفرة عند الاستفادة من تخصيص المنفذ الافتراضي على النحو التالي: MIN(# من منافذ SNAT الافتراضية المقدمة استنادا إلى حجم التجمع * عدد عناوين IP الأمامية المرتبطة بالتجمع، 1024)

يعرض الجدول التالي التخصيصات المسبقة لمنفذ SNAT ل IP واجهة أمامية واحدة، اعتمادا على حجم تجمع الواجهة الخلفية:

حجم التجمع (مثيلات الجهاز الظاهري VM) منافذ SNAT الافتراضية
1-50 1,024
51-100 512
101-200 256
201-400 128
401-800 64
801-1,000 32

استهلاك المنافذ

يستخدم كل اتصال بنفس عنوان IP الوجهة ومنفذ الوجهة منفذ SNAT. يحافظ هذا الاتصال على تدفق نقل بيانات مميز من مثيل الجهة الخلفية أو العميل إلى خادم. تمنح هذه العملية للخادم منفذّا مميزاً يتم توجيه نقل البيانات إليه. دون هذه العملية، لا يكون جهاز العميل مدركاً لأي تدفق تكون حزمة البيانات جزءاً منه.

تخيل وجود متصفحات متعددة ذاهبة إلى https://www.microsoft.com، والذي يكون:

  • عنوان IP الوجهة له = 23.53.254.142

  • منفذ الوجهة = 443

  • البروتوكول = TCP

بدون منافذ SNAT لحركة مرور الإرجاع، لا يملك العميل طريقة لفصل نتيجة استعلام واحدة عن أخرى.

يمكن أن تندفع الاتصالات الصادرة بكثافة. ويمكن تخصيص عدد منافذ غير كافِ لمثيل الجهة الخلفية. استخدم وظيفة إعادة استخدام الاتصال داخل التطبيق الخاص بك. فدون إعادة استخدام الاتصال، يزداد خطر استنفاد منفذ SNAT.

لمزيد من المعلومات حول مجموعة الاتصال باستخدام Azure App Service، راجع استكشاف أخطاء الاتصال الصادرة المتقطعة وإصلاحها في خدمة Azure App Service

تفشل الاتصالات الصادرة الجديدة إلى عنوان IP الوجهة عند حدوث استنفاد المنفذ. تنجح الاتصال عندما يصبح المنفذ متوفرا. يحدث هذا الاستنزاف عند نشر 64,000 منفذ لأحد عناوين IP بصورة رقيقة عبر العديد من مثيلات الوجهات الخلفية. للاطلاع على إرشادات تخفيف استنزاف منفذ SNAT، راجع دليل استكشاف الأخطاء وإصلاحها.

بالنسبة لاتصالات TCP، يستخدم موازن التحميل منفذ SNAT واحدا لكل عنوان IP وجهة ومنفذ. يتيح هذا الاستخدام المتعدد إمكانية الاتصالات المتعددة إلى عنوان IP الوجهة نفسها مع ذات منفذ SNAT. يكون هذا الاستخدام المتعدد محدوداً، إذا لم يكن الاتصال يتم عبر منافذ وجهة مختلفة.

بالنسبة لاتصالات بروتوكول UDP، يستخدم موازن التحميل خوارزمية NAT بوقية مقيدة بالمنفذ، والتي تستهلك منفذ SNAT واحد لكل عنوان IP وجهة بصرف النظر عن المنفذ الوجهة.

يُعاد استخدام المنفذ لعدد محدد من الاتصالات. لا يُعاد استخدام المنفذ إلا في حال اختلاف عنوان IP الوجهة أو المنفذ.

القيود

  • عندما يكون الاتصال خاملاً مع عدم إرسال أي حزم جديدة، سيتم تحرير المنافذ بعد 4 - 120 دقيقة.

  • يمكن تكوين هذا الحد عبر قواعد الاتصالات الصادرة.

  • يوفر كل عنوان IP عدد 64,000 منفذ يمكن استخدامها مع SNAT.

  • يمكن استخدام كل منفذ لكل من اتصالات TCP وUDP إلى عنوان IP الوجهة

  • يلزم توفير منفذ UDP SNAT سواء كان منفذ الوجهة فريداً أم لا. يتم استخدام منفذ UDP SNAT واحد، لكل اتصال UDP إلى عنوان IP الوجهة.

  • يمكن استخدام منفذ TCP SNAT للاتصالات المتعددة إلى عنوان IP الوجهة نفسها شريطة أن تكون منافذ الوجهة مختلفة.

  • يحدث استنفاد منافذ SNAT عند تنفد منافذ SNAT المعينة لمثيل الوجهة الخلفية. يحتمل أن تظل هناك منافذ SNAT غير مستخدمة لدى موازن التحميل. إذا تجاوزت منافذ SNAT المستخدمة لمثيل الخلفية منافذ SNAT المحددة، فلن تتمكن من إنشاء اتصالات صادرة جديدة.

  • يتم إسقاط الحزم المجزأة ما لم يكن الصادر من خلال IP عام على مستوى المثيل على NIC الخاص بالجهاز الظاهري.

  • لا توفر تكوينات عناوين IP الثانوية لواجهة الشبكة أي اتصال صادرة (ما لم يتم ربطها بعنوان IP عام) عبر موازنة التحميل.

الخطوات التالية