در یک سرور FTP، پورتهای Passive زمانی استفاده میشن که بخوایم فایلها رو به روش حالت پسیو (PASV) منتقل کنیم. حالت پسیو برای حل مشکلاتی که با فایروالها وNAT وجود داره طراحی شده، چون اینها ممکنه جلوی اتصالهای ورودی FTP رو بگیرن.
نحوه کار حالت پسیو و اهمیت پورتهای پسیو:
-
کانال کنترل: وقتی یک کلاینت به سرور FTPS متصل میشه، ابتدا یک اتصال کنترلی (Control Connection) روی پورت ۲۱ (یا پورت دیگری که برای FTP مشخص شده) برقرار میکنه. این اتصال برای ارسال دستورات FTP و دریافت پاسخها استفاده میشه.
-
کانال داده در حالت پسیو: وقتی کلاینت میخواد دادهای رو انتقال بده (مثلاً برای آپلود یا دانلود فایل)، سرور یک پورت از محدوده پورتهای پسیو رو باز میکنه و شماره پورت رو به کلاینت میفرسته.
-
شروع کانکشن داده توسط کلاینت: سپس کلاینت با استفاده از شماره پورت دریافتی، به سرور متصل میشه و یک اتصال داده (Data Connection) جداگانه برقرار میکنه. این کار باعث میشه که سرور نیازی به ایجاد اتصال خروجی به سمت کلاینت نداشته باشه (که ممکنه فایروال اون رو مسدود کنه).
از اونجایی که در حالت پسیو، کلاینت اتصال رو شروع میکنه، این روش با فایروالها و NATهای سمت کلاینت سازگارتره، چون اغلب فایروالها جلوی اتصالهای ورودی رو میگیرن.
تنظیم پورتهای پسیو:
- بیشتر سرورهای FTP به مدیران اجازه میدن یک محدوده پورتهای پسیو رو تعیین کنن. این محدوده باید در فایروال سرور باز بشه تا انتقال دادهها به درستی انجام بشه.
- برای مثال، یک سرور FTP ممکنه محدوده پورتهای ۵۰۰۰۰ تا ۵۱۰۰۰ رو به عنوان پورتهای پسیو استفاده کنه. کلاینت به یکی از این پورتها برای انتقال دادهها متصل میشه.
تفاوت حالت پسیو و اکتیو:
- حالت اکتیو (دستور PORT): کلاینت یک پورت رو باز میکنه و منتظر میمونه تا سرور به اون متصل بشه که این ممکنه توسط فایروال یا NAT مسدود بشه.
- حالت پسیو (دستور PASV): سرور یک پورت باز میکنه و کلاینت به اون متصل میشه که با فایروالها سازگاری بیشتری داره.
استفاده از حالت پسیو و تنظیم پورتهای پسیو برای اطمینان از ارتباط صحیح FTPS در محیطهایی که فایروال و NAT وجود داره، بسیار مهمه.