配置FTPServer防火墻規則需根據系統類型選擇工具,核心是開放FTP控制端口(21)、數據傳輸端口(20或被動模式端口范圍),以下是常見系統的配置方法:
sudo apt update && sudo apt install ufw
sudo ufw enable
sudo ufw allow 21/tcp
sudo ufw allow 20/tcp
/etc/vsftpd.conf
)中設置pasv_min_port
和pasv_max_port
(如50000-50100
),然后執行:sudo ufw allow 50000:50100/tcp
sudo ufw allow from [IP段] to any port 21,20
sudo ufw status
確認規則生效,重啟FTP服務:sudo systemctl restart vsftpd
sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPT # 控制端口
sudo iptables -A INPUT -p tcp --dport 20 -j ACCEPT # 數據端口(主動模式)
sudo iptables -A INPUT -p tcp --dport 50000:50100 -j ACCEPT # 被動模式端口范圍
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # 允許已建立的連接
sudo iptables-save > /etc/iptables/rules.v4
使用firewalld
:
sudo firewall-cmd --permanent --add-port=21/tcp # 控制端口
sudo firewall-cmd --permanent --add-port=20/tcp # 數據端口(主動模式)
sudo firewall-cmd --permanent --add-port=50000-50100/tcp # 被動模式端口范圍
sudo firewall-cmd --reload
pasv_min_port
和pasv_max_port
,并確保防火墻允許該范圍。參考來源: