在Debian系統上配置FTP服務器的防火墻,通常使用iptables
或ufw
(Uncomplicated Firewall)。以下是使用這兩種方法的步驟:
iptables
更新iptables規則: 打開終端并輸入以下命令來允許FTP流量通過防火墻。
sudo iptables -A INPUT -p tcp --dport 21 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
sudo iptables -A OUTPUT -p tcp --sport 21 -m conntrack --ctstate ESTABLISHED -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 20 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
sudo iptables -A OUTPUT -p tcp --sport 20 -m conntrack --ctstate ESTABLISHED -j ACCEPT
這些規則允許FTP控制連接(端口21)和數據連接(端口20)的新連接和已建立的連接。
保存iptables規則: Debian系統通常不會自動保存iptables規則,因此你需要手動保存它們。
sudo sh -c "iptables-save > /etc/iptables/rules.v4"
啟用IP轉發(如果需要): 如果你的FTP服務器需要支持被動模式(PASV),你可能需要啟用IP轉發。
編輯 /etc/sysctl.conf
文件,確保以下行沒有被注釋掉:
net.ipv4.ip_forward=1
然后應用更改:
sudo sysctl -p
ufw
啟用ufw: 如果你還沒有啟用ufw,可以使用以下命令啟用它:
sudo ufw enable
允許FTP流量: 使用ufw允許FTP控制連接和數據連接。
sudo ufw allow 21/tcp
sudo ufw allow 20/tcp
允許被動模式端口范圍(如果需要): 如果你的FTP服務器使用被動模式,你可能需要允許一個端口范圍用于數據連接。例如,允許端口范圍1024到1048:
sudo ufw allow 1024:1048/tcp
重新加載ufw規則: 應用新的規則:
sudo ufw reload
無論你使用哪種方法,都可以通過以下命令檢查防火墻規則是否正確應用:
sudo iptables -L -v -n
或者對于ufw:
sudo ufw status numbered
這些命令將顯示當前的防火墻規則和狀態,幫助你確認FTP流量是否被正確允許。
通過以上步驟,你應該能夠在Debian系統上成功配置FTP服務器的防火墻。