設置Linux FTP服務器的防火墻需要確保FTP服務所需的端口是開放的。FTP通常使用兩個端口:21(用于控制連接)和20(用于數據傳輸)。此外,如果使用被動模式(PASV),還需要開放一系列動態端口。以下是如何在常見的Linux發行版上設置防火墻的步驟:
安裝iptables(如果尚未安裝):
sudo apt-get install iptables # Debian/Ubuntu
sudo yum install iptables # CentOS/RHEL
允許FTP控制連接:
sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPT
允許FTP數據連接:
sudo iptables -A INPUT -p tcp --dport 20 -j ACCEPT
允許被動模式端口范圍(例如,50000到50050):
sudo iptables -A INPUT -p tcp --dport 50000:50050 -j ACCEPT
保存iptables規則:
sudo iptables-save > /etc/iptables/rules.v4 # Debian/Ubuntu
sudo service iptables save # CentOS/RHEL
安裝firewalld(如果尚未安裝):
sudo apt-get install firewalld # Debian/Ubuntu
sudo yum install firewalld # CentOS/RHEL
啟動firewalld服務:
sudo systemctl start firewalld
sudo systemctl enable firewalld
允許FTP控制連接:
sudo firewall-cmd --permanent --add-port=21/tcp
允許FTP數據連接:
sudo firewall-cmd --permanent --add-port=20/tcp
允許被動模式端口范圍(例如,50000到50050):
sudo firewall-cmd --permanent --add-port=50000-50050/tcp
重新加載firewalld配置:
sudo firewall-cmd --reload
安裝ufw(如果尚未安裝):
sudo apt-get install ufw # Debian/Ubuntu
sudo yum install ufw # CentOS/RHEL
啟用ufw:
sudo ufw enable
允許FTP控制連接:
sudo ufw allow 21/tcp
允許FTP數據連接:
sudo ufw allow 20/tcp
允許被動模式端口范圍(例如,50000到50050):
sudo ufw allow 50000:50050/tcp
通過以上步驟,您應該能夠成功設置Linux FTP服務器的防火墻。