Linux FTP服务器如何限制访问IP

939
2025/3/21 6:31:57
栏目: 云计算
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在Linux上,您可以使用多种方法来限制FTP服务器的访问IP。以下是一些常见的方法:

方法一:使用iptables

iptables 是一个强大的防火墙工具,可以用来限制特定IP地址的访问。

  1. 允许特定IP访问FTP服务器

    sudo iptables -A INPUT -p tcp --dport 21 -s 允许的IP地址 -j ACCEPT
    
  2. 拒绝所有其他IP访问FTP服务器

    sudo iptables -A INPUT -p tcp --dport 21 -j DROP
    
  3. 保存iptables规则

    sudo iptables-save > /etc/iptables/rules.v4
    

方法二:使用vsftpd配置文件

如果您使用的是vsftpd作为FTP服务器,可以通过修改其配置文件来限制访问IP。

  1. 编辑vsftpd配置文件

    sudo nano /etc/vsftpd/vsftpd.conf
    
  2. 添加或修改以下配置

    tcp_wrappers=YES
    
  3. 编辑hosts.deny和hosts.allow文件

    sudo nano /etc/hosts.deny
    

    添加以下行来拒绝所有IP:

    vsftpd: ALL
    
    sudo nano /etc/hosts.allow
    

    添加以下行来允许特定IP:

    vsftpd: 允许的IP地址
    
  4. 重启vsftpd服务

    sudo systemctl restart vsftpd
    

方法三:使用ufw(Uncomplicated Firewall)

ufw 是一个用户友好的防火墙管理工具,适用于Ubuntu等发行版。

  1. 启用ufw

    sudo ufw enable
    
  2. 允许特定IP访问FTP服务器

    sudo ufw allow from 允许的IP地址 to any port 21
    
  3. 拒绝所有其他IP访问FTP服务器

    sudo ufw deny 21/tcp
    
  4. 重新加载ufw规则

    sudo ufw reload
    

方法四:使用fail2ban

fail2ban 是一个入侵防御软件框架,可以用来限制恶意IP地址的访问。

  1. 安装fail2ban

    sudo apt-get install fail2ban
    
  2. 配置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
    
  3. 重启fail2ban服务

    sudo systemctl restart fail2ban
    

通过以上方法,您可以根据自己的需求选择合适的方式来限制Linux FTP服务器的访问IP。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: linux多屏显示设置的步骤是什么