在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)的新建和已建立的連接。
允許被動模式FTP: 被動模式FTP需要額外的端口范圍。假設你希望允許端口范圍從1024到65535。
sudo iptables -A INPUT -p tcp --dport 1024:65535 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
sudo iptables -A OUTPUT -p tcp --sport 1024:65535 -m conntrack --ctstate ESTABLISHED -j ACCEPT
保存iptables規則: Debian系統默認不會持久化iptables規則,所以你需要手動保存它們。
sudo sh -c "iptables-save > /etc/iptables/rules.v4"
如果你想在啟動時自動加載這些規則,可以創建一個啟動腳本。
sudo nano /etc/network/if-pre-up.d/iptables
添加以下內容:
#!/bin/sh
iptables-restore < /etc/iptables/rules.v4
然后賦予執行權限:
sudo chmod +x /etc/network/if-pre-up.d/iptables
ufw
啟用ufw: 如果你還沒有啟用ufw,可以使用以下命令啟用它。
sudo ufw enable
允許FTP流量: 使用ufw允許FTP控制連接和數據連接。
sudo ufw allow 21/tcp
sudo ufw allow 20/tcp
sudo ufw allow 1024:65535/tcp
重新加載ufw規則: 應用新的規則。
sudo ufw reload
檢查ufw狀態: 確認規則已經生效。
sudo ufw status
通過以上步驟,你應該能夠在Debian系統上成功配置FTP服務器的防火墻規則。