在Linux上配置FTP服务器防火墙,你需要确保防火墙允许FTP服务所需的端口。FTP通常使用两个端口:21(用于控制连接)和20(用于数据传输)。此外,如果你的FTP服务器使用被动模式,你还需要打开一系列动态端口范围。
以下是使用iptables在Linux上配置FTP服务器防火墙的步骤:
打开必要的端口:
配置iptables规则: 打开终端,以root用户身份登录,然后使用以下命令来配置iptables。
# 清除现有规则
iptables -F
iptables -X
# 设置默认策略为DROP
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
# 允许本地回环接口的流量
iptables -A INPUT -i lo -j ACCEPT
# 允许已经建立的连接和相关的数据包
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
# 允许FTP控制连接(端口21)
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
# 允许FTP数据传输(端口20)
iptables -A INPUT -p tcp --dport 20 -j ACCEPT
# 允许被动模式的FTP数据传输
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 49152:65535 -j ACCEPT
# 如果你使用的是IPv4,还需要允许IP转发
echo 1 > /proc/sys/net/ipv4/ip_forward
保存iptables规则: iptables规则在系统重启后会丢失,所以你需要保存它们。这可以通过以下命令完成:
iptables-save > /etc/iptables/rules.v4
对于基于Debian的系统,你可以安装iptables-persistent
包来保存规则:
apt-get install iptables-persistent
在安装过程中,选择“是”以保存当前规则。
测试防火墙规则: 使用FTP客户端尝试连接到你的FTP服务器,确保可以正常工作。
请注意,这些步骤假设你正在使用iptables作为防火墙。如果你使用的是其他防火墙工具,如ufw、firewalld或nftables,配置步骤将会有所不同。此外,出于安全考虑,建议使用SFTP(SSH File Transfer Protocol)而不是传统的FTP,因为SFTP提供了更好的安全性。
辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读: HDFS网络传输怎样优化