جدول محتوایی
سرور FTP و TFTP چیست؟
FTP یکی از قدیمی ترین پروتکل های اینترنتی است که هنوز هم به طور گسترده مورد استفاده قرار می گیرد و یک پروتکل استاندارد در TCP/IP است. FTP ساده ترین راه برای انتقال فایل ها از یک کامپیوتر به کامپیوتر دیگر است. از طرفی یکی از پروتکل های انتقال فایل Trivial File Transfer Protocol یا به اختصار TFTP است که در شبکه های کوچک بسیار مورد استفاده قرار می گیرد. این پروتکل شبیه FTP است اما سبک تر است، منابع کمتری مصرف می کند و نسبت به FTP محدودتر است. در این مقاله قصد داریم نحوه نصب سرور ftp و tftp در اوبونتو 22.04 را به شما آموزش دهیم. اگر مایل به خرید سرور VPS اوبونتو هستید، می توانید پلن های ارائه شده در وب سایت ایرانیکاسرور را بررسی کنید.
TFTP (Trivial File Transfer Protocol) نسخه ساده شده FTP (پروتکل انتقال فایل) است. TFTP بسیاری از ویژگی های احراز هویت FTP را کنار گذاشته و بر روی پورت UDP 69 اجرا می شود. از آنجایی که بسیار سبک وزن است، همچنان برای اهداف مختلف استفاده می شود.
TFTP در مکان هایی استفاده می شود که به امنیت زیادی نیاز ندارید. در عوض، شما به راهی نیاز دارید که به راحتی فایل ها را در سرور آپلود کرده و فایل ها را از سرور دانلود کنید. دستگاه های CISCO از پروتکل TFTP برای ذخیره فایل های پیکربندی و تصاویر CISCO IOS برای اهداف پشتیبان استفاده می کنند. پروتکل های بوت شبکه مانند BOOTP، PXE و غیره از TFTP برای بوت کردن سیستم عامل ها از طریق شبکه استفاده می کنند.
در این مقاله قصد دارم نحوه نصب و پیکربندی سرور TFTP در اوبونتو را به شما نشان دهیم.
خرید سرور مجازی ایران به قیمت عـــــالی
نصب سرور TFTP در Ubuntu:
در این مقاله، من قصد دارم پکیج سرور TFTP tftpd-hpa را روی اوبونتو نصب کنم (در مورد من اوبونتو 19.04). پکیج tftpd-hpa در مخزن پکیج رسمی اوبونتو موجود است. بنابراین، شما به راحتی می توانید آن را با مدیر بسته APT نصب کنید.
ابتدا کش مخزن پکیج منیجر APT را با دستور زیر به روز کنید:
$ sudo apt update
اکنون پکیج tftpd-hpa را با دستور زیر نصب کنید:
$ sudo apt install tftpd-hpa
پکیج tftpd-hpa باید نصب شود.
اکنون با دستور زیر بررسی کنید که آیا سرویس tftpd-hpa در حال اجرا است یا خیر:
$ sudo systemctl status tftpd-hpa
سرویس tftpd-hpa در حال اجرا است. بنابراین، سرور TFTP به خوبی کار می کند. در بخش بعدی نحوه پیکربندی آن را به شما نشان خواهم داد.
پیکربندی سرور TFTP در اوبونتو:
فایل پیکربندی پیش فرض سرور TFPT در مسیر tftpd-hpa /etc/default/tftpd-hpa است. اگر می خواهید سرور TFTP را پیکربندی کنید، باید این فایل پیکربندی را تغییر دهید و پسوند سرویس tftpd-hpa را مجددا راه اندازی کنید.
برای تغییر فایل پیکربندی /etc/default/tftpd-hpa، دستور زیر را اجرا کنید:
$ sudo nano /etc/default/tftpd-hpa
فایل پیکربندی باید برای ویرایش باز شود. این پیکربندی پیش فرض سرور TFTP است.
در اینجا، TFTP_USERNAME روی tftp تنظیم شده است. این بدان معنی است که سرور TFTP به عنوان tftp کاربر اجرا می شود.
TFTP_DIRECTORY روی /var/lib/tftpboot تنظیم شده است. یعنی /var/lib/tftpboot دایرکتوری روی این سرور است که میتوانید از طریق TFTP به آن دسترسی داشته باشید.
TFTP_ADDRESS روی :69 تنظیم شده است. یعنی TFTP روی پورت 69 اجرا می شود.
TFTP_OPTIONS روی –secure تنظیم شده است. این متغیر گزینه های TFTP را تنظیم می کند. گزینه های زیادی وجود دارد که می توانید از آنها برای پیکربندی نحوه عملکرد سرور TFTP استفاده کنید. در مورد برخی از آنها بعدا صحبت خواهم کرد. گزینه –secure به معنای تغییر دایرکتوری TFTP به چیزی است که در متغیر TFTP_DIRECTORY تنظیم شده است، زمانی که شما به طور خودکار به سرور TFTP متصل می شوید. این یک ویژگی امنیتی است. اگر گزینه –secure را تنظیم نکرده بودید، باید به سرورTFTP متصل شوید و دایرکتوری را به صورت دستی تنظیم کنید. که بسیار پر دردسر و بسیار ناامن است.
اکنون، من فقط می خواهم TFTP_DIRECTORY را به /tftp تغییر دهم و گزینه –create را به TFTP_OPTIONS اضافه کنم. بدون گزینه –create، نمی توانید فایل های جدیدی را در سرور TFTP ایجاد یا آپلود کنید. شما فقط می توانید فایل های موجود را به روز کنید. بنابراین، من فکر می کنم گزینه –create بسیار مهم است.
فایل پیکربندی نهایی باید به صورت زیر باشد. اکنون، Ctrl + x و سپس y و سپس <Enter> را فشار دهید تا تغییرات ذخیره شوند.
اکنون باید یک دایرکتوری جدید /tftp ایجاد کنید. برای انجام این کار، دستور زیر را اجرا کنید:
$ sudo mkdir /tftp
سپس مالک و گروه پوشه /tftp را با دستور زیر به tftp تغییر دهید:
$ sudo chown tftp:tftp /tftp
اکنون سرویس tftpd-hpa را با دستور زیر راه اندازی مجدد کنید:
$ sudo systemctl restart tftpd-hpa
در اینجا با دستور زیر بررسی کنید که آیا سرویس tftpd-hpa در حال اجرا است یا خیر:
$ sudo systemctl status tftpd-hpa
همانطور که می بینید، سرویس tftpd-hpa در حال اجرا است. بنابراین، پیکربندی موفقیت آمیز است.
تست سرور TFTP:
اکنون برای دسترسی به سرور TFTP به یک برنامه کلاینت TFTP نیاز دارید. برنامه های سرویس گیرنده TFTP زیادی وجود دارد. به احتمال زیاد به غیر از آزمایش سرور TFTP به یکی دیگر نیاز نخواهید داشت زیرا دستگاه هایی که از سرورTFTP استفاده می کنند برنامه کلاینت را قبلاً روی آن نصب کرده اند. به عنوان مثال، روترها و سوئیچ های CISCO از قبل یک برنامه کلاینت TFTP را نصب کرده اند.
برای تست، من قصد دارم در این مقاله از کلاینت TFTP tftp-hpa استفاده کنم. من قصد دارم یک تصویر ISO را در سرور TFTP آپلود کنم و بعداً آن را بازیابی کنم تا بررسی کنم که آیا سرورTFTP مطابق انتظار کار می کند یا خیر.
برای نصب کلاینت TFTP tftp-hpa در اوبونتو، دستورات زیر را اجرا کنید:
$ sudo apt update
$ sudo apt install tftp-hpa
برنامه کلاینت tftp-hpa باید نصب شود. اکنون دستور زیر را روی سرور TFTP خود اجرا کنید تا آدرس IP سرور TFTP را پیدا کنید.
$ ip a
همانطور که می بینید، آدرس IP سرور TFTP من 192.168.21.211 است. برای شما متفاوت خواهد بود، پس حتما از این به بعد آن را با IP خود جایگزین کنید.
اکنون از کامپیوتر دیگر خود با دستور زیر به سرورTFTP متصل شوید:
$ tftp 192.168.21.211
اگر مراحل قبلی را به درستی طی کرده باشید، باید به سرورTFTP متصل شوید.
حال با دستور زیر حالت verbose را فعال کنید:
اکنون برای آپلود یک فایل (rancheros.iso) از دایرکتوری فعلی (از جایی که دستور tftp را اجرا کرده اید)، دستور زیر را اجرا کنید:
tftp> put rancheros.iso
همانطور که مشاهده می کنید، فایل در حال آپلود در سرورTFTP است.
من فایل را از کامپیوترم حذف کردم. حالا بیایید ببینیم چگونه باید آن را از سرور tftp دانلود کنیم.
برای دانلود فایل (rancheros.iso) از سرور tftp دستور زیر را اجرا کنید:
tftp> get rancheros.iso
در نهایت دستور زیر را اجرا کنید تا از رابط tftp خارج شوید.
tftp> quit
بنابراین، روش نصب، راه اندازی و پیکربندی سرور TFTP در اوبونتو به این شکل است. با تشکر از شما بابت خواندن این مقاله.
عالی مثل همیشه
ممنون هرچی در مورد این موضوع میخواستم به راحتی عنوان کرده بودید
نامبروان هاستینگ هستید
سلام من با این خطا رو به رو میشوم و فایل به صورت اندازه 0 بایت منتقل میشود
tftp 45.156.187.338
tftp> verbose
Verbose mode on.
tftp> get pgp
getting from 45.156.187.338:pgp to pgp [netascii]
Transfer timed out.