تم وصف TFTP (بروتوكول نقل الملفات التافهة) لأول مرة في عام 1980. إنه بروتوكول قديم إلى حد ما تم نشره في يونيو 1981 كمراجعة لبروتوكول TFTP 2 في RFC 783 (طلب التعليقات) بواسطة Karen R. سولينز.

في الأيام الأولى ، كان الهدف الرئيسي لبروتوكول TFTP هو إرسال الملفات واستلامها عبر الشبكة. على وجه الخصوص ، تم استخدامه لنقل الملفات المطلوبة أثناء التمهيد لتمكين الأنظمة من التمهيد عبر الشبكة.

إليك كيفية إعداد خادم TFTP على جهاز Linux.

ما هو TFTP؟

لا يزال يتم استخدام TFTP لأغراض نقل الملفات ولا يوجد تغيير جوهري في الميزات التي يدعمها. يستخدم TFTP لتنزيل الملفات وإرسالها عبر UDP / IP. لا يحتوي على وظائف إضافية مثل التحكم في الهوية والتخويل أو سرد الملفات أو الحذف أو إعادة التسمية ، والتي توجد عادةً في بروتوكولات نقل الملفات الأخرى.

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

instagram viewer

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

تثبيت خادم TFTP على نظام Linux

عند العمل مع الأجهزة المضمنة ، من المهم تثبيت خدمة خادم TFTP. في أنظمة Linux ، يمكن تشغيل العديد من تطبيقات خادم TFTP. إذا كنت تستخدم ملف التوزيع القائم على دبيان، يمكنك تثبيت tftpd-hpa, tftpd، أو أتفتبد الحزم. إذا لم تكن متأكدًا من الخيار الذي تختاره ، ففكر في تثبيت حزمة tftpd-hpa.

sudo apt-احصل على تثبيت tftpd-hpa

بعد التثبيت ، ستبدأ خدمة TFTP في الاستماع منفذ UDP 69. لتقديم الملفات إلى أنظمة أخرى عبر خادم TFTP ، عليك أن تضع في اعتبارك بعض المتطلبات الأساسية:

  • نسخ الملف المطلوب إلى دليل TFTP الرئيسي أو دليل أسفل ذلك الدليل الرئيسي
  • جعل أذونات الملف مرئية للجمهور

لمعرفة ما هو الدليل الرئيسي لخادم TFTP ، يمكنك إلقاء نظرة على ملف TFTP_DIRECTORY متغير في /etc/default/tftpd-hpa ملف. عادة ، سترى أدلة مثل /var/lib/tftpboot أو /srv/tftp. إذا كنت ترغب في ذلك ، يمكنك تغيير هذا الدليل وإعادة تشغيل الخدمة.

قطة / الخ /إفتراضي/tftpd-hpa

لسهولة الاستخدام ، إذا قمت بتغيير مالك دليل TFTP الرئيسي ذي الصلة إلى حساب المستخدم الخاص بك ، فلن تحتاج إلى إضافة بادئة sudo إلى كل أمر تقوم بتشغيله. استخدم الأمر chown لتغيير الملكية من الجذر إلى المستخدم الحالي:

sudo chown -R $ USER / srv / tftp

قد تختلف أسماء حزم خادم TFTP والأدلة الرئيسية الافتراضية وفقًا لتوزيع Linux المستخدم.

إرسال الملفات باستخدام خادم TFTP

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

في مثل هذه الحالات ، حيث من المحتمل أن يتم تجميع عميل TFTP بتنسيق BUSYBOX، يمكنك إرسال ملف محفوظ في النظام إلى خادم TFTP على الشبكة.

لاستخدام تطبيق عميل TFTP ، قم بإصدار ملف Busybox tftp يأمر:

Busybox tftp 

لإرسال نموذج ملف إلى خادم TFTP ، تحتاج إلى استخدام أمر مثل هذا:

BUSYBOXtftpمثال.سلة مهملات-p 192.168.1.100

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

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

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

قرص مضغوط /srv/tftp 
يلمسمثال.سلة مهملات
chmod 666 مثال.سلة مهملات

الآن يمكنك القيام بالتحميل الخاص بك بنجاح.

من الممكن أيضًا تعطيل الإجراء الأمني ​​أعلاه وجعل خادم TFTP ينشئ ملفًا غير موجود. لهذا ، يمكنك استخدام ملف أو --خلق المعلمة عند بدء تشغيل tftpd-hpa طلب. يكفي إضافة هذه المعلمة إلى القائمة TFTPD_OPTIONS متغير في /etc/default/tftpd-hpa ملف:

# / etc / default / tftpd-hpa 
TFTP_USERNAME ="tftp"
TFTP_DIRECTORY ="/srv/tftp"
TFTP_ADDRESS ="0.0.0.0:69"
TFTP_OPTIONS ="- تأمين - إنشاء"

لماذا نستخدم خادم TFTP لنقل الملفات؟

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

أكبر عيب ، بالطبع ، أنه غير آمن. لذلك ، يجب أن تنتبه جيدًا أثناء نقل الملفات باستخدام خادم TFTP.

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

إعداد TFTP على أنظمة التشغيل الأخرى

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