CentOS下为FileZilla(服务器)设置防火墙的步骤
CentOS系统默认使用firewalld作为防火墙管理工具(部分旧版本可能使用iptables,但firewalld更推荐)。FileZilla本身不负责系统防火墙配置,需通过系统工具设置。
首先确认firewalld是否运行:
sudo systemctl status firewalld
若未启动,执行以下命令启动并设置开机自启:
sudo systemctl start firewalld
sudo systemctl enable firewalld
被动模式(PASV)是FTP常用的数据传输模式,需开放指定端口范围:
50100-52100,可根据需求调整,建议避开常用服务端口)。FTP控制连接默认使用21端口,需永久开放:
sudo firewall-cmd --permanent --add-port=21/tcp
将步骤3中设置的被动端口范围添加到防火墙:
sudo firewall-cmd --permanent --add-port=50100-52100/tcp
使上述规则生效:
sudo firewall-cmd --reload
查看当前开放的端口规则:
sudo firewall-cmd --list-ports
应显示21/tcp和50100-52100/tcp。
若需仅允许特定IP访问FTP服务,可添加IP限制规则:
# 允许单个IP(如192.168.1.100)
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="21" accept'
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="50100-52100" accept'
# 允许IP段(如192.168.1.0/24)
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="21" accept'
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="50100-52100" accept'
# 重新加载规则
sudo firewall-cmd --reload
iptables(旧版本CentOS),需通过iptables-save保存规则,避免重启失效;