在Linux上,您可以使用多种方法来限制FTP服务器的访问IP。以下是一些常见的方法:
方法一:使用iptables
iptables
是一个强大的防火墙工具,可以用来限制特定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
方法二:使用vsftpd配置文件
如果您使用的是vsftpd
作为FTP服务器,可以通过修改其配置文件来限制访问IP。
-
编辑vsftpd配置文件:
sudo nano /etc/vsftpd/vsftpd.conf
-
添加或修改以下配置:
tcp_wrappers=YES
-
编辑hosts.deny和hosts.allow文件:
sudo nano /etc/hosts.deny
添加以下行来拒绝所有IP:
vsftpd: ALL
sudo nano /etc/hosts.allow
添加以下行来允许特定IP:
vsftpd: 允许的IP地址
-
重启vsftpd服务:
sudo systemctl restart vsftpd
方法三:使用ufw(Uncomplicated Firewall)
ufw
是一个用户友好的防火墙管理工具,适用于Ubuntu等发行版。
-
启用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
方法四:使用fail2ban
fail2ban
是一个入侵防御软件框架,可以用来限制恶意IP地址的访问。
-
安装fail2ban:
sudo apt-get install fail2ban
-
配置fail2ban: 编辑
/etc/fail2ban/jail.local
文件,添加以下内容:[DEFAULT] bantime = 600 findtime = 600 maxretry = 3 [vsftpd] enabled = true port = ftp filter = vsftpd logpath = /var/log/vsftpd.log banaction = iptables-multiport
-
重启fail2ban服务:
sudo systemctl restart fail2ban
通过以上方法,您可以根据自己的需求选择合适的方式来限制Linux FTP服务器的访问IP。