`
月影无痕
  • 浏览: 1008640 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

iptables防火墙与vsftpd的被动传输模式

阅读更多

Linux服务器上开启了防火墙,并配置vsftpd,就出现了一些问题

 

可以连接,列出目录,但是无法下载/上传,经过检查,是受FTP传输模式影响导致。

 

iptables的配置策略往往就限制入站的目的端口,ftp服务器使用标准的21端口作为控制端口,但是数据的传输端口取决于传输模式

 

主动模式:
  服务器以源端口20或随机端口向客户端的协商的随机端口发起链接,也就是说,这时两边防火墙的策略应该是:
 服务器端应该允许目标端口为20的入站连接,允许所有随机端口的出站连接

 

当然,服务器是否以20为源端口连接,取决于/etc/vsftpd.conf是否设置

connect_from_port_20=YES

 

客户端应该允许所有源端口为20的入站连接,允许所有随机端口的出站连接

 

被动模式:
  客户端以随机连接服务器的某个随机端口(通过21端口协商得到)

 

如此, 如果客户端使用了NAT或是有防火墙,问题就变得复杂多了。

 

在主动模式下,服务器连接客户端(即客户端NAT主机的公网IP)随机端口,肯定会失败的,所以客户端使用NAT时,不能使用主动模式,同理,如果客户端使用防火墙,只允许指定的入站端口连接,那么也会失败。

 

如果使用被动模式呢?也有问题,因为客户端是连接服务器的随机端口(服务器只允许指定入站端口连接),也会出问题,那么对于vsftpd, 解决办法就是:

 

1.vsftpd 使用被动模式,并设定被动模式监听的端口范围

2.服务器防火墙允许到此范围端口的入站连接

 

 

对vsftpd的配置:
pasv_enable=YES //使用被动模式,等待客户端连接
pasv_min_port=50000 //被动模式时监听的端口范围下限
pasv_max_port=50100//被动模式时监听的端口范围上限

 

对iptables的配置

-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 50000:50100 -j ACCEPT

 

当然,客户端需要设置为被动方式连接

 

 

分享到:
评论

相关推荐

    vsftpd被动模式的配置

    VSFTPD 的被动模式是一种特殊的数据传输模式,允许客户端通过 FTP 命令来获取或上传文件。在被动模式下,FTP 服务器不再主动连接客户端,而是等待客户端的连接请求。这种模式可以更好地适应防火墙的限制,提高 FTP ...

    linux vsftpd搭建步骤 亲测可用

    - `pasv_min_port` 和 `pasv_max_port`: 设置被动模式端口范围。 **2.3 FTP工作方式** FTP有两种工作方式:PORT(主动)方式和PASV(被动)方式。PORT方式由客户端发起连接请求,服务器响应;PASV方式则是由...

    vsftpd安装手册

    本文详细介绍了vsftpd的安装过程及关键配置步骤,包括安装组件、配置防火墙与SELinux、配置vsftpd.conf文件以及设置开机自启动等内容。遵循这些步骤能够帮助用户顺利搭建并配置vsftpd服务,满足实际应用需求。

    基于Ubuntu的FTP服务器

    考虑到防火墙和NAT设备的问题,被动模式通常更适用。在`vsftpd.conf`中,取消`pasv_enable=YES`的注释,启用被动模式,并设置相应的端口范围(如`pasv_min_port=1024`和`pasv_max_port=65535`)。 断点续传功能,...

    vsftpd安装手册.pdf

    VSFTPD默认支持被动模式,但需要指定一个端口范围用于数据传输。 编辑`vsftpd.conf`文件,添加以下行: ```bash pasv_min_port=30000 pasv_max_port=30999 ``` 重启FTP服务后,还需要确保防火墙开放了这个端口...

    vsftpd-configuration.rar_vsftp_vsftpd

    1. **pasv_enable=YES/NO**:启用或禁用被动模式,用于防火墙后的FTP连接。 2. **pasv_min_port=port_number** 和 **pasv_max_port=port_number**:设定被动模式的端口范围。 3. **ssl_enable=YES/NO**:开启SSL/...

    linux 下的 ftp

    sudo iptables -A INPUT -p tcp --dport 1024:1048 -j ACCEPT # 假设设置的被动模式端口范围是1024-1048 ``` 最后,别忘了保存`iptables`规则: ```bash sudo service iptables save ``` 总的来说,Linux下的FTP...

    centosFTP配置详解.pdf

    总结以上知识点,CentOS 系统中配置 vsftpd 服务需要进行软件安装、编辑配置文件、设置用户和用户组权限、配置访问控制列表、调整被动模式端口以及开启必要的防火墙端口等步骤。完成这些步骤后,可以使用各种 FTP ...

    Linux中FTP安装与配置

    本文将详细介绍如何在Linux环境下安装与配置vsftpd(very secure FTP daemon),以便于实现安全且高效的FTP服务。 #### 二、环境准备 在开始安装vsftpd之前,首先需要确保以下几点: 1. **关闭防火墙**:如果防火墙...

    Linux 搭建FTP服务器.pptx

    为解决这个问题,可以使用iptables的FTP检测模块或切换到被动模式。 在被动模式下,客户端告诉服务器它将使用的数据连接端口,然后服务器连接到这个指定的端口。这样避免了NAT穿透的问题,因为服务器连接的是客户端...

    ftp-0.17-67.el7.x86_64.rar

    被动模式通常用于防火墙或NAT环境,因为这样可以避免服务器的出站连接问题。 `vsftpd`是"Very Secure FTP Daemon"的缩写,是Linux系统上广泛使用的FTP服务器软件,以其安全性和灵活性而著称。与标题中的"ftp"不同,...

    centos安装FTP服务器

    在VSFTPD的主配置文件`/etc/vsftpd/vsftpd.conf`中添加必要的配置选项来启用FTP服务并设置被动模式下的端口范围。 1. **监听端口**: ```bash listen_port=21 ``` 2. **启用被动模式**: ```bash pasv_enable...

    Liunx下FTP服务器

    在iptables防火墙中,可以使用以下命令: ```bash sudo iptables -A INPUT -p tcp --dport 20 -j ACCEPT sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPT sudo service iptables save sudo service iptables ...

    centos6.5配置FTP服务器[参考].pdf

    为支持FTP的被动模式,需要加载`ip_conntrack_ftp`模块,修改`/etc/sysconfig/iptables-config`文件,并重启`iptables`和`vsftpd`服务。 完成上述步骤后,FTP服务器已基本配置完毕。你可以通过本地PC或FTP客户端...

    FTP服务的配置与应用.rar

    在Linux上,可以使用`iptables`命令,而在Windows中,可以在“Windows Defender防火墙”中设置规则。 7. **测试FTP服务**:配置完成后,使用FTP客户端(如FileZilla、WinSCP)连接到服务器,进行上传和下载操作,以...

    CentOS 6.8 安装vsftpd的方法步骤

    完成配置后,需要更新防火墙设置,使用`sudo service iptables restart`重启防火墙,并通过`sudo service vsftpd restart`重启vsftpd服务。如果首次启动时出现“Shutting down vsftpd failed”提示,无需担心,因为...

    CentOS7 FTP安装与配置

    它支持两种主要的工作模式:主动模式(Active)和被动模式(Passive)。通常情况下,FTP服务器可以分为匿名访问(无需用户名密码即可访问)和认证访问(需要提供用户名密码等信息进行身份验证)。CentOS 7中推荐使用...

    搭建和配置FTP服务器.zip

    根据实际需求,还可以配置FTP服务器支持SSL/TLS加密,设置被动模式以穿透NAT和防火墙,以及使用虚拟用户和群组进行更细粒度的权限控制。 总的来说,搭建和配置FTP服务器涉及网络协议、操作系统管理、用户权限和安全...

Global site tag (gtag.js) - Google Analytics