نحوه فعال‌سازی حالت Passive در FTP

این مقاله نحوه فعال‌سازی حالت Passive در FTP، تفاوت آن با حالت Active، نحوه پیکربندی سرورهای Pure-FTPd و ProFTPD، تنظیمات NAT، و نحوه باز کردن پورت‌های Passive در انواع فایروال‌ها مانند CSF، nftables، firewalld و iptables را توضیح می‌دهد. همچنین روش رفع مشکلات رایج و بازیابی رابط‌های FTP در cPanel ارائه شده است.

FTP PassiveMode Pure-FTPdProFTPD

~3 دقیقه مطالعه · آخرین به‌روزرسانی ۲۹ بهمن ۱۴۰۴

1. مقدمه


این مستند نحوه استفاده از حالت Active و Passive برای اتصال به سرور FTP را توضیح می‌دهد. حالت Passive برای سرورهایی که پشت NAT قرار دارند ضروری است و از مسدود شدن ارتباط توسط فایروال جلوگیری می‌کند.


نکته مهم: سیستم به‌صورت پیش‌فرض پورت‌های Passive بین 49152 تا 65534 را برای سرورهای Pure-FTPd و ProFTPD فعال می‌کند.


2. تفاوت حالت Active و Passive


Active Mode


در حالت Active، سرور FTP پس از دریافت درخواست، از پورتی متفاوت به سمت کلاینت اتصال برقرار می‌کند. این رفتار در شبکه‌های NAT معمولاً توسط فایروال مسدود می‌شود.


Passive Mode


در حالت Passive، کلاینت هر دو اتصال را آغاز می‌کند. به همین دلیل، فایروال و NAT مانع ارتباط نمی‌شوند.


نکته: اگر کاربران FTP در پشت NAT قرار دارند، باید حالت Passive فعال شود و پورت‌های Passive در سرور و فایروال باز شوند.


3. پیکربندی سرورهای FTP


در ادامه نحوه ویرایش تنظیمات سرورهای Pure-FTPd و ProFTPD توضیح داده شده است.


4. تنظیمات Pure-FTPd


  1. از طریق SSH با کاربر root وارد سرور شوید.
  2. فایل /var/cpanel/conf/pureftpd/local را ایجاد یا ویرایش کنید.
  3. اگر سرور پشت NAT است، مقدار زیر را وارد کنید:

ForcePassiveIP: 203.0.113.0

اگر سرور پشت NAT نیست:


ForcePassiveIP: ~

نکته: فقط یک مقدار ForcePassiveIP می‌تواند در فایل وجود داشته باشد.


تغییر بازه پورت‌های Passive


echo "PassivePortRange: 49152 65534" >> /var/cpanel/conf/pureftpd/local
/usr/local/cpanel/scripts/setupftpserver pure-ftpd --force

راه‌اندازی مجدد سرویس


/usr/local/cpanel/scripts/setupftpserver pure-ftpd --force

5. تنظیمات ProFTPD


  1. از طریق SSH با کاربر root وارد شوید.
  2. فایل /var/cpanel/conf/proftpd/local را ایجاد یا ویرایش کنید.
  3. اگر سرور پشت NAT است، مقدار زیر را وارد کنید:

MasqueradeAddress: 203.0.113.0

اگر سرور پشت NAT نیست:


MasqueradeAddress: ~

نکته: فقط یک مقدار MasqueradeAddress می‌تواند در فایل وجود داشته باشد.


تغییر بازه پورت‌های Passive


echo "PassivePorts: 49152 65534" >> /var/cpanel/conf/proftpd/local
/usr/local/cpanel/scripts/setupftpserver proftpd --force

راه‌اندازی مجدد سرویس


/usr/local/cpanel/scripts/setupftpserver proftpd --force

6. پیکربندی فایروال


ممکن است لازم باشد بازه پورت‌های Passive را در فایروال باز کنید.


CSF


فایل /etc/csf/csf.conf را باز کنید و مطمئن شوید بازه پورت‌ها در خط TCP_IN وجود دارد.


هشدار: از ۳۱ آگوست ۲۰۲۵، CSF دیگر پشتیبانی نمی‌شود.


nftables


nft add rule filter INPUT tcp dport 49152-65534 accept
nft -s list ruleset | tee /etc/sysconfig/nftables.conf

firewalld


firewall-cmd --permanent --zone=public --add-service=ftp
firewall-cmd --permanent --add-port=49152-65534/tcp
firewall-cmd --reload

iptables


yum install iptables-services
iptables -I INPUT -p tcp --dport 49152:65534 -j ACCEPT
service iptables save

7. مشکلات Passive FTP در SolusVM و Xen


در برخی سرورهای CloudLinux با SolusVM و Xen ممکن است مشکلاتی شبیه فایروال رخ دهد. برای رفع مشکل:


IPTABLES_MODULES=ipt_REJECT ipt_tos ipt_TOS ipt_LOG ip_conntrack ipt_limit ipt_multiport iptable_filter iptable_mangle ipt_TCPMSS ipt_tcpmss ipt_ttl ipt_length ipt_state iptable_nat ip_nat_ftp ipt_owner ipt_REDIRECT

service iptables restart

8. رفع مشکلات Passive Mode


اگر سرور NAT نتواند اتصال Passive برقرار کند، مقدار ForcePassiveIP را برابر ~ قرار دهید تا سیستم تغییرات خودکار را غیرفعال کند.


9. بازیابی رابط‌های FTP در cPanel


اگر سرویس FTP در حالت unmanaged باشد، رابط‌های FTP در cPanel نمایش داده نمی‌شوند. برای رفع مشکل:


mkdir -p /var/cpanel/dynamicui/
touch /var/cpanel/dynamicui/ftp

در صورت حذف شدن فایل، پس از هر آپدیت دوباره آن را ایجاد کنید.


نوشته و پژوهش‌شده توسط دکتر شاهین صیامی

مقالات مرتبط

راهنمای کامل بازیابی اکانت cPanel و انتقال حساب‌ها و تنظیمات برای مدیران سیستم تازه‌کار

این مقاله یک راهنمای جامع برای مدیران سیستم تازه‌کار است که می‌خواهند اکانت‌های cPanel را بازیابی کنند، حساب‌ها و تنظیمات را بین سرورها منتقل کنند، و از ابزارهای تشخیصی برای بررسی مشکلات انتقال و بازیابی استفاده کنند. این راهنما شامل نحوه استفاده از WHM، نحوه آپلود بکاپ‌ها، روش‌های انتقال، و فعال‌سازی لاگ‌های پیشرفته است.

ادامه

How to Move All cPanel Accounts from One Server to Another

This guide explains how to migrate all cPanel accounts, service configurations, SSL certificates, and the main server IP address from an old source server to a new target server. It covers installation requirements, configuration transfers, account migration, IP reassignment, DNS adjustments, and SSL restoration.

ادامه

آموزش کامل مهاجرت یک وب‌سایت وردپرس از macOS به سرور cPanel & WHM

این مقاله نحوه انتقال یک وب‌سایت وردپرس که روی macOS میزبانی شده است را به یک سرور cPanel & WHM توضیح می‌دهد. شامل خروجی گرفتن از دیتابیس، آپلود فایل‌ها، ایجاد دیتابیس جدید، تنظیم wp-config.php، تغییر URL سایت، و رفع لینک‌ها و تصاویر خراب است.

ادامه

آموزش کامل انتقال دستی یک اکانت بین سرورها در cPanel & WHM

این مقاله نحوه انتقال دستی یک اکانت بین دو سرور را زمانی که حجم اکانت برای ابزارهای انتقال WHM بسیار بزرگ است توضیح می‌دهد. شامل ایجاد دایرکتوری موقت، فشرده‌سازی public_html و لاگ‌ها، انتقال امن با scp، و بازیابی فایل‌ها در سرور جدید است.

ادامه

آموزش کامل مهاجرت دستی داده‌های Horde به Roundcube در cPanel & WHM

این مقاله نحوه مهاجرت دستی تقویم‌ها و مخاطبین Horde به Roundcube را در نسخه‌های 108 تا 118 cPanel & WHM توضیح می‌دهد. شامل مراحل خروجی گرفتن از Horde، انتقال فایل‌ها به مسیرهای صحیح، و وارد کردن داده‌ها در Roundcube با استفاده از افزونه‌های داخلی یا ابزارهای واردسازی است.

ادامه

آموزش کامل مهاجرت دستی اکانت‌ها از کنترل‌پنل‌های غیرپشتیبانی‌شده به cPanel & WHM

این مقاله نحوه مهاجرت دستی اکانت‌ها از کنترل‌پنل‌های غیرپشتیبانی‌شده به cPanel & WHM را توضیح می‌دهد. شامل اقدامات قبل از مهاجرت، نصب سرور جدید، انتقال فایل‌ها و دایرکتوری‌ها، بازیابی دیتابیس‌ها، انتقال SSL، و اقدامات پس از مهاجرت است.

ادامه