溫馨提示×

Linux FTP Server如何限制訪問IP

小樊
42
2025-09-25 21:56:50
欄目: 智能運維

在Linux上,您可以使用多種方法來限制FTP服務器的訪問IP。以下是一些常見的方法:

方法一:使用iptables

iptables是Linux內核自帶的防火墻工具,可以用來限制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
    

方法二:使用ufw(Uncomplicated Firewall)

ufw是Ubuntu和其他基于Debian的系統上的防火墻管理工具。

  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
    

方法三:使用vsftpd配置文件

如果您使用的是vsftpd(Very Secure FTP Daemon),可以在其配置文件中設置IP訪問限制。

  1. 編輯vsftpd配置文件

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

    tcp_wrappers=YES
    
  3. 編輯hosts.deny和hosts.allow文件

    sudo nano /etc/hosts.deny
    sudo nano /etc/hosts.allow
    
  4. 在hosts.deny中添加

    vsftpd: ALL
    
  5. 在hosts.allow中添加

    vsftpd: 允許的IP地址
    
  6. 重啟vsftpd服務

    sudo systemctl restart vsftpd
    

方法四:使用fail2ban

fail2ban是一個入侵防御軟件框架,可以用來限制惡意IP訪問。

  1. 安裝fail2ban

    sudo apt-get install fail2ban
    
  2. 創建或編輯jail配置文件

    sudo nano /etc/fail2ban/jail.local
    
  3. 添加以下內容

    [DEFAULT]
    bantime = 600
    findtime = 600
    maxretry = 3
    
    [vsftpd]
    enabled = true
    port = ftp
    filter = vsftpd
    logpath = /var/log/vsftpd.log
    bantime = 3600
    
  4. 創建或編輯過濾器文件

    sudo nano /etc/fail2ban/filter.d/vsftpd.conf
    
  5. 添加以下內容

    [Definition]
    failregex = ^%(__prefix_line)s(?:error:.*|.*denied for user <HOST>).*$
    ignoreregex =
    
  6. 重啟fail2ban服務

    sudo systemctl restart fail2ban
    

通過以上方法,您可以根據自己的需求選擇合適的方式來限制FTP服務器的訪問IP。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女