بروتوكول نقل الملفات السلبي. وضع FTP النشط والسلبي

10.05.2019
    اختصار بروتوكول نقل الملفاتيأتي من اللغة الإنجليزية F ile تتحويل ص rotocol (بروتوكول نقل الملفات) هو بروتوكول طبقة تطبيق لتبادل الملفات عبر بروتوكول نقل TCP/IP بين جهازي كمبيوتر وعميل FTP وخادم FTP. يعد هذا واحدًا من أقدم البروتوكولات، وما زال مستخدمًا بشكل نشط.

تم تصميم بروتوكول FTP لحل المشاكل التالية:

  • الوصول إلى الملفات والدلائل على المضيفين البعيدين
  • ضمان استقلالية العميل عن نوع نظام الملفات الخاص بالكمبيوتر البعيد
  • نقل بيانات موثوق
  • استخدام موارد النظام عن بعد.
  • يدعم بروتوكول FTP قناتي اتصال في وقت واحد - واحدة للنقل فرقونتائج تنفيذها، والآخر للمشاركة بيانات. باستخدام الإعدادات القياسية، يستخدم خادم FTP منفذ TCP 21 لتنظيم قناة لإرسال واستقبال الأوامر ومنفذ TCP 20 لتنظيم قناة لتلقي/نقل البيانات.

    ينتظر خادم FTP الاتصالات من عملاء FTP على منفذ TCP رقم 21، وبعد إنشاء الاتصال، يقبل ويعالج أوامر بروتوكول نقل الملفات، وهي سلاسل نصية عادية. تحدد الأوامر معلمات الاتصال ونوع البيانات المنقولة والإجراءات المتعلقة بالملفات والدلائل. بعد الاتفاق على معلمات الإرسال، يدخل أحد المشاركين في التبادل في الوضع السلبي، في انتظار الاتصالات الواردة لقناة تبادل البيانات، ويقوم الثاني بإنشاء اتصال بهذا المنفذ ويبدأ الإرسال. بمجرد اكتمال النقل، يتم إغلاق اتصال البيانات، ولكن يظل اتصال التحكم مفتوحًا، مما يسمح لك بمواصلة جلسة FTP وإنشاء جلسة نقل بيانات جديدة.

    يمكن استخدام بروتوكول FTP ليس فقط لنقل البيانات بين العميل والخادم، ولكن أيضًا بين خادمين. في هذه الحالة، يقوم عميل FTP بإنشاء اتصال تحكم مع كلا خادمي FTP، ويحول أحدهما إلى الوضع السلبي، والثاني إلى الوضع النشط، مما يؤدي إلى إنشاء قناة نقل البيانات بينهما.

    عميل FTP هو برنامج يتصل بخادم FTP ويقوم بالعمليات اللازمة لعرض محتويات أدلة الخادم واستقبال الملفات أو المجلدات ونقلها وحذفها. يمكن أن يكون مثل هذا البرنامج متصفحًا عاديًا، أو مكونات نظام التشغيل، أو منتجات برمجية مطورة خصيصًا، مثل مدير التنزيلات الشهير. قائد التحميلأو متعددة الوظائف مجانا عميل FileZilla FTP.

    تم تطوير بروتوكول FTP في الأيام التي كان فيها العميل والخادم يتفاعلان بشكل مباشر، دون أي تحويلات وسيطة لحزم TCP، وفي الوضع القياسي يفترض القدرة على إنشاء اتصال TCP ليس فقط بمبادرة من العميل، ولكن أيضًا بمبادرة من العميل. مبادرة الخادم من منفذ TCP 20 إلى TCP - منفذ العميل، الذي يتم إرسال رقمه أثناء إنشاء جلسة البيانات.

    إن حقائق اليوم هي أن اتصال TCP من الخادم إلى العميل يكون في الغالبية العظمى من الحالات مستحيلاً، أو يصعب جدًا تنفيذه بسبب حقيقة أنه في معظم الحالات، يتم استخدام تقنية ترجمة عنوان الشبكة للاتصال بالإنترنت نات(ترجمة عنوان الشبكة) عندما لا يكون لدى العميل واجهة شبكة متاحة لإنشاء اتصال TCP مباشر من الإنترنت. يبدو الرسم التخطيطي النموذجي لاتصال الإنترنت القياسي كما يلي:

    يتم الاتصال بالإنترنت من خلال جهاز خاص - جهاز التوجيه(جهاز توجيه مزود بوظيفة NAT) يحتوي على منفذي شبكة على الأقل - أحدهما متصل بشبكة الموفر، وله واجهة شبكة بعنوان IP موجه (ما يسمى "IP الأبيض")، على سبيل المثال 212.248.22.144، ومنفذ مع واجهة شبكة لتوصيل أجهزة الشبكة المحلية بعنوان IP خاص غير قابل للتوجيه، على سبيل المثال 192.168.1.1 ("IP الرمادي"). عند إنشاء اتصالات من أجهزة الشبكة المحلية إلى عقد الشبكة الخارجية، يتم إرسال حزم IP إلى جهاز التوجيه، الذي يقوم بترجمة العنوان والمنفذ بحيث يصبح عنوان المرسل هو عنوانه عنوان IP الأبيض. يتم حفظ نتائج الترجمة وعند استلام حزمة الاستجابة، يتم إجراء ترجمة عكسية للعنوان. وبالتالي، يضمن جهاز التوجيه إعادة توجيه حزم TCP/IP من أي أجهزة شبكة محلية إلى شبكات خارجية وإعادة توجيه حزم الاستجابة المستلمة. ولكن في الحالات التي يتم فيها تلقي حزمة غير مرتبطة بحزم استجابة TCP عند إدخال واجهة الشبكة المتصلة بشبكة الموفر، تكون خيارات التفاعل التالية ممكنة لبرنامج جهاز التوجيه:

    يتم تجاهل الحزمة بسبب عدم وجود خدمة شبكة لمعالجتها.

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

    تتم إعادة توجيه الحزمة إلى خادم على الشبكة المحلية يتوقع هذا النوع من الاتصالات الواردة وفقًا لقواعد تعيين المنافذ المحددة في إعدادات جهاز التوجيه.

    لذلك، في الوقت الحاضر، أصبح الوضع الرئيسي للتشغيل باستخدام بروتوكول FTP هو ما يسمى "الوضع السلبي"، حيث يتم إجراء اتصالات TCP فقط من العميل إلى منفذ TCP للخادم. يتم استخدام الوضع النشط في الحالات التي يكون فيها من الممكن توصيل TCP من الخادم بمنافذ العميل، على سبيل المثال، عندما تكون على نفس الشبكة المحلية. يتم تحديد وضع اتصال FTP باستخدام أوامر خاصة:

    PASV- يرسل العميل أمرًا لإجراء تبادل البيانات في الوضع السلبي. سيعيد الخادم العنوان والمنفذ الذي تحتاج إلى الاتصال به لتلقي البيانات أو نقلها. مثال لجزء من جلسة FTP مع مجموعة الوضع السلبي:

    PASSV- أمر التبديل إلى الوضع السلبي الذي يرسله عميل FTP إلى خادم FTP

    227 الدخول في الوضع السلبي (212,248,22,144,195,89)- استجابة خادم FTP، حيث 227 هو رمز الاستجابة، وهي رسالة نصية حول التبديل إلى الوضع السلبي وبين قوسين عنوان IP ورقم المنفذ الذي سيتم استخدامه لإنشاء قناة نقل البيانات. يتم عرض العنوان ورقم المنفذ كأرقام عشرية مفصولة بفاصلة. الأرقام الأربعة الأولى هي عنوان IP (212.248.22.144)، والرقمان المتبقيان يحددان رقم المنفذ، الذي يتم حسابه بواسطة الصيغة - يتم ضرب الرقم الأول في 256 ويضاف الرقم الثاني إلى النتيجة، في هذا المثال رقم المنفذ هو 195 * 256 +89 = 50017

    رقم منفذ عنوان IP للعميل PORT- يرسل العميل أمرًا لتأسيس جلسة في الوضع النشط. يتم تحديد عنوان IP ورقم المنفذ بنفس التنسيق كما في المثال السابق، على سبيل المثال المنفذ 212.248.22.144,195,89 لتنظيم نقل البيانات، يتصل الخادم نفسه بالعميل على المنفذ المحدد.

    تثبيت وتكوين خادم FileZilla FTP.

    يمكنك تنزيل حزمة تثبيت FileZilla Server لإصدار نظام التشغيل الخاص بك على

    يتم تثبيت الخادم بالطريقة القياسية، باستثناء البند الخاص باختيار إعدادات لوحة تحكم الخادم:

    هذه هي أداة إدارة الخادم الرئيسية التي يتم من خلالها إجراء جميع الإعدادات الضرورية. افتراضيًا، تعمل لوحة التحكم على واجهة استرجاع دون الوصول إلى كلمة المرور. إذا لزم الأمر، على سبيل المثال، إذا كان التحكم عن بعد بخادم FTP مطلوبًا، فيمكن تغيير هذه الإعدادات.

    بمجرد اكتمال التثبيت، سيتم فتح نافذة دعوة للاتصال بالخادم:

    بعد إدخال عنوان IP ورقم المنفذ وكلمة المرور (إذا قمت بتحديدها أثناء عملية التثبيت)، يتم فتح لوحة تحكم FileZilla Server:

    يوجد في الجزء العلوي من النافذة القائمة الرئيسية وأزرار لوحة التحكم. يوجد أدناه مجالان - رسائل معلومات الخادم والمعلومات الإحصائية. بشكل عام، تعد لوحة تحكم FTP الخاصة بـ FileZilla Servver بسيطة للغاية وسهلة الاستخدام. عناصر القائمة الرئيسية:

    ملف- أوضاع تشغيل لوحة تحكم خادم FTP. يحتوي على عناصر فرعية

    - اتصل بالخادم- الاتصال بالخادم
    - قطع الاتصال- قطع الاتصال بالخادم
    - يترك- اغلاق لوحة التحكم.

    الخادم- إدارة خادم بروتوكول نقل الملفات. يحتوي على فقرات فرعية:

    - نشيط- تشغيل/إيقاف خادم FTP. إذا تم تحديد خانة الاختيار، فسيتم بدء تشغيل خادم FTP، وإذا لم يتم تحديدها، فسيتم إيقافها.
    - قفل- حظر/السماح بالاتصالات بالخادم. عند تحديد خانة الاختيار، يتم حظر الاتصالات الجديدة بالخادم.

    يحرر- إعدادات التحرير. العناصر الفرعية:

    - إعدادات- إعدادات الخادم الأساسية.
    - المستخدمين- إعدادات مستخدم خادم FTP
    - مجموعات- إعدادات مجموعة المستخدمين.

    على سبيل المثال، لنقم بتهيئة الخادم للشروط التالية:

  • الخادم موجود خلف NAT، وله عنوان IP خاص، ولكن يجب أن يمكن الوصول إليه من الإنترنت، ويدعم الوضع السلبي ويستخدم منافذ TCP غير قياسية. يؤدي استخدام المنافذ غير القياسية إلى تقليل احتمالية هجمات القراصنة، وبالإضافة إلى ذلك، يستخدم بعض مقدمي الخدمة تصفية حركة المرور ويحظرون المنافذ القياسية 20 و21.
  • يتمتع المستخدمون بالقدرة على التنزيل من الخادم والتحميل إلى الخادم وحذف الملفات والمجلدات وإعادة تسميتها.
  • إذا كنت تستخدم عنوان IP ديناميكيًا، فيجب عليك التأكد من إمكانية الوصول إلى الخادم عن طريق اسم DNS.
  • سيعمل الخادم على محطة عمل في بيئة نظام التشغيل Windows 7 / Windows 8.
  • بمعنى آخر، تحتاج إلى إنشاء خادم FTP يمكن الوصول إليه من الإنترنت لتبادل الملفات بين المستخدمين، مجانًا بالطبع. من الواضح تمامًا أنه بالإضافة إلى إنشاء التكوين اللازم لخادم FTP نفسه، ستحتاج إلى تغيير بعض إعدادات جهاز التوجيه، وإعدادات جدار الحماية لنظام التشغيل Windows، وحل مشكلة عنوان IP الديناميكي بحيث يمكن الوصول إلى الخادم بالاسم، بغض النظر عن ذلك. من التغيير في عنوان IP.

    حل مشكلة عنوان IP الديناميكي.

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

    لتنفيذ هذه التقنية مجانًا، ستحتاج إلى التسجيل في بعض خدمات DNS الديناميكية وتثبيت برنامج العميل لتحديث سجل DNS في حالة تغير عنوان IP المقابل. عادةً ما يتم توفير الدعم الديناميكي لنظام DNS من قبل الشركات المصنعة لمعدات الشبكات (D-Link، Zyxel، وما إلى ذلك)، وبعض شركات الاستضافة والشركات المتخصصة، مثل DynDNS المعروفة. ومع ذلك، بعد النصف الثاني من عام 2014، أصبحت جميع الخدمات التي كانت تقدم للمستخدمين المسجلين مجانًا للاستخدام غير التجاري مدفوعة الأجر، وربما كان الحل الأكثر شيوعًا هو استخدام DNS الديناميكي القائم على الخدمة لا-IP.org، والذي يوفر خدمات دعم مجانية لعقدتين مع عنوان IP ديناميكي. لاستخدام الخدمة مجانًا، ستحتاج إلى التسجيل وزيارة الموقع بشكل دوري (مرة واحدة تقريبًا في الشهر) لتحديث المعلومات حول عقد IP الديناميكية المستخدمة. إذا تخطيت تحديث بيانات العقدة، فسيتم تعليق الخدمة، وبالتالي سيصبح من المستحيل الاتصال بالعقدة بالاسم. عند استخدام الخدمة مقابل رسوم، لا يلزم إجراء أي تحديث.

        تحتوي جميع أجهزة التوجيه (أجهزة المودم) الحديثة تقريبًا على دعم مدمج لعميل DNS الديناميكي. عادة ما يكون إعداده بسيطًا جدًا - حيث تقوم بملء الحقول باسم المستخدم وكلمة المرور، بالإضافة إلى اسم المضيف الذي تلقيته عند التسجيل في خدمة DDNS. مثال لـ Zyxel P660RU2

        يُفضل استخدام عميل DDNS المدمج في جهاز التوجيه/المودم بدلاً من الأداة المساعدة لتحديث بيانات DNS التي تعمل في بيئة نظام التشغيل، نظرًا لأنه يسمح لك بتنفيذ إمكانات إضافية، مثل إدارة جهاز التوجيه عبر الإنترنت عند إيقاف تشغيل الكمبيوتر و تشغيل مصدر الطاقة عن بعد لأجهزة الكمبيوتر التي تعمل بتقنية NAT باستخدام التكنولوجيا استيقظوا على الشبكة المحلية.

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

    الإجراء هو كما يلي:

  • نذهب إلى الموقع No-IP.org. للعمل مع حساب موجود أو جديد، استخدم الزر "تسجيل الدخول"(أعلى الجانب الأيمن من الصفحة).

  • إنشاء، إذا لم يتم إنشاؤه بعد، حسابك - انقر فوق "إنشاء حساب". يتغير نموذج التسجيل بشكل دوري، ولكن من الضروري إدخال اسم المستخدم وكلمة المرور والبريد الإلكتروني المطلوب. يتم إرسال بريد إلكتروني يحتوي على رابط لتأكيد التسجيل إلى البريد الإلكتروني المحدد أثناء التسجيل. عند التسجيل، حدد الوصول المجاني - انقر فوق الزر تسجيل مجانيبعد ملء جميع حقول النموذج المطلوبة.
  • بعد التسجيل الناجح، قم بتسجيل الدخول إلى الموقع وأضف إدخالاً للعقدة الخاصة بك - انقر فوق الزر "إضافة مضيفين"

    في الواقع، ما عليك سوى إدخال اسم المضيف المحدد، في هذه الحالة - myhost8.ddns.net. ليست هناك حاجة لتغيير أي معلمات أخرى. فأنت بحاجة إلى تنزيل وتثبيت برنامج خاص - عميل التحديث الديناميكي(DUC)، الرابط الموجود في الصفحة الرئيسية للموقع. بعد اكتمال تثبيت DUC، سيتم تشغيله وستفتح نافذة ترخيص، حيث تحتاج إلى إدخال اسم المستخدم أو البريد الإلكتروني وكلمة المرور المستلمة عند التسجيل على موقع no-ip.org. ثم اضغط على الزر تحرير هوستاوحدد المربع المجاور لاسم المضيف الذي تم إنشاؤه مسبقًا (myhost8.ddns.net). الآن، سيتوافق اسم المضيف المحدد دائمًا مع "عنوان IP الأبيض" لاتصالك بالإنترنت. إذا كنت تواجه مشكلة في تحديث عنوان IP الخاص بك، فتحقق لمعرفة ما إذا كان نشاط الشبكة الخاص بعميل DUC الخاص بك محظورًا بواسطة جدار الحماية.

    إعداد خادم FTP

        استخدام أرقام المنافذ غير القياسية لخادم FTP ليس ضروريًا على الإطلاق إذا كان الموفر لا يستخدم تصفية حركة المرور، أو إذا كنت لا تهتم بفحص المنافذ بحثًا عن نقاط الضعف ومحاولة تخمين كلمات المرور. في هذه المقالة، يتم عرض استخدام خادم FTP مع منافذ TCP غير القياسية كأحد الخيارات الممكنة.

    يتم إجراء إعدادات خادم FileZilla من خلال قائمة "تحرير" - "الإعدادات".

    نافذة او شباك الاعدادات العامةمخصص لإعدادات خادم FTP العامة.

    في حقل "الاستماع على هذا المنفذ"، يمكنك تحديد رقم المنفذ لاتصالات TCP الواردة. افتراضيًا، يتم تعيين هذا الحقل على 21 ، ولاستخدام رقم غير قياسي تحتاج إلى تحديد القيمة المحددة، على سبيل المثال - 12321 . إن استخدام منفذ TCP غير قياسي له بعض الإزعاج، لأنه يتطلب تحديد قيمته عند إنشاء جلسة:

    إذا كان من المقرر استخدام الخادم مع إمكانية الوصول من الإنترنت وعلى الشبكة المحلية، فمن المنطقي ترك القيمة القياسية 21، واستخدام رقم منفذ غير قياسي للاتصالات من الإنترنت، وإعداد إعادة توجيه الحزم القادمة من المنفذ 12321 لجهاز التوجيه إلى المنفذ 21 لخادم FTP في الشبكة المحلية. مع هذا الإعداد، ليست هناك حاجة لتحديد رقم منفذ لجلسات FTP داخل الشبكة المحلية.

    المعلمات الأخرى مخصصة لضبط الأداء ومهلة الجلسة. يمكن تركها دون تغيير. يمكن أيضًا ترك الأقسام المتبقية من الإعدادات العامة كإعداد افتراضي:

    رسالة ترحيب- النص الذي يتم إرساله إلى العميل عند الاتصال.

    ملزمة IP- من المتوقع أن يتم توقع اتصالات عميل واجهة الشبكة. افتراضيا - على أي، ولكن يمكنك تحديد واحد محدد، على سبيل المثال - 192.168.1.3.

    مرشح IP- إعداد قواعد التصفية لعناوين IP الخاصة بالعميل. بشكل افتراضي، يتم السماح بالاتصالات لأي عنوان IP.

    الفصل إعدادات الوضع السلبييعمل على تكوين وضع FTP السلبي وسيتطلب تغيير جميع المعلمات الافتراضية تقريبًا.

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

    القسم الفرعي IPv4 محدديحدد عنوان IP الذي سيتم إرساله بواسطة الخادم استجابةً لأمر PASV. في هذه الحالة، لا ينبغي أن يكون عنوان IP الخاص بالخادم 192.168.1.3، بل يجب أن يكون "IP الأبيض" لاتصالنا بالإنترنت. لذلك، تحتاج إلى ضبط وضع "استخدام IP التالي" وبدلاً من عنوان IP، أدخل الاسم الذي تلقيته عند التسجيل في خدمة DNS الديناميكية - myhost8.ddns.net. كبديل، يمكنك استخدام الوضع لتحديد عنوان IP الخارجي باستخدام مشروع FileZilla عن طريق تشغيله. "استرداد عنوان IP الخارجي من:". يمكن تحديد هذا الخيار في الحالات التي لا يكون من الممكن فيها استخدام أداة DNS الديناميكية. إذا كنت تنوي استخدام خادم FTP على شبكتك المحلية، فستحتاج إلى ضبط الوضع على "عدم استخدام IP خارجي للاتصالات المحلية" (لا تستخدم عنوان IP خارجي للاتصالات داخل الشبكة المحلية)

    يمكن ترك بقية إعدادات الخادم دون تغيير أو، إذا لزم الأمر، تنفيذها لاحقًا: اعدادات الامان- اعدادات الامان. بشكل افتراضي، يتم حظر الاتصالات التي يمكن استخدامها لتنفيذ هجمات DDoS

    متنوع- إعدادات أحجام المخزن المؤقت ومعلمات السجل الأخرى وبعض أوامر FTP.

    إعدادات واجهة المسؤول- إعدادات لوحة تحكم الخادم . يمكنك تحديد واجهة الشبكة ورقم منفذ الاستماع وعناوين IP التي يُسمح من خلالها بالاتصال بلوحة التحكم وكلمة المرور.

    تسجيل- إعدادات سجل أحداث الخادم. بشكل افتراضي، لا يتم تنفيذ الكتابة إلى الملف.

    الحد الأقصى للسرعة- إعدادات حد معدل نقل البيانات. افتراضيا - لا قيود.

    ضغط نقل الملفات- إعدادات ضغط الملفات أثناء النقل. الافتراضي هو عدم الضغط.

    إعدادات SSL/TLSتمكين وضع التشفير للبيانات المرسلة. الافتراضي هو عدم وجود تشفير.

    أوتوبان- تمكين الحظر التلقائي للمستخدمين الذين يحددون كلمة مرور للاتصال. افتراضيًا، يتم تعطيل الحظر التلقائي.

    إعداد إعادة توجيه المنفذ وجدار الحماية

    لكي يمكن الوصول إلى خادم FTP من الإنترنت، من الضروري تكوين جهاز التوجيه بطريقة يتم من خلالها إعادة توجيه الاتصالات الواردة القادمة إلى منافذ TCP معينة على الواجهة الخارجية إلى منافذ TCP التي يستمع إليها خادم FTP على الشبكة الداخلية. بالنسبة لنماذج أجهزة التوجيه المختلفة، قد تختلف الإعدادات في المصطلحات، ولكن معناها هو نفسه - يتم إرسال حزمة TCP مع رقم منفذ محدد يتم استلامه على الواجهة الخارجية (WAN) إلى الشبكة المحلية إلى عنوان IP والمنفذ المطلوبين. مثال على إعدادات جهاز التوجيه D-Link DIR-320NRU لإعادة توجيه المنفذ المستخدم لوضع FTP السلبي:

    سيتم إعادة توجيه الحزم المستلمة على واجهة ذات "IP أبيض" ولها أرقام منافذ في النطاق 50000-50020 إلى عنوان IP المحدد في حقل "IP الداخلي" (في حالتنا - 192.168.1.3). وبالمثل، يتم إنشاء إعادة توجيه للمنفذ 50021 إذا قمت بتغيير رقم المنفذ القياسي، أو للمنفذ 21 لخادم FTP إذا تركته دون تغيير.

    بعد تطبيق هذه الإعدادات، سيتم الوصول إلى خادم FTP عبر عنوان URL فتب://myhost8.ddns.net:50021أو للاتصال داخل شبكة محلية:

    بروتوكول نقل الملفات://192.168.1.3- إذا لم تقم بتغيير رقم المنفذ الافتراضي (21) في إعدادات خادم FTP.

    بروتوكول نقل الملفات://192.168.1.3:50021- في حالة استخدام رقم منفذ غير قياسي.

    يمكنك استخدام اسم كمبيوتر بدلاً من عنوان IP إذا كان من الممكن تحليله إلى عنوان IP

    بروتوكول نقل الملفات://comp1

    بروتوكول نقل الملفات://comp1.mydomain.ru

    تشخيص المشاكل

    إذا لم يحدث الاتصال بخادم FTP، فقد تكون هناك مشكلات في جدار الحماية الذي يحظر الاتصالات اللازمة لتشغيل خادم FTP الذي تم إنشاؤه. إذا كنت تستخدم جدار الحماية المدمج في Windows، فيجب عليك إضافة قاعدة تسمح بنشاط الشبكة لخدمة "FileZilla FTP server". إذا كنت تستخدم جدار حماية أو برنامج مكافحة فيروسات تابعًا لجهة خارجية مع تصفية حركة المرور، فيجب عليك إنشاء قاعدة مقابلة باستخدام أدوات الإعدادات المتاحة للسماح باتصالات الشبكة. تكون الخيارات متاحة عند ضبط الإعدادات للسماح بأي نشاط على الشبكة لبرنامج معين، أو للسماح بالعناوين والمنافذ المحددة التي تنطبق على كافة البرامج.

    أفضل مكان لبدء التشخيص هو خادم FTP نفسه. كأداة تشخيصية، يمكنك استخدام المعيار عميل التلنت(جدوى telnet.exe) . جميع جدران الحماية لا تمنع الاتصالات على واجهة الاسترجاع، وللتحقق من صحة إعدادات الخادم، يمكنك الاتصال به عن طريق إدخال الأمر:

    المضيف المحلي التلنت 21- في حالة استخدام رقم المنفذ القياسي.

    المضيف المحلي التلنت 50021- إذا تم تغيير رقم المنفذ القياسي.

    عند تنفيذ هذا الأمر، يتم إجراء اتصال بخادم FTP عبر واجهة الاسترجاع ويجب عرض دعوة الخادم (رسالة الترحيب) في نافذة telnet. إذا لم يحدث ذلك، فقد يكون الخادم متوقفًا، أو أن هناك تعارضًا في المنفذ، أو أن المنفذ 21 (50021) لا يستمع. للتشخيص يمكنك استخدام الأمر netstat:

    نتستت – ناب

    خيارات سطر الأوامر تعني:

    ن- استخدم أرقام المنافذ الرقمية وعناوين IP

    أ- عرض كافة الاتصالات ومنافذ الاستماع

    ب- عرض أسماء البرامج المشاركة في إنشاء الاتصالات.

    مثال لنتائج الأوامر المعروضة:

    اتصالات نشطة

    الاسم     العنوان المحلي     العنوان الخارجي     الحالة
    TCP         0.0.0.0:21               0.0.0.0:0               الاستماع
    TCP         0.0.0.0:135             0.0.0.0:0               الاستماع
    RpcSs

    في عمود العنوان المحليهناك معنى 0.0.0.0:21 مما يدل على أن البرنامج اسمه FileZilla Server.exeالاستماع (الدولة الاستماع) منفذ TCP رقم 21 على كافة واجهات الشبكة. إذا تم تحديد واجهة محددة ورقم منفذ مختلف في إعدادات خادم FTP، فستحتوي هذه القيمة إب: ميناء، على سبيل المثال - 192.168.1.3:50021

    لعرض النتائج في وضع الصفحة، يمكنك استخدام الأمر:

    نتستت -ناب | أكثر

    أو استخدم نتائج البحث حسب رقم المنفذ: نتستت -ناب | العثور على ":21"

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

    إعداد المستخدمين والمجموعات.

    يتم إعداد المستخدمين والمجموعات من خلال القائمة "تحرير" - "المستخدمون" ("المجموعات"). ليس من الضروري إنشاء مجموعات، ولكن في بعض الأحيان يكون ذلك مناسبًا في الحالات التي يوجد فيها عدد كبير من المستخدمين وتختلف حقوقهم فيما يتعلق بخادم FTP. الإعدادات لكل من المجموعات والمستخدمين متطابقة تقريبًا:

    يوضح هذا المثال نتيجة إضافة مستخدم خادم FTP المسمى user1امتلاك الحقوق الكاملة لكتابة الملفات وقراءتها وحذفها ودمجها، وكذلك عرض المحتويات وحذف وإنشاء الدلائل الفرعية في الدليل ج:\ftp\public

    على الصفحة عامتتم إضافة خصائص المستخدم وحذفها وتغييرها.
    على الصفحة الملفات المشتركةيتم إجراء الإعدادات التي تحدد قائمة أدلة نظام الملفات التي سيستخدمها خادم FTP لتوفير الوصول إليها عبر بروتوكول FTP. يمكن منح كل مستخدم أو مجموعة مستخدمين الدليل الخاص بهم مع حقوق معينة فيما يتعلق بمحتوياته.
    على الصفحة حدود السرعةيمكنك وضع قيود على سرعة تبادل البيانات.
    على الصفحة مرشح IPيمكنك تعيين قواعد التصفية لعنوان IP الخاص بالمستخدم، مع الإشارة إلى العناوين التي يُحظر أو يُسمح بالاتصال منها بالخادم.

    قائمة أوامر FTP الأساسية

    ABOR - إحباط نقل الملفات
    CDUP - تغيير الدليل إلى دليل أعلى.
    CWD - تغيير الدليل الحالي.
    DELE - حذف ملف (اسم ملف DELE).
    مساعدة - يعرض قائمة بالأوامر التي يقبلها الخادم.
    قائمة - إرجاع قائمة الملفات في الدليل. يتم إرسال القائمة عبر اتصال البيانات (المنفذ 20).
    MDTM - إرجاع وقت تعديل الملف.
    MKD - إنشاء دليل.
    NLST - يقوم بإرجاع قائمة الملفات الموجودة في الدليل بتنسيق أقصر من LIST. يتم إرسال القائمة عبر اتصال البيانات (المنفذ 20).
    NOOP - عملية فارغة
    PASV - أدخل الوضع السلبي. سيعيد الخادم العنوان والمنفذ الذي تحتاج إلى الاتصال به لجمع البيانات. سيبدأ النقل عند إدخال أوامر RETR وLIST وما إلى ذلك.
    المنفذ - أدخل الوضع النشط. على سبيل المثال المنفذ 12،34،45،56،78،89. على عكس الوضع السلبي، يتصل الخادم نفسه بالعميل لنقل البيانات.
    PWD - إرجاع دليل الخادم الحالي.
    إنهاء - قطع الاتصال
    REIN - إعادة تهيئة الاتصال
    RETR - تنزيل الملف. يجب أن يسبق RETR أمر PASV أو PORT.
    RMD - حذف الدليل
    RNFR وRNTO - إعادة تسمية الملف. RNFR - ما يجب إعادة تسميته، RNTO - ما يجب إعادة تسميته.
    الحجم - إرجاع حجم الملف
    STOR - تحميل ملف إلى الخادم. يجب أن يسبق STOR أمر PASV أو PORT.
    SYST - إرجاع نوع النظام (UNIX، WIN،)
    TYPE - ضبط نوع نقل الملف (A - نص ASCII، I - ثنائي)
    USER - اسم المستخدم لتسجيل الدخول إلى الخادم

    مثال لجلسة FTP

    يتصل عميل FTP بالخادم باستخدام اسم المستخدم user1، كلمة مرور فارغة وتنزيل ملف اسمه وحدة المعالجة المركزية-v. يتم تمييز الرسائل الواردة من خادم FTP باللون الأحمر، ويتم تمييز الرسائل الواردة من عميل FTP باللون الأزرق. قد يختلف تبادل التوجيهات والمعلمات قليلاً بين الإصدارات المختلفة من برنامج عميل FTP وبرنامج خادم FTP.

    بعد الاتصال، يرسل الخادم معلومات عن نفسه إلى العميل:
    220-FileZilla Server الإصدار 0.9.45 بيتا
    220 - كتبها تيم كوس ( [البريد الإلكتروني محمي])
    220 يرجى زيارة http://sourceforge.net/projects/filezilla/
    يقوم العميل بتمرير اسم المستخدم:
    المستخدم المستخدم1
    يطلب الخادم كلمة مرور:
    331 كلمة المرور مطلوبة للمستخدم1
    يقوم العميل بتمرير كلمة مرور فارغة:
    يمر
    يتحقق الخادم من حساب المستخدم ويبلغ عن بداية الجلسة:
    230 تم تسجيل الدخول
    يطلب العميل نوع نظام التشغيل الموجود على الخادم:
    النظام
    تقارير الخادم أن النوع يونكس، تمت محاكاته بواسطة خادم Filezilla:
    215 UNIX تمت محاكاته بواسطة FileZilla
    يطلب العميل قائمة المعلمات التي يدعمها الخادم:
    عمل
    يستجيب الخادم بقائمة من المعلمات المدعومة:
    211-المميزات:
    MDTM
    تيار الراحة
    مقاس
    نوع MLST*;الحجم*;تعديل*;
    MLSD
    UTF8
    كلنت
    مفمت
    211 نهاية

    يطلب العميل الدليل الحالي للخادم:
    الأشخاص ذوي الإعاقة.
    يُبلغ الخادم أن الدليل الحالي هو الدليل الجذر ("/"):
    257 "/" هو الدليل الحالي.
    أبلغ العميل أنه سينقل البيانات الثنائية:
    النوع I

    يؤكد الخادم نوع البيانات التي يتم نقلها:
    تم تعيين 200 نوع على I
    أبلغ العميل أنه سيستخدم وضع FTP السلبي:
    PASV
    يقوم الخادم بالإبلاغ عن الانتقال إلى الوضع السلبي ويرسل عنوان IP والمنفذ لوضع FTP السلبي.
    227 الدخول في الوضع السلبي (212,248,22,114,195,97)
    يطلب العميل استلام ملف اسمه وحدة المعالجة المركزية-vمن دليل الخادم الحالي
    ريتر وحدة المعالجة المركزية-v
    يُبلغ الخادم عن بدء نقل البيانات:
    150 فتح قناة البيانات لتحميل الملف من خادم "/cpu-v"
    عند الانتهاء، يُبلغ الخادم عن نجاح عملية النقل:
    226 تم نقل "/cpu-v" بنجاح

    في الختام، أود أن أضيف أن مشروع Filezilla لا يشمل فقط تطوير ودعم خادم FTP مجاني عالي الجودة، ولكن أيضًا عميل FTP مجاني مشهور

    مقالة تحتوي على وصف موجز لعميل FTP مجاني لأنظمة التشغيل Linux وMac OS وWindows. يدعم عميل FTP هذا العديد من بروتوكولات نقل بيانات التطبيقات - FTP، وFTP عبر SSL/TLS (FTPS)، وبروتوكول نقل الملفات SSH (SFTP)، وHTTP، وSOCKS، وFTP-Proxy. بمعنى آخر، Filezilla FTP Client هو برنامج عالمي لاستقبال ونقل الملفات عبر جميع بروتوكولات التطبيقات الحديثة بين العقد على منصات مختلفة.

    بروتوكول نقل الملفات، الذي تم توحيده لأول مرة في أوائل السبعينيات، هو بروتوكول طبقة التطبيقات الذي يستخدم بروتوكول النقل TCP لنقل البيانات. تم تطوير FTP في وقت كان فيه العملاء والخوادم يتواصلون مباشرة مع بعضهم البعض، دون وسطاء ومع الحد الأدنى من الحواجز.

    مشاكل FTP في الشبكات الحديثة

    على الشبكات الحديثة (NAT، وجدار الحماية، وموازن التحميل)، لا تسمح الميزات التالية لـ FTP بالعمل بشكل صحيح:

    1. اتصالان منفصلان لـ TCP/IP: لنقل البيانات ونقل الأوامر؛
    2. يمكن إنشاء اتصال البيانات على رقم منفذ عشوائي؛
    3. يمكن أن يأتي اتصال البيانات إما من خادم إلى عميل أو من عميل إلى خادم؛
    4. يتم التفاوض على عنوان الوجهة لاتصال البيانات (اختيار وضع التشغيل) بسرعة بين العميل والخادم عبر اتصال الأوامر؛
    5. يكون اتصال الأمر خاملاً أثناء نقل البيانات عبر اتصال البيانات.

    ترجع المشكلة الأولى إلى حقيقة أن جهاز التوجيه أو الموازن يجب أن يحافظ على اتصالين بين نفس المصدر والوجهة.

    ترجع المشكلة الثانية إلى حقيقة أن FTP لا يمكنه العمل إذا كانت المنافذ الواردة تقتصر بشكل صارم على المنافذ المعروفة فقط. أولئك. في الوضع العادي، لا يمكن لـ FTP أن يعمل فقط مع المنافذ الواردة البالغ عددها 21 منفذًا المفتوحة التي يستخدمها الاتصال لإرسال الأوامر، كما يحتاج أيضًا إلى مجموعة من المنافذ المفتوحة ذات القيمة العالية (49152-65534) لنقل البيانات.

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

    ترجع المشكلة رقم 5 إلى حقيقة أن أجهزة التوجيه يمكنها إنهاء الاتصالات العالقة لإرسال الأوامر.

    وضعان لنقل البيانات في FTP

    يدعم FTP وضعين للتشغيل: نشط وسلبي. وهي تختلف في آلية إنشاء اتصال لنقل البيانات:

    • في الوضع النشط، يتصل الخادم من المنفذ العشرين الخاص به بمنفذ العميل المحدد.
    • في الوضع السلبي، يتصل العميل من منفذه العشوائي بمنفذ خادم محدد.

    وبالتالي، فإن جميع عملاء FTP الحديثين يتفاوضون مع الخادم الذي يتم نقل البيانات منه والذي يبدأ الاتصال. يمكن للعميل تحديد الاستخدام الوضع النشط عن طريق إرسال أمر "PORT"، والذي سيخبر الخادم بالاتصال بعنوان IP ومنفذ عميل محدد والبدء في إرسال البيانات. أو يمكن للعميل استخدامها مزاج سيء عن طريق إرسال أمر "PASV" إلى الخادم، والذي سيخبر الخادم أن العميل ينتظر عنوان IP الخاص بالخادم والمنفذ لبدء تلقي البيانات.

    نظرًا لأن العميل يتصل في البداية بالخادم لإنشاء اتصال لإرسال الأوامر، فسيكون من المنطقي أن يقوم العميل أيضًا بإنشاء اتصال البيانات، أي. كان يرسل أمر PASV (مع إصلاح المشكلة أيضًا بين FTP وجدار الحماية). ومع ذلك، ليس هذا هو الحال؛ لسبب ما، قرر منشئو مواصفات FTP أن الوضع المفضل يجب أن يكون PORT، وأن دعم PASV من جانب العميل ليس ضروريًا حتى.

    يدعم FTP الوصول إلى تسجيل الدخول وكلمة المرور، ولكنه غير آمن لأنه... يتم نقلها بنص واضح. عند استخدام متصفح الويب، يمكنك تمريره مباشرة إلى عنوان URL.

    بروتوكول نقل الملفات: // :@:/

    مثال على الجلسات التي تستخدم أوضاع نقل البيانات النشطة والسلبية

    مثال على الوضع النشط، حيث يتصل العميل بشكل مجهول ويقوم بنقل بيانات نشط مرة واحدة (تصفح الدليل).

    عميل: المستخدم مجهول
    الخادم:
    عميل: تمرير NcFTP@
    الخادم: 230 تم تسجيل الدخول بشكل مجهول.
    عميل: المنفذ 192,168,1,2,7,138 يريد العميل أن يتصل الخادم بالمنفذ 1930 وعنوان IP 192.168.1.2.
    الخادم: تم تنفيذ الأمر 200 PORT بنجاح.
    عميل: قائمة
    الخادم: 150 فتح اتصال بيانات وضع ASCII لـ /bin/ls. يتصل الخادم من المنفذ 21 إلى المنفذ 1930 وعنوان IP 192.168.1.2.
    الخادم: 226 اكتملت القائمة. تم نقل البيانات بنجاح.
    عميل: يترك
    الخادم: 221 وداعا.

    مثال الوضع السلبي

    عميل: المستخدم مجهول
    الخادم: 331 تسجيل دخول الضيف حسنًا، أرسل عنوان بريدك الإلكتروني ككلمة مرور.
    عميل: تمرير NcFTP@
    الخادم: 230 تم تسجيل الدخول بشكل مجهول.
    عميل: PASV يطلب العميل معلومات الاتصال من الخادم.
    الخادم: 227 الدخول في الوضع السلبي
    (172,16,3,4,204,173)
    يستجيب الخادم للعميل بأنه يحتاج إلى الاتصال بالمنفذ 52397 وعنوان IP 172.16.3.4.
    عميل: قائمة
    الخادم: 150 اتصال بيانات مقبول من
    172.16.3.4:52397; بدء النقل.
    العميل متصل بالخادم على المنفذ 52397 وعنوان IP 172.16.3.4.
    الخادم: 226 اكتملت القائمة. تم نقل البيانات بنجاح.
    عميل: يترك
    الخادم: 221 وداعا.

    المشاكل الخاصة:

      وضع المنفذ - عميل FTP خلف NAT أو جدار الحماية

      أكبر مشكلة يواجهها عملاء FTP الذين يستخدمون الوضع النشط هي أن الخادم نفسه يجب أن يتصل بعنوان IP الخاص بالعميل. إذا كان هناك جدار حماية في مساره يقطع كافة الاتصالات الواردة، فلن تتم جلسة FTP. مشكلة أخرى هي إذا كان العميل خلف NAT ويستخدم عنوان IP داخليًا. ومن خلال توصيل عنوانه الداخلي إلى الخادم، يحكم عليه العميل بعدم القدرة على الاتصال.

      الحل 1: يجب تكوين عميل FTP لاستخدام الوضع السلبي.

      الحل 2: تكوين NAT لتتبع اتصالات FTP. عندما يستخدم العميل الوضع النشط، يجب على جهاز NAT إعادة كتابة العنوان الداخلي للعميل واستبداله بالعنوان الخارجي للجهاز. بعد ذلك، سيتم إعادة توجيه اتصال نقل البيانات من خادم FTP، بعد الوصول إلى عنوان NAT الخارجي للجهاز، إلى العنوان الداخلي لعميل FTP خلف NAT.

      وضع PASV - خادم FTP خلف جدار الحماية

      عندما يكون خادم FTP خلف جدار حماية، سيواجه العملاء مشاكل في استخدام الوضع السلبي للاتصال بالمنفذ المؤقت لخادم FTP. المشكلة الأكثر شيوعًا هي عندما يسمح جدار الحماية الذي يقع خلفه خادم FTP بعدد من الاتصالات بالمنافذ المعروفة ويحظر المنافذ الأخرى.

      الحل 1: يمكن للمسؤول فتح مجموعة من المنافذ على جدار الحماية والتي يمكن من خلالها إجراء اتصالات بخادم FTP.

      الحل 2: إذا كان هناك دعم لجدار الحماية، فيمكن للمسؤول تكوين المنافذ لفتحها تلقائيًا لإنشاء اتصال سلبي بخادم FTP. يشبه هذا الإعداد ما تم وصفه للعميل النشط خلف NAT. وبالتالي، عندما يراقب جدار الحماية استجابة خادم FTP لطلب عميل سلبي، فإنه يفتح المنفذ المحدد في الاستجابة مؤقتًا، وفقط لعنوان IP الذي نشأ منه الطلب السلبي.

      وضع PASV - خادم FTP خلف NAT

      في وضع PASV FTP، يستجيب الخادم للعميل بعنوان IP الداخلي الخاص به والمنفذ، مما يحكم على العميل بعدم القدرة على الاتصال.

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

      وضع PASV - خادم FTP خلف موازن التحميل

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

      الحل 1. قم بتعيين عنوان IP شرعي لكل خادم FTP خلف الموازن ويمكن الوصول إليه من الخارج. في هذه الحالة، سيتمكن خادم FTP من خدمة عملاء FTP بشكل مستقل في الوضع السلبي، متجاوزًا الموازن.

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

      الحل 3: قم بتكوين خادم FTP بحيث تحتوي استجاباته في الوضع السلبي على العنوان الخارجي للموازن، وليس الخادم، ونأمل أن يقوم الموازن بإعادة توجيه الاتصال إلى الخادم المنتظر.

      مشكلة غير قابلة للحل - جدران الحماية على كلا الطرفين

      عندما يكون كل من العميل والخادم خلف جدران الحماية التي تقيد جميع الاتصالات الواردة باستثناء مجموعة من المنافذ المعروفة، تبدأ المشاكل. لا يمكن للعميل استخدام الوضع النشط بسبب لن يتمكن الخادم من الاتصال به، ولن يتمكن من استخدام الوضع السلبي، لأنه لا يمكن الاتصال بخادم FTP.
      في هذه الحالة، تحتاج إلى تغيير إعدادات جدار الحماية ومن الأفضل القيام بذلك على جانب الخادم.

      خادم FTP على منفذ غير قياسي

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

      ولكن حتى في هذه الحالة، يمكن لجدار الحماية من جانب العميل أن يعيق الطريق. يمكن أن يحدث هذا إذا كان جدار الحماية من جانب العميل يتطلب بشكل صارم أن ينشأ اتصال بيانات FTP من خادم FTP من المنفذ 20 (في الوضع النشط). إذا كان خادم FTP يعمل على المنفذ N، فوفقًا لمواصفات FTP، ستنشأ اتصالات البيانات الخاصة به من المنفذ N - 1 وسيتم حظرها بواسطة جدار الحماية الخاص بالعميل.

      المشاكل الناجمة عن قيام جدران الحماية بإنهاء جلسات FTP قبل الأوان

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

      الحل لهذه المشكلة هو جهاز يحافظ على الاتصال لنقل الأوامر في حالة نشطة، على الرغم من عدم نقل أي حزم عبره لفترة طويلة. هناك خيار آخر وهو تمكين وظيفة "Keep Alive" في حزمة بروتوكول TCP/IP على جانب العميل أو الخادم، والتي ترسل حزمة التحقق من التوفر على فترات زمنية معينة، وإذا لم يستجب الجانب الوجهة، يتم إغلاق الاتصال بشكل طبيعي. إذا استجاب الجانب المتلقي، فسيتم اعتبار الاتصال من جانب جدار الحماية نشطًا.

    • استخدم الوضع السلبي كلما أمكن ذلك (هذا هو الوضع الافتراضي في متصفحات الويب)
    • إذا كان الاتصال بخادم FTP ناجحًا، ولكن تصفح الدلائل أو نقل الملفات ينتهي بفشل الاتصال، فمن المرجح أن تكون المشكلة في مؤقتات نشاط الاتصال على جدار الحماية
    • استخدم الأجهزة التي تدعم ميزات FTP

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

    يعد بروتوكول FTP هو أقدم بروتوكول شبكة (تم إنشاؤه عام 1971)، ولكنه مع ذلك يستخدم على نطاق واسع حتى يومنا هذا. من الميزات المهمة للبروتوكول أنه يستخدم عدة اتصالات: واحد لأوامر التحكم، والباقي للبيانات. علاوة على ذلك، يمكن فتح عدة اتصالات لنقل البيانات، حيث يمكن نقل الملفات في كلا الاتجاهين. مع هذه الميزة يرتبط عدد من المشاكل.

    اعتمادا على طريقة إنشاء اتصال لنقل البيانات، يتم التمييز بين أوضاع تشغيل FTP النشطة والسلبية. في الوضع النشط، يقوم الخادم نفسه بإنشاء اتصال بيانات بالعميل، وفي الوضع السلبي، والعكس صحيح. دعونا نلقي نظرة على هذه الأوضاع بمزيد من التفصيل.

    الوضع النشط

    في معظم الحالات، للتشغيل العادي لخادم FTP خلف NAT، سيكون كافيًا إعادة توجيه 21 منفذًا لجلسة التحكم، و20 للوضع النشط (إذا تم استخدامه)، بالإضافة إلى تحديد وإعادة توجيه مجموعة من المنافذ الديناميكية للبيانات تحويل.

    نقطة أخرى مهمة: إذا قمت بإعادة توجيه المنافذ لعدة خوادم FTP، فيجب عليك تحديد نطاق المنافذ الديناميكية الخاص بها وإعادة التوجيه إلى نفس أرقام منافذ الواجهة الخارجية. لماذا؟ نظرًا لأن رقم المنفذ يتم إرساله بواسطة الخادم في أمر التحكم ولا يعرف شيئًا عن إعادة التوجيه، إذا كان رقم المنفذ الذي يرسله الخادم لا يتطابق مع رقم المنفذ الموجود على الواجهة الخارجية، فلن يتمكن العميل من إنشاء اتصال. بينما يمكن إعادة توجيه منفذ التحكم ومنفذ الوضع النشط إلى أي منافذ خارجية.

    نأمل أن تساعدك هذه المقالة على فهم آلية بروتوكول FTP بشكل أفضل والتعامل بوعي مع عملية التكوين والتشخيص.

    3 إجابات

    النشط والسلبي هما الوضعان اللذان يمكن لـ FTP أن يعمل من خلالهما. يستخدم FTP قناتين بين العميل والخادم، قناة الأوامر وقناة البيانات، وهما في الواقع اتصالات TCP منفصلة. قناة الأوامر مخصصة للأوامر والاستجابات، وقناة البيانات مخصصة لنقل الملفات الفعلي. تعد هذه طريقة رائعة لإرسال الأوامر إلى الخادم دون انتظار اكتمال عملية نقل البيانات الحالية.

    في الوضع النشط، يقوم العميل بإنشاء قناة أوامر (من منفذ العميل X إلى منفذ الخادم 21(ب))، لكن الخادم ينشئ قناة بيانات (من منفذ الخادم 20(ب) إلى منفذ العميل Y، حيث تم توفير Y بواسطة عميل).

    في الوضع السلبي، يقوم العميل بإنشاء كلتا القناتين. في هذه الحالة، يخبر الخادم العميل بالمنفذ الذي يجب استخدامه لقناة البيانات.

    يُستخدم الوضع السلبي عادةً في المواقف التي يتعذر فيها على خادم FTP إنشاء قناة بيانات. أحد الأسباب الرئيسية لذلك هو جدران الحماية للشبكة. على الرغم من أنه قد يكون لديك قاعدة جدار حماية تسمح لك بفتح قنوات FTP على ftp.microsoft.com، فقد لا تتمكن خوادم Microsoft من فتح قناة بيانات من خلال جدار الحماية.

    يعمل الوضع السلبي على حل هذه المشكلة عن طريق فتح كلا النوعين من القنوات من جانب العميل. لجعل هذا أكثر وضوحًا بشكل موثوق:

    الوضع النشط:

    • يرسل العميل المنفذ 2001(a) إلى الخادم ويقوم الخادم بالاستلام في قناة الأوامر.
    • يفتح الخادم قناة بيانات من منفذ الخادم 20 (ب) إلى منفذ العميل 2001 (أ).
    • يؤكد العميل قناة البيانات.

    مزاج سيء:

    • يفتح العميل قناة أوامر من منفذ العميل 2000(أ) إلى منفذ الخادم 21(ب).
    • يرسل العميل PASV إلى الخادم في قناة الأوامر.
    • يرسل الخادم مرة أخرى (في قناة الأوامر) المنفذ 1234(a) بعد بدء الاستماع على ذلك المنفذ.
    • يفتح العميل قناة بيانات من العميل 2001 (أ) إلى منفذ الخادم 1234 (أ).
    • يؤكد الخادم قناة البيانات.

    عند هذه النقطة، تكون قنوات الأوامر والبيانات مفتوحة.

    (أ) لاحظ أن اختيار المنافذ من جانب العميل يكون خاصًا بالعميل، حيث أن اختيار منفذ ارتباط بيانات الخادم في الوضع السلبي يكون خاصًا بالخادم.

    (ب) تجدر الإشارة أيضًا إلى أن استخدام المنفذين 20 و21 مشروط فقط (وإن كان قويًا). لا يوجد أي شرط مطلق لاستخدام هذه المنافذ، على الرغم من أنه يجب على العميل والخادم الاتفاق على المنافذ المستخدمة. لقد رأيت تطبيقات تحاول الاختباء من العملاء باستخدام منافذ مختلفة (غير مجدية، في رأيي).

    لقد واجهت هذه المشكلة مؤخرًا في مكان عملي، لذا أعتقد أنني يجب أن أقول شيئًا آخر هنا. سأستخدم صورة لشرح كيفية عمل FTP كمصدر مكمل للإجابة السابقة.

    الوضع النشط:

    مزاج سيء:

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

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

    لذا، سيكون من الأفضل لك إعداد الخادم لدعم FTP بالوضع السلبي. ومع ذلك، فإن الوضع السلبي سيجعل نظامك عرضة للهجمات لأنه يجب على العملاء الاتصال بخوادم عشوائية. لذا، لدعم هذا الوضع، لا يجب أن يتوفر لخادمك منافذ متعددة فحسب، بل يجب أن يسمح جدار الحماية لديك أيضًا بالاتصال بجميع هذه المنافذ!

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

    لمزيد من المعلومات، راجع الورقة البيضاء.

    نسخة مخفضة من أوضاع اتصال FTP لمقالتي (النشط مقابل السلبي):

    يحدد وضع اتصال FTP (نشط أو سلبي) كيفية إنشاء اتصال البيانات. وفي كلتا الحالتين، يقوم العميل بإنشاء اتصال تحكم TCP بالمنفذ 21 لخادم FTP. يعد هذا اتصالًا صادرًا قياسيًا، تمامًا كما هو الحال مع أي بروتوكول آخر لنقل الملفات (SFTP أو SCP أو WebDAV) أو أي تطبيق عميل TCP آخر (مثل متصفح الويب). لذلك، لا توجد عادة مشكلة عند فتح اتصال التحكم.

    حيث يكون FTP أكثر تعقيدًا من بروتوكولات نقل الملفات الأخرى، فهو نقل الملفات. بينما تستخدم البروتوكولات الأخرى نفس الاتصال لإدارة الجلسة ونقل الملفات (البيانات)، يستخدم بروتوكول FTP اتصالاً منفصلاً لنقل الملفات والدليل.

    في الوضع النشط، يبدأ العميل في الاستماع على منفذ عشوائي لاتصالات البيانات الواردة من الخادم (يرسل العميل أمر FTP PORT لإخبار الخادم بالمنفذ الذي يستمع عليه). في الوقت الحاضر، من المعتاد أن يكون العميل خلف جدار حماية (مثل جدار الحماية المدمج في Windows) أو جهاز توجيه NAT (مثل مودم ADSL)، غير قادر على قبول اتصالات TCP الواردة.

    لهذا السبب، تم تقديم الوضع السلبي ويستخدم بشكل رئيسي اليوم. يُفضل استخدام الوضع السلبي لأن معظم التكوينات المعقدة يتم إجراؤها مرة واحدة فقط على جانب الخادم، بواسطة مسؤول ذي خبرة، بدلاً من تنفيذها بشكل فردي على جانب العميل، بواسطة (ربما) مستخدمين عديمي الخبرة.

    في الوضع السلبي، يستخدم العميل اتصال تحكم لإرسال أمر PASV إلى الخادم ثم يتلقى عنوان IP الخاص بالخادم ورقم منفذ الخادم من الخادم، والذي يستخدمه العميل بعد ذلك لفتح اتصال بعنوان IP الخاص بالخادم ومنفذ الخادم رقم.

    تكوين الشبكة للوضع السلبي

    في الوضع السلبي، يكون معظم تحميل التكوين على جانب الخادم. يجب على مسؤول الخادم تكوين الخادم كما هو موضح أدناه.

    يجب تكوين جدار الحماية وNAT على جانب خادم FTP ليس فقط للسماح/توجيه الاتصالات الواردة إلى منفذ FTP 21، ولكن أيضًا على عدد من المنافذ لاتصالات البيانات الواردة. عادةً ما يشتمل برنامج خادم FTP على خيار تكوين لتكوين نطاق المنافذ التي سيستخدمها الخادم. ويجب فتح/توجيه نفس النطاق على جدار الحماية/NAT.

    عندما يكون خادم FTP خلف NAT، يجب أن يعرف عنوان IP الخارجي الخاص به حتى يتمكن من توفيره للعميل استجابةً لأمر PASV.

    تكوين الشبكة للوضع النشط

    في الوضع النشط، يكون معظم تحميل التكوين على جانب العميل.

    يجب تكوين جدار الحماية (مثل جدار حماية Windows) وNAT (مثل قواعد توجيه مودم ADSL) من جانب العميل للسماح/توجيه نطاق من المنافذ لاتصالات البيانات الواردة. لفتح المنافذ في Windows، انتقل إلى لوحة التحكم > النظام والأمان > جدار حماية Windows > الإعدادات المتقدمة > القواعد الواردة > قاعدة جديدة. لتوجيه المنافذ إلى NAT (إن وجدت)، راجع وثائقها.

    عندما يكون NAT على شبكتك، يجب أن يعرف عميل FTP عنوان IP الخارجي الخاص به، والذي يجب أن يوفره WinSCP لخادم FTP باستخدام الأمر PORT. حتى يتمكن الخادم من الاتصال بالعميل بشكل صحيح لفتح اتصال البيانات. يمكن لبعض عملاء FTP اكتشاف عنوان IP الخارجي تلقائيًا، ويجب تكوين بعضهم يدويًا.

    جدار الحماية الذكي/NAT

    تحاول بعض جدران الحماية/NATs فتح/إغلاق منافذ البيانات تلقائيًا عن طريق التحقق من الاتصال باتصال FTP و/أو ترجمة عناوين IP لاتصال البيانات إلى التحكم في حركة مرور الاتصال.

    عند استخدام جدار الحماية/NAT هذا، لا يلزم التكوين أعلاه لبروتوكول FTP البسيط غير المشفر. لكن هذا لا يمكن أن يعمل مع FTPS لأن حركة اتصال التحكم مشفرة ولا يستطيع جدار الحماية/NAT فحصها وتعديلها.

    قبل شرح الفرق بين أوضاع FTP النشطة والسلبية، يجدر بنا أن نحدد ما هو FTP نفسه وكيف يعمل. اختصار باللغة الانجليزية بروتوكول نقل الملفاتتمثل بروتوكول نقل الملفات، والتي تُترجم إلى اللغة الروسية تعني بروتوكول نقل الملفات. وهو مصمم لإنشاء اتصال بين العميل، أي المستخدم، والخادم البعيد.

    ينشئ بروتوكول FTP نوعين من الاتصالات بين العميل والخادم. واحد منهم يسمى اتصال التحكموالمراد به نقل الأوامر، والثاني يسمى اتصال البياناتويهدف إلى نقل الملفات المختلفة إلى الخادم. لا علاقة لأوضاع تشغيل FTP النشطة أو السلبية بالنوع الأول من الاتصال، أي نوع التحكم. يتم الاختيار بين هذين الوضعين من قبل المستخدم عند إنشاء اتصال البيانات.

    إذن، ما هو الفرق الأساسي؟

    يتمثل الاختلاف الرئيسي بين أوضاع التشغيل النشطة والسلبية لبروتوكول FTP في من يقوم بإجراء الاتصال لنقل البيانات في اتصال خادم العميل، أي، تقريبًا، من يتصل بمن. تختلف أيضًا المنافذ التي يتم نقل البيانات إليها. في وضع التشغيل النشط، يقوم العميل بإجراء اتصال تحكم مع الخادم، ولكن يتم إجراء الاتصال لنقل البيانات بواسطة الخادم نفسه. في الوضع السلبي، يتم بدء اتصال البيانات، بالإضافة إلى اتصال التحكم بالخادم، بواسطة العميل فقط. أي أنه في الوضع النشط، يتصل الخادم بالعميل لنقل البيانات، وفي الوضع السلبي، يتصل العميل بالخادم.

    دعونا ننظر إلى هذه الأوضاع بشكل أكثر وضوحا.

    الاختلافات بين أوضاع FTP النشطة والسلبية

    دعونا نفحص بتنسيق الفيديو كيف تختلف أوضاع التشغيل السلبية والنشطة لبروتوكول FTP عن بعضها البعض.

    في كل من الوضع النشط والسلبي، يبدأ إنشاء الاتصال بإرسال العميل طلبًا إلى . أولاً، يتم إنشاء اتصال التحكم. للقيام بذلك، يتم إنشاء منفذ مؤقت على العميل برقم في النطاق من 1024 قبل 65535 لإنشاء اتصال تحكم، بالإضافة إلى منفذ لنقل البيانات. في الوضع النشط، يحدث كل شيء بالترتيب التالي:

    1. 1024 65535 21 .
    2. 1036 ).
    3. يرسل العميل أمرًا ميناء، والذي يشير إلى استخدام وضع FTP النشط، وعنوان IP الخاص بك، بالإضافة إلى رقم المنفذ لإنشاء اتصال البيانات الذي سيتصل به الخادم (في المثال، المنفذ 1037 ).
    4. يتم تأكيد الأمر من قبل الخادم.
    5. يصدر العميل أوامر إلى الخادم للعمل مع FTP.
    6. يقوم الخادم بإنشاء اتصال بيانات. للقيام بذلك، يرسل طلبا مع 20 المنفذ إلى المنفذ المحدد من قبل العميل في الفقرة الرابعة ( 1037 ).
    7. يستجيب العميل للطلب.
    8. يؤكد الخادم الاتصال ويسمح للعميل بنقل البيانات.

    تخطيطيا يمكن التعبير عن ذلك على النحو التالي:

    في الوضع السلبي، يختلف إجراء إنشاء اتصال البيانات قليلاً. تتم الإجراءات على النحو التالي:

    1. يرسل العميل من منفذ مؤقت مع النطاق 1024 65535 طلب رقم منفذ الخادم 21 .
    2. يستجيب الخادم للمنفذ المؤقت للعميل (في المثال، port 1036 ).
    3. يؤكد العميل الاتصال.
    4. يرسل العميل أمرًا PASVالذي يتحدث عن استخدام وضع FTP السلبي.
    5. يؤكد الخادم العملية في الوضع السلبي، ويرسل عنوان IP الخاص به، بالإضافة إلى رقم المنفذ لإنشاء اتصال بيانات سيتصل به العميل (في المثال 2154 ).
    6. من منفذ البيانات (في المثال 1037 ) يرسل العميل طلبًا لتأسيس اتصال بالمنفذ الصادر عن الخادم ( 2154 ).
    7. يؤكد الخادم الاتصال.
    8. ينشئ العميل اتصالاً.
    9. يصدر العميل الأوامر إلى الخادم (من منفذ التحكم إلى المنفذ 21 في المثال - من الميناء 1036 لكل منفذ 21 )، وبعد ذلك يكون نقل البيانات ممكنًا.

    دعونا نتخيل ذلك في الرسم التخطيطي:

    الوضع السلبي أكثر أمانًا للعميل. يوصى باستخدامه إذا كان لديك جدار حماية تم تكوينه. قد يؤدي استخدام وضع FTP النشط عبر جدار الحماية إلى حدوث أخطاء لأن جدار الحماية لن يسمح للخادم بالاتصال بالعميل. لذلك، يوصى باستخدام وضع FTP السلبي لنقل البيانات لتجنب مثل هذه الأخطاء.