`

FTP主动模式在内网不允许接受外部发起的连接

阅读更多

  FTP支持两种模式,主动模式(standard模式,也称PORT方式)和被动模式(Passive模式,也称PASV方式),主动模式FTP的客户端发送PORT命令到FTP服务器,被动模式FTP的客户端发送PASV命令到FTP服务器。

  主动模式FTP的客户端首先用一个大于1024的端口N和FTP服务器的TCP21 命令端口建立连接,通过该通道发送PORT命令,命令包含了客户端用什么端口(一般是N+1端口)接受数据或发送数据,客户端同时开放另一端口N+1,在传送数据时,服务器端通过自己的20数据端口连接客户端的N+1端口,发送数据或者接受数据。FTP服务器必须和客户端建立一个新的连接来传送数据,即:我客户端主动告知你服务器我用哪个端口来发送或者接受数据,等待服务器来连接客户端,换言之,FTP服务器主动连接客户端。(此时有可能因为客户端身处防火墙后,N+1不能被服务器的20端口连接到。)

  被动模式在建立控制通道时候和主动模式类似,但客户端通过端口N(也是大于1024)发送的是PASV命令,并同时打开N+1端口监听,此时FTP服务器打开一个位于1024到5000之间的一个随机端口通知客户端,然后通过该随机数据端口连接客户端的N+1的端口,此时FTP服务器不需要和客户端建立一个新的客户端连接,即我客户端被动的等待你服务器告知我用那个端口发送或者接受数据,客户端再来连接服务器,换言之,FTP服务器被动等待客户端连接。(此时有可能因为服务器的防火墙阻止客户端端口N+1连接服务器的数据端口,造成FTP连接不能工作。)

  很多局域网防火墙在设置的时候都不允许接受外部发起的连接,所以FTP的主动模式在内部网络的机器通过防火墙访问外部FTP服务器的时候受到了限制,因为从FTP服务器TCP20端口无法和内部网络的客户端建立一个连接,造成无法工作。

  当然如果非要这样,可以设置成功,首先分别设置允许内部IP连接外部IP的21端口,以及禁止外部TCP20端口连接内部IP的小于1024的端口,这是为了防止外部IP连接内部的常规端口,最后还得验证ACK是否是1。

  如果不这样设置就得使用PASV模式,因为此时不用建立新连接,但此时服务器端会开放一个范围很大的随机端口,有的FTP端口范围都可以设置到1024到65535,如果没有防火墙的保护,被动模式使用起来会不安全。建议用主动模式。

 另:linux里vsftpd如果要支持passive被动模式,需要添加

pasv_enable=YES
pasv_min_port=3000 #端口范围
pasv_max_port=4000
到/etc/vsftpd/vsftpd.conf

分享到:
评论

相关推荐

    ftp server映射进入内部局域网的步骤及注意事项.docx

    但在内网或有防火墙的情况下,Active模式可能无法工作,因为服务器无法直接向客户端的任意端口发起连接。 相比之下,Passive模式更为常见。在Passive模式中,FTP服务器在接收到客户端的PASV命令后,随机开启一个...

    公网动态IP建FTP服务器的方法.pdf

    这些用户只能主动发起连接,但不能被公网直接访问。公网用户则拥有非保留的、可以直接访问的全球唯一IP地址。 3. NAT技术:NAT用于将内部网络的多个私有IP地址转换成一个或少数几个公有IP地址,使得内部网络的设备...

    路由器转换IP

    - 内网IP转换:如果你需要在内网中为不同设备分配不同的IP地址,路由器的DHCP服务可以自动完成这一任务,避免手动配置带来的麻烦。 - 隐藏内网设备:通过NAT,路由器可以保护内网设备不被外部直接访问,提高网络...

    构筑Linux防火墙之IPtables的概念与用法

    ftp是个很好的例子,FTP-data 连接就是和FTP-control有RELATED的。 <br>INVALID <br>INVALID说明数据包不能被识别属于哪个连接或没有任何状态。有几个原因可以产生这种情况,比如,内存溢出,收到不知属于哪个...

    UPnP自动端口映射工具/内网映射工具包

    本文将详细探讨UPnP自动端口映射工具及其在内网映射中的应用。 一、UPnP自动端口映射原理 UPnP自动端口映射工具基于UPnP协议,其核心功能是为内网设备提供一个对外的访问通道。当内网设备需要对外提供服务(如运行...

    网络协议TCP/IP实验六 UDP 协议分析实验

    - **定义**:用户数据报协议(User Datagram Protocol,UDP)是一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。与TCP相比,UDP不保证数据包的顺序、可靠性或流量控制。 - **特点**: - **无连接**...

    frp-linux-amd64

    客户端通过安全连接(默认使用TLS)向服务器发起连接,然后服务器会将客户端的请求转发到指定的内网服务,反之亦然,使得外网能够访问内网资源。 Frp的主要功能: 1. 内网穿透:让内网服务(如Web服务器、FTP服务器...

    内网聊天文件传输工具:飞秋

    同时,由于所有的通信都在内网进行,减少了因外部网络环境带来的安全风险。管理员还可以设置权限,限制某些用户发送文件,进一步提升了系统的管理可控性。 飞秋的群组功能也是其亮点,用户可以创建多个群组,每个...

    计算机应用基础(二)作业4(同名20889).docx

    6. **移动笔记本接入**:对于移动用户,**无线LAN**(Wi-Fi)是最理想的接入方式,因为它提供了灵活且无需线缆的连接。 7. **大中型企业接入**:全功能应用的理想方式通常是**光纤接入**,因为它提供高速、稳定的...

    访问内网服务器.doc

    为了实现内网用户通过域名访问内网服务器,需要在内网网关接口上配置 NAT 和 NAT Server。这样,即使没有使用 DNS-Mapping,内网用户也能通过公网地址(如 202.38.1.1)访问到内网服务器。 ### 配置步骤 #### 方案...

    支持https的libcurl静态库(openssl)

    "vc10"代表Visual C++ 2010,"x86"表示这是针对32位系统的版本,"release"表明这是优化过的发布版本,而非调试版本,"static"意味着这个库是静态链接的,不会依赖外部的libcurl动态库,"ipv6"表示它支持IPv6协议,而...

Global site tag (gtag.js) - Google Analytics