在Linux上,您可以使用多种方法来限制FTP服务器的访问IP。以下是一些常见的方法:
方法一:使用iptables
iptables是Linux内核自带的防火墙工具,可以用来限制IP访问。
-
允许特定IP访问FTP服务器:
sudo iptables -A INPUT -p tcp --dport 21 -s 允许的IP地址 -j ACCEPT -
拒绝所有其他IP访问FTP服务器:
sudo iptables -A INPUT -p tcp --dport 21 -j DROP -
保存iptables规则(具体命令可能因发行版而异):
sudo iptables-save > /etc/iptables/rules.v4
方法二:使用ufw(Uncomplicated Firewall)
ufw是Ubuntu和其他基于Debian的系统上的防火墙管理工具。
-
启用ufw:
sudo ufw enable -
允许特定IP访问FTP服务器:
sudo ufw allow from 允许的IP地址 to any port 21 -
拒绝所有其他IP访问FTP服务器:
sudo ufw deny 21/tcp -
重新加载ufw规则:
sudo ufw reload
方法三:使用vsftpd配置文件
如果您使用的是vsftpd(Very Secure FTP Daemon),可以在其配置文件中设置IP访问限制。
-
编辑vsftpd配置文件:
sudo nano /etc/vsftpd.conf -
添加或修改以下配置:
tcp_wrappers=YES -
编辑hosts.deny和hosts.allow文件:
sudo nano /etc/hosts.deny sudo nano /etc/hosts.allow -
在hosts.deny中添加:
vsftpd: ALL -
在hosts.allow中添加:
vsftpd: 允许的IP地址 -
重启vsftpd服务:
sudo systemctl restart vsftpd
方法四:使用fail2ban
fail2ban是一个入侵防御软件框架,可以用来限制恶意IP访问。
-
安装fail2ban:
sudo apt-get install fail2ban -
创建或编辑jail配置文件:
sudo nano /etc/fail2ban/jail.local -
添加以下内容:
[DEFAULT] bantime = 600 findtime = 600 maxretry = 3 [vsftpd] enabled = true port = ftp filter = vsftpd logpath = /var/log/vsftpd.log bantime = 3600 -
创建或编辑过滤器文件:
sudo nano /etc/fail2ban/filter.d/vsftpd.conf -
添加以下内容:
[Definition] failregex = ^%(__prefix_line)s(?:error:.*|.*denied for user).*$ ignoreregex = -
重启fail2ban服务:
sudo systemctl restart fail2ban
通过以上方法,您可以根据自己的需求选择合适的方式来限制FTP服务器的访问IP。
以上就是关于“Linux FTP Server如何限制访问IP”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm