配置Linux FTP服務器以支持被動模式(PASV)是確保FTP客戶端能夠通過防火墻和NAT設備連接到服務器的關鍵步驟。以下是使用vsftpd(Very Secure FTP Daemon)作為示例的詳細步驟:
首先,確保你已經安裝了vsftpd。如果沒有安裝,可以使用以下命令進行安裝:
sudo apt-get update
sudo apt-get install vsftpd
編輯vsftpd的配置文件 /etc/vsftpd.conf
:
sudo nano /etc/vsftpd.conf
在配置文件中,找到并修改以下參數:
listen=YES
:啟用獨立模式。listen_ipv6=NO
:禁用IPv6(如果不需要)。pasv_enable=YES
:啟用被動模式。pasv_min_port=1024
:設置被動模式的最小端口(建議設置為1024以上的端口)。pasv_max_port=1048
:設置被動模式的最大端口(建議設置為1048以上的端口)。例如:
listen=YES
listen_ipv6=NO
pasv_enable=YES
pasv_min_port=1024
pasv_max_port=1048
確保防火墻允許被動模式的端口范圍。如果你使用的是ufw
(Uncomplicated Firewall),可以添加以下規則:
sudo ufw allow 1024:1048/tcp
如果你使用的是iptables
,可以添加以下規則:
sudo iptables -A INPUT -p tcp --dport 1024:1048 -j ACCEPT
保存并關閉配置文件后,重啟vsftpd服務以應用更改:
sudo systemctl restart vsftpd
你可以使用FTP客戶端(如FileZilla)連接到你的FTP服務器,并嘗試上傳和下載文件以驗證被動模式是否正常工作。
通過以上步驟,你應該能夠成功配置Linux FTP服務器以支持被動模式。