استخدم ترجمة عناوين الشبكة المصدر (SNAT) للاتصالات الصادرة
تتطلب بعض السيناريوهات أجهزة ظاهرية أو مثيلات حوسبة للحصول على اتصال صادر بالإنترنت. يمكن استخدام عناوين IP الخاصة بالواجهة الأمامية لموازنة التحميل العام لتوفير اتصال صادر بالإنترنت للمثيلات الخلفية. يستخدم هذا التكوين ترجمة عنوان الشبكة المصدر (SNAT) لترجمة عنوان IP الخاص بالجهاز الظاهري إلى عنوان IP عام لموازنة التحميل. تقوم SNAT بتعيين عنوان IP للواجهة الخلفية إلى عنوان IP عام لموازن التحميل الخاص بك. تعمل SNAT على منع المصادر الخارجية من امتلاك عنوان مباشر إلى مثيلات الواجهات الخلفية.
طرق الاتصال الصادرة من Azure
الطرق التالية هي الطرق الأكثر استخداما في Azure لتمكين الاتصال الصادر:
# | الأسلوب | تخصيص نوع المنفذ | درجة الإنتاج؟ | التقييم |
---|---|---|---|---|
1 | استخدم عنوان (عناوين) IP الخاصة بالواجهة الأمامية لموازنة التحميل للخارج عبر القواعد الصادرة | ثابت وصريح | نعم، ولكن ليس على نطاق واسع | موافق |
2 | ربط بوابة NAT بالشبكة الفرعية | ديناميكية وصريحة | نعم | أفضل |
3 | تعيين عنوان IP عام إلى الجهاز الظاهري | ثابت وصريح | نعم | موافق |
4 | الوصول الصادر الافتراضي | ضمني | لا | الأسوأ |
1. استخدام عنوان IP الخاص بالواجهة الأمامية لموازنة التحميل للخارج عبر القواعد الصادرة
تمكّنك القواعد الصادرة من تحديد SNAT (ترجمة عنوان الشبكة المصدر) بشكل صريح لموازن التحميل العام القياسي لـ SKU. يسمح لك هذا التكوين باستخدام عنوان IP العام أو عنوان IP موازن التحميل الخاص بك للاتصال الصادر للمثيلات الخلفية.
يمكِّن هذا التكوين ما يلي:
تنكّر عنوان IP
تبسيط قوائم السماح
تقليل عدد موارد عناوين IP العامة التي يتم توزيعها
بفضل قواعد الاتصالات الصادرة، يتوفر لديك التحكم الإلزامي الكامل في الاتصال الصادرة بالإنترنت. تسمح لك القواعد الصادرة بتحجيم هذه القدرة وضبطها وفقاً لاحتياجاتك المحددة من خلال تخصيص المنفذ اليدوي. يمكن أن يساعد تخصيص منفذ SNAT يدوياً تبعاً لحجم تجمع الوجهة الخلفية وعدد من frontendIPConfigurations على تجنب استنفاد SNAT.
يمكنك تخصيص منافذ SNAT يدوياً إما بواسطة "منافذ لكل مثيل" أو "الحد الأقصى لعدد مثيلات الخلفية". إذا كانت لديك أجهزة ظاهرية في الواجهة الخلفية، فمن المستحسن تخصيص المنافذ بواسطة "منافذ لكل مثيل" للحصول على أقصى استخدام منفذ SNAT.
حساب المنافذ لكل مثيل كما يلي:
عدد عناوين IP الجهة الأمامية × 64K / عدد مثيلات الخلفية
إذا كان لديك مجموعة Scale Sets للأجهزة الظاهرية في الوجهة الخلفية، فمن المستحسن تخصيص المنافذ بواسطة "الحد الأقصى لعدد المثيلات الخلفية". إذا تمت إضافة المزيد من الأجهزة الظاهرية إلى الخلفية من منافذ SNAT المتبقية المسموح بها، فقد يتم حظر توسيع نطاق مجموعات مقياس الجهاز الظاهري، أو لن تتلقى الأجهزة الظاهرية الجديدة منافذ SNAT كافية.
عند تكوين عناوين IP متعددة للواجهة الأمامية باستخدام قواعد صادرة، قد تأتي الاتصالات الصادرة من أي من عناوين IP للواجهة الأمامية التي تم تكوينها إلى مثيل الخلفية. لا نوصي بإنشاء أي تبعيات يمكن على أساسها تحديد IP للواجهة الأمامية للاتصالات.
لمزيد من المعلومات حول قواعد الاتصالات الصادرة، راجع قواعد الاتصالات الصادرة.
2. ربط بوابة NAT بالشبكة الفرعية
تعمل بوابة Azure NAT على تبسيط اتصال الإنترنت الصادر فقط للشبكات الظاهرية. عند تكوينه على شبكة فرعية، يستخدم كل الاتصالات الصادرة عناوين IP العامة الثابتة المحددة. الاتصال الصادر ممكن من دون موازن التحميل أو عناوين IP العامة المرفقة مباشرةً بالأجهزة الظاهرية. بوابة NAT مدارة بالكامل ومرنة للغاية.
يُعد استخدام بوابة NAT هو أفضل طريقة للاتصالات الصادرة. تتميز بوابة NAT بقابلتيها الكبيرة للتوسعة وموثوقية الاعتماد عليها، وأنها على تحتوي على نفس مخاوف استنزاف المنفذ كما هو الحال مع SNAT.
تأخذ بوابة NAT الأسبقية على أساليب الاتصال الصادرة الأخرى، بما في ذلك موازن التحميل وعناوين IP العامة على مستوى المثيل وجدار حماية Azure.
لمزيد من المعلومات حول Azure NAT Gateway، راجع ما هي بوابة Azure NAT.
3. تعيين عنوان 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 واحد طالما يختلف المنفذ الوجهة. لا يمكن إعادة الاستخدام عندما يكون هناك اتصال بالفعل بنفس عنوان IP الوجهة والمنفذ.
بالنسبة لاتصالات UDP، يستخدم موازن التحميل خوارزمية NAT المخروطية المقيدة بالمنفذ، والتي تستهلك منفذ SNAT واحدا لكل عنوان IP للوجهة، بغض النظر عن منفذ الوجهة.
يمكن إعادة استخدام المنافذ الفردية لعدد غير محدود من الاتصالات حيث يسمح بإعادة الاستخدام (عندما يكون عنوان IP الوجهة أو المنفذ مختلفا).
في المثال في الجدول التالي، يقوم مثيل الواجهة الخلفية مع IP الخاص 10.0.0.1 بإجراء اتصالات TCP إلى عناوين IP الوجهة 23.53.254.142 و26.108.254.155، بينما يتم تكوين موازن التحميل بعنوان IP للواجهة الأمامية 192.0.2.0. نظرا لأن عناوين IP الوجهة مختلفة، يمكن إعادة استخدام نفس منفذ SNAT لاتصالات متعددة.
سير العمل | مجموعة المصدر | مجموعة المصدر بعد ترجمة عنوان شبكة المصدر | مجموعة الوجهة |
---|---|---|---|
1 | 10.0.0.1:80 | 192.0.2.0:1 | 23.53.254.142:80 |
2 | 10.0.0.1:80 | 192.0.2.0:1 | 26.108.254.155:80 |
القيود
عندما يكون الاتصال خاملاً مع عدم إرسال أي حزم جديدة، سيتم تحرير المنافذ بعد 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 الخاص بالجهاز الظاهري.
تكوينات IPv4 الثانوية لواجهة الشبكة غير مدعومة بالقواعد الصادرة. للاتصال الصادر على تكوينات IPv4 الثانوية، قم بإرفاق عناوين IP العامة على مستوى المثيل أو الاستفادة من بوابة NAT بدلا من ذلك.
الخطوات التالية
- استكشاف أخطاء فشل الاتصال الصادرة وإصلاحها بسبب استنفاد SNAT
- راجع مقاييس SNAT وتعرف على الطريقة الصحيحة لتصفية هذه المقاييس وتقسيمها وعرضها.
- التعرف على كيفية ترحيل أسلوب الاتصال الصادر الموجود إلى بوابة NAT