首页 > 文章列表 > Linux FTP Server防火墙配置小技巧

Linux FTP Server防火墙配置小技巧

225 2025-04-13

Linux FTP Server防火墙配置技巧

保障Linux FTP服务器安全,防火墙配置必不可少。本文将指导您逐步完成Linux系统FTP服务器防火墙设置。

一、选择防火墙工具

Linux系统常用的防火墙工具包括iptables和firewalld。建议使用firewalld,因为它支持IPv4和IPv6,并提供动态管理和永久配置选项。

二、FTP端口配置

FTP服务器使用两种工作模式:

  • 主动模式 (Active Mode): 服务器使用端口20连接客户端的随机端口。如果客户端开启防火墙,可能导致连接失败。
  • 被动模式 (Passive Mode): 客户端发起连接,服务器被动接受。此模式下,防火墙通常只限制入站流量,服务器端需正确配置策略。

三、开启FTP端口

使用firewalld开启FTP端口(默认21):

sudo firewall-cmd --permanent --add-port=21/tcp
sudo firewall-cmd --reload

四、使用vsftpd配置FTP服务器

vsftpd是一款流行的FTP服务器软件。安装和配置步骤如下:

# 安装vsftpd (Debian/Ubuntu)
sudo apt-get install vsftpd

# 安装vsftpd (CentOS/RHEL)
sudo yum install vsftpd

# 启动vsftpd服务
sudo systemctl start vsftpd

# 设置vsftpd开机自启动
sudo systemctl enable vsftpd

# 编辑vsftpd配置文件
sudo nano /etc/vsftpd.conf

# 配置选项示例:
# anonymous_enable=YES  # 允许匿名访问
# local_enable=YES     # 允许本地用户访问
# write_enable=YES      # 允许文件上传
# chroot_local_user=YES # 限制用户访问其主目录

# 保存并重启vsftpd服务
sudo systemctl restart vsftpd

五、防火墙规则示例

以下firewalld命令可用于管理防火墙规则:

  • 查看防火墙状态:
    sudo firewall-cmd --state
  • 添加新端口(例如,FTP端口2121):
    sudo firewall-cmd --permanent --add-port=2121/tcp
    sudo firewall-cmd --reload
  • 允许特定IP访问(例如,192.168.1.100):
    sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" accept'
    sudo firewall-cmd --reload
  • 删除端口(例如,2121):
    sudo firewall-cmd --permanent --remove-port=2121/tcp
    sudo firewall-cmd --reload
  • 重新加载防火墙配置:
    sudo firewall-cmd --reload

遵循以上步骤,即可安全可靠地配置Linux FTP服务器防火墙。 请根据实际需求调整端口和IP地址。