在Ubuntu上配置FTP服務器的防火墻規則,通常需要使用ufw(Uncomplicated Firewall)工具。以下是詳細的步驟:
如果你還沒有安裝ufw,可以使用以下命令進行安裝:
sudo apt update
sudo apt install ufw
安裝完成后,啟用ufw:
sudo ufw enable
FTP協議使用兩個端口:20(數據傳輸)和21(控制連接)。你需要允許這兩個端口的流量。
sudo ufw allow 21/tcp
sudo ufw allow 20/tcp
被動模式FTP需要開放一個范圍的外來端口。默認情況下,這個范圍是1024到1048。你可以根據需要調整這個范圍。
sudo ufw allow 1024:1048/tcp
確保FTP規則在默認規則之前生效。你可以使用ufw status numbered命令查看當前的規則順序,并使用ufw insert命令插入新規則。
例如,將FTP規則插入到第1條:
sudo ufw insert 1 allow 21/tcp
sudo ufw insert 1 allow 20/tcp
sudo ufw insert 1 allow 1024:1048/tcp
應用新的規則:
sudo ufw reload
使用以下命令驗證防火墻規則是否正確應用:
sudo ufw status
你應該能看到類似以下的輸出:
21/tcp ALLOW Anywhere
20/tcp ALLOW Anywhere
1024:1048/tcp ALLOW Anywhere
確保你的FTP服務器(如vsftpd)配置正確,特別是被動模式的相關設置。編輯/etc/vsftpd.conf文件,確保以下設置:
pasv_enable=YES
pasv_min_port=1024
pasv_max_port=1048
然后重啟vsftpd服務:
sudo systemctl restart vsftpd
通過以上步驟,你應該能夠在Ubuntu上成功配置FTP服務器的防火墻規則。