限制 FTP 服务器访问 IP 的实用方案
一、防火墙层面限制(推荐)
sudo iptables -A INPUT -p tcp --dport **21** -s **203.0.113.10** -j ACCEPTsudo iptables -A INPUT -p tcp --dport **21** -j DROPsudo iptables -A INPUT -p tcp --dport **21** -s **192.168.1.0/24** -j ACCEPTsudo apt-get install iptables-persistent 并在保存后写入 /etc/iptables/rules.v4sudo iptables-save > /etc/iptables/rules.v4sudo ufw allow from **203.0.113.10** to any port **21**二、在 vsftpd 中基于 TCP Wrappers 限制
tcp_wrappers=YES,然后重启服务。vsftpd: ALLvsftpd: **203.0.113.10**, **192.168.1.0/24**sudo systemctl restart vsftpd三、vsftpd 专项配置与被动端口放行
anonymous_enable=NOlocal_enable=YESchroot_local_user=YESallow_writeable_chroot=YESpasv_enable=YESpasv_address=你的服务器公网IPpasv_min_port=**10000**pasv_max_port=**10100**sudo iptables -A INPUT -p tcp --dport **10000:10100** -j ACCEPTsudo systemctl restart vsftpdchroot_local_user 并不能替代 IP 限制,它主要是目录隔离;IP 限制仍需通过防火墙或 TCP Wrappers 实现。四、进阶与运维建议
sudo apt-get install fail2banbantime、findtime、maxretry,重启 fail2ban 服务。auth required pam_listfile.so item=user sense=allow file=/etc/vsftpd/allowed_users onerr=succeed