ftp主动式连接和被动式连接的却别以及防火墙的设置

本文涉及的产品
云防火墙,500元 1000GB
简介:

主动式连接:port连接方式即客户端通过ftp的端口(21)和ftp服务器建立连接,形成一条链路,当需要有数据传输的时候,客户端在链路上会用port打开某个端口,并告诉ftp服务器自己打开的端口号,然后ftp服务器就可用通过自己的20端口和客户端的那个端口号进行通讯,建立连接,进行数据传输,防火墙的设置也比较简单,只要控制21端口的连接就可以。

Port模式FTP 客户端首先和FTP服务器的TCP 21端口建立连接,通过这个通道发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令。 PORT命令包含了客户端用什么端口接收数据。在传送数据的时候,服务器端通过自己的TCP 20端口连接至客户端的指定端口发送数据。 FTP server必须和客户端建立一个新的连接用来传送数据。


例如: iptables -A INPUT -p tcp -s 192.168.1.0/24 --dport 21 -j ACCEPT 就可以让客户端联机了





 

被动式连接:pasv连接方式即客户端通过ftp的端口号和ftp服务器建立连接,形成一条链路,当需要传输数据的时候,服务器会在链路上通过pasv命令打开一个端口,告诉客户端可以通过这个端口建立连接,传输文件,防火墙设置会多一个步骤

 

首先需要修改ftp的配置文件

 

vim /etc/vsftpd/vsftpd.conf

 

pasv_min_port=6000

 

pasv_max_port=6100

 

然后增加防火墙规则

 

iptables -A INPUT -p tcp -s 192.168.1.0/24 --dport -j ACCEPT

 

iptables -A INPUT -p tcp -s 192.168.1.0/24 --dport 6000:6100 -j ACCEPT

 

所以,如果你是如果通过代理上网的话,就不能用主动模式,因为服务器敲的是上网代理服务器的门,而不是敲客户端的门
而且有时候,客户端也不是轻易就开门的,因为有防火墙阻挡,除非客户端开放大于1024的高端端口




FTP有两种使用模式:主动和被动。主动模式要求客户端和服务器端同时打开并且监听一个端口以建立连接。在这种情况下,客户端由于安装了防火墙会产生一些问题。所以,创立了被动模式。


被动模式只要求服务器端产生一个监听相应端口的进程,这样就可以绕过客户端安装了防火墙的问题。


一个主动模式的FTP连接建立要遵循以下步骤:

1.客户端打开一个随机的端口(端口号大于1024,在这里,我们称它为x),同时一个FTP进程连接至服务器的21号命令端口。此时,源端口为随机端口x,在客户端,远程端口为21,在服务器。

2.客户端开始监听端口(x+1),同时向服务器发送一个端口命令(通过服务器的21号命令端口),此命令告诉服务器客户端正在监听的端口号并且已准备好从此端口接收数据。这个端口就是我们所知的数据端口。

3.服务器打开20号源端口并且建立和客户端数据端口的连接。此时,源端口为20,远程数据端口为(x+1)。

4.客户端通过本地的数据端口建立一个和服务器20号端口的连接,然后向服务器发送一个应答,告诉服务器它已经建立好了一个连接。

被动模式FTP:

为了解决服务器发起到客户的连接的问题,人们开发了一种不同的FTP连接方式。这就是所谓的被动方式,或者叫做PASV,当客户端通知服务器它处于被动模式时才启用。

在被动方式FTP中,命令连接和数据连接都由客户端发起,这样就可以解决从服务器到客户端的数据端口的入方向连接被防火墙过滤掉的问题。

当开启一个 FTP连接时,客户端打开两个任意的非特权本地端口(N > 1024和N+1)。第一个端口连接服务器的21端口,但与主动方式的FTP不同,客户端不会提交PORT命令并允许服务器来回连它的数据端口,而是提交 PASV命令。这样做的结果是服务器会开启一个任意的非特权端口(P > 1024),并发送PORT P命令给客户端。然后客户端发起从本地端口N+1到服务器的端口P的连接用来传送数据。

对于服务器端的防火墙来说,必须允许下面的通讯才能支持被动方式的FTP:

1. 从任何大于1024的端口到服务器的21端口 (客户端的初始化连接)

2.服务器的21端口到任何大于1024的端口 (服务器响应到客户端的控制端口的连接)

3. 从任何大于1024端口到服务器的大于1024端口 (客户端初始化数据连接到服务器指定的任意端口)

4.服务器的大于1024端口到远程的大于1024的端口(服务器发送ACK响应和数据到客户端的数据端口)










本文转自 chengxuyonghu 51CTO博客,原文链接:http://blog.51cto.com/6226001001/1653664,如需转载请自行联系原作者
目录
相关文章
|
8月前
|
SQL 分布式计算 DataWorks
DataWorks常见问题之dataworks连接FTP服务器失败如何解决
DataWorks是阿里云提供的一站式大数据开发与管理平台,支持数据集成、数据开发、数据治理等功能;在本汇总中,我们梳理了DataWorks产品在使用过程中经常遇到的问题及解答,以助用户在数据处理和分析工作中提高效率,降低难度。
|
3月前
|
网络协议 Ubuntu 网络安全
|
3月前
|
Linux 网络安全
FTP被动模式配置
FTP被动模式配置
157 1
|
3月前
|
开发框架 缓存 Ubuntu
dotnet开发框架+ubuntu防火墙命令+win11设置自动登录+阿里云短信发送限制
dotnet开发框架+ubuntu防火墙命令+win11设置自动登录+阿里云短信发送限制
51 3
|
5月前
|
Linux 网络安全
在Linux中,如何设置防火墙规则?
在Linux中,如何设置防火墙规则?
|
5月前
|
网络协议 Ubuntu 前端开发
如何在操作使用ufw设置防火墙
如何在操作使用ufw设置防火墙
|
5月前
|
网络安全 C#
FTP 被动模式配置
FTP 被动模式配置
84 0
FTP 被动模式配置
|
5月前
|
Linux 网络安全 数据安全/隐私保护
在Linux中,FTP 的主动模式和被动模式是什么?有何区别?
在Linux中,FTP 的主动模式和被动模式是什么?有何区别?
|
5月前
|
安全 网络安全 数据处理
防火墙设置难倒你?这两种组网模式轻松解决网络安全难题!
【8月更文挑战第23天】在网络安全日益重要的今天,防火墙作为关键防护设备扮演着重要角色。本文重点分析两种核心组网模式:三层路由网关模式与二层透明网桥模式。前者通过IP层处理实现内外网隔离及丰富的策略配置,增强安全性;后者以MAC地址转发,部署简便,不影响现有网络结构,适合服务不可中断的情况。通过企业升级安全防护的实际案例,展示了不同模式的应用场景及优势,并提供了三层路由网关模式的配置示例。正确选择和配置防火墙组网模式对于提高网络安全性和保证业务连续性至关重要。
166 0
|
7月前
|
安全 网络协议 Linux
【内网安全】 隧道技术&SMB&ICMP&正反向连接&防火墙出入规则上线
【内网安全】 隧道技术&SMB&ICMP&正反向连接&防火墙出入规则上线