Ubuntu FTP Server防火墙设置要点
Ubuntu系统默认使用**UFW(Uncomplicated Firewall)**作为防火墙管理工具,因其操作简单、配置直观,是新手推荐的选择;若需更底层配置,也可使用iptables
,但需手动保存规则。
FTP协议的核心是控制连接(用于发送命令),默认使用TCP端口21。无论使用UFW还是iptables,均需首先开放此端口:
sudo ufw allow 21/tcp
sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPT
FTP数据传输(如文件上传/下载)需通过数据端口完成,分为两种模式:
sudo ufw allow 50000:50100/tcp
sudo iptables -A INPUT -p tcp --dport 50000:50050 -j ACCEPT
被动模式需在FTP服务器配置文件中明确端口范围,并同步开放防火墙。以vsftpd
为例:
sudo nano /etc/vsftpd.conf
pasv_enable=YES
(启用被动模式)pasv_min_port=50000
(最小端口)pasv_max_port=50100
(最大端口)sudo systemctl restart vsftpd
若使用iptables,规则默认不会持久化,需安装iptables-persistent
工具保存:
sudo apt install iptables-persistent
sudo netfilter-persistent save
sudo netfilter-persistent reload
sudo ufw status
(确认21、20及被动模式端口范围显示为“ALLOW”);sudo iptables -L -v
(确认对应端口规则存在且计数递增);sudo ufw allow from 192.168.1.0/24 to any port 21/tcp
;vsftpd
、ufw
等软件为最新版本,修复已知安全漏洞。