為Linux FTP服務器設置防火墻規則,通常需要允許FTP協議使用的端口。FTP協議默認使用兩個端口:21(用于控制連接)和20(用于數據傳輸)。此外,如果使用被動模式(PASV),還需要開放一系列動態端口。
以下是使用iptables
和firewalld
兩種常見的防火墻管理工具來設置防火墻規則的步驟:
iptables
允許FTP控制連接端口(21):
sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPT
允許FTP數據傳輸端口(20):
sudo iptables -A INPUT -p tcp --dport 20 -j ACCEPT
允許被動模式端口范圍(通常是49152到65535):
sudo iptables -A INPUT -p tcp --dport 49152:65535 -j ACCEPT
保存規則(具體命令取決于發行版):
sudo sh -c "iptables-save > /etc/iptables/rules.v4"
sudo service iptables save
firewalld
啟動并啟用firewalld服務(如果尚未啟動):
sudo systemctl start firewalld
sudo systemctl enable firewalld
允許FTP控制連接端口(21):
sudo firewall-cmd --permanent --add-port=21/tcp
允許FTP數據傳輸端口(20):
sudo firewall-cmd --permanent --add-port=20/tcp
允許被動模式端口范圍(通常是49152到65535):
sudo firewall-cmd --permanent --add-port=49152-65535/tcp
重新加載firewalld配置:
sudo firewall-cmd --reload
iptables
是大多數Linux發行版的默認工具,而firewalld
在Red Hat系發行版中更常見。通過以上步驟,你可以為Linux FTP服務器設置基本的防火墻規則,確保FTP服務的正常運行。