要限制Linux FTP服务器的访问IP,您可以使用以下方法之一:
方法1:使用iptables限制IP访问
-
首先,确保您的系统已安装了iptables。在大多数Linux发行版中,iptables是预装的。如果没有,请使用以下命令安装:
对于基于Debian的系统(如Ubuntu):
sudo apt-get update sudo apt-get install iptables对于基于RPM的系统(如CentOS、Fedora):
sudo yum update sudo yum install iptables -
使用以下命令允许特定IP访问FTP服务器:
sudo iptables -A INPUT -p tcp --dport 21 -s 允许的IP地址 -j ACCEPT将“允许的IP地址”替换为您要允许访问FTP服务器的实际IP地址。例如,如果您要允许IP地址为192.168.1.100的用户访问FTP服务器,请执行以下命令:
sudo iptables -A INPUT -p tcp --dport 21 -s 192.168.1.100 -j ACCEPT -
保存iptables规则。这将确保在系统重启后规则仍然有效。
对于基于Debian的系统:
sudo iptables-save > /etc/iptables/rules.v4对于基于RPM的系统:
sudo service iptables save
方法2:使用vsftpd配置文件限制IP访问
-
打开vsftpd配置文件。通常,该文件位于
/etc/vsftpd/vsftpd.conf。使用文本编辑器打开它,例如:sudo nano /etc/vsftpd/vsftpd.conf -
在配置文件中,找到或添加以下行:
tcp_wrappers=YES如果您使用的是旧版本的vsftpd,可能需要添加以下行:
listen=YES -
保存并关闭配置文件。
-
编辑
/etc/hosts.deny和/etc/hosts.allow文件,以限制或允许特定IP访问FTP服务器。打开
/etc/hosts.deny文件:sudo nano /etc/hosts.deny添加以下行以拒绝所有IP访问FTP服务器:
vsftpd: ALL打开
/etc/hosts.allow文件:sudo nano /etc/hosts.allow添加以下行以允许特定IP访问FTP服务器:
vsftpd: 允许的IP地址将“允许的IP地址”替换为您要允许访问FTP服务器的实际IP地址。
-
重启vsftpd服务以应用更改:
对于基于Debian的系统:
sudo systemctl restart vsftpd对于基于RPM的系统:
sudo systemctl restart vsftpd.service
现在,您的Linux FTP服务器已限制为仅允许特定IP地址访问。