【华为云技术分享】华为云弹性云服务器ECS搭建FTP服务实践
摘要:在使用华为弹性云服务器ECS搭建FTP服务的时候,经常会遇到搭建完成后无法访问的问题。本篇通过演示windows IIS搭建FTP方法,讲解ftp主动模式、被动模式原理来说明无法访问的原因及解决方案。
我们在使用华为弹性云服务器ECS搭建FTP服务的时候,经常会遇到搭建完成后无法访问的问题。本篇案例通过讲解ftp主动模式、被动模式原理来说明无法访问的原因及解决方案。
华为云上的弹性公网IP地址EIP和弹性云服务器ECS的私网IP地址是动态绑定的,通过NAT的方式进行映射。FTP协议应用层中携带了IP地址或端口等信息,因此一般需要ALG的帮助才能正常穿越NAT。我们在华为云主机上搭建ftp服务器后,一般默认无法从公网去访问,要理解这个原因,首先要了解下ftp的主动模式和被动模式的概念。
一、FTP主动模式与被动模式
(一)主动模式
客户端从一个任意的非特权端口N(N>1024,如下图的1026端口)连接到FTP服务器的21端口。然后客户端开始监听N+1(如下图的1027端口),并发送FTP命令“port N+1”到FTP服务器。接着服务器会从它自己的数据端口(20)连接到客户端指定的数据端口(N+1)。
用更通俗的语言来理解这个交互过程:
- 客户端用一个大于1024的端口N与FTP服务器的21端口建立一个控制通道,发送一条命令告诉FTP服务端(即通常说的PORT命令),我的数据通道的通信地址是IP1(本机网卡IP),数据通道的端口N+1,服务端收到请求后回复ACK确认。
- 服务端确认后,用源端口20主动与客户端IP1:N+1建立连接,进行数据通信。
(二)被动模式
当开启一个FTP连接时,客户端打开两个任意的非特权本地端口N>1024和N+1(分别如下图的1026端口和1027端口)。第一个端口连接服务器的21端口,客户端提交PASV命令给服务端,这样做的结果是服务器会开启一个任意的非特权端口(P>1024),并发送PORT P(如下图2024)命令给客户端。然后客户端发起从本地端口N+1到服务器的端口P的连接用来传送数据。
用更通俗的语言来理解这个交互过程:
- 客户端使用源端口N与FTP服务端建立一个控制通道,发送一条命令告诉服务端(即通常说的PASV命令),我将使用被动模式与你通信。服务端收请求后,会告知客户端我的IP是IP2(默认为主机网卡IP)和监听端口P,你可以和我的这个IP和端口通信。
- 客户端收到1)中的信息后,使用源端口N+1,与服务端IP2:P建立连接,进行数据通信。
二、windows IIS搭建FTP方法演示
server 版本:Windows Server 2012 R2 标准版 64位简体中文
IIS版本: IIS 8
1、安装FTP服务
“控制面板”—“管理工具”—“服务器管理器”—“仪表盘”
2、ftp服务部署
客户端IE浏览器一般默认配置采用被动模式访问FTP服务器,如果通过EIP去访问云上ECS部署的FTP服务,会报如下错误:
理解了FTP被动模式的原理后,我们就很容易理解访问失败的原因:
第一步控制通道通信过程中,服务端回复给客户端的数据面IP是服务端网卡的私网IP(此处为172.16.0.170)而不是服务端的公网IP地址,导致客户端第二步数据通道建连失败。
三、解决方案
- 客户端IE修改为主动模式
如下图所示所示,在“工具->Internet选项->高级”将“使用被动FTP…“勾选去掉。前面说过,FTP主动模式下,FTP服务器会
但有一点需要注意,如果客户端本地网络是通过NAT方式访问外网的,也可能会有问题,所以不建议采用该方案。
2、服务端配置“FTP防火墙支持”
如下图所示,在“防火墙的外部IP地址”中填写主机的弹性公网IP即可,此时仍然采用FTP被动模式。建议使用该种方式,该种方法可以支持被动模式访问FTP,且对客户端本地网络无特殊要求。
注意:被动模式下,FTP服务器的安全组入方向需要放通FTP数据通道的端口号(默认为1024~65535的端口号),否则,FTP服务器也无法访问。如上图所示,此处FTP服务器数据通道端口设置为1025~10018,所以FTP服务器网卡对应安全组主要添加如下入方向规则,如下图所示。
以上,是在华为云上如何使用华为云弹性云服务器ECS搭建FTP的实践。
【华为云技术分享】华为云弹性云服务器ECS搭建FTP服务实践相关推荐
- 【华为云技术分享】鲲鹏弹性云服务器GCC交叉编译环境搭建指南
南七技校林书豪 1.简介 交叉编译,简单地说,就是在一个平台上生成另一个平台上的可执行代码.本指南主要内容为在非ARM架构服务器环境下搭建ARM的GCC编译环境,编译基于ARM架构的应用软件.交叉编译 ...
- 融云技术分享:解密融云IM产品的聊天消息ID生成策略
本文来自融云技术团队原创分享,原文发布于"融云全球互联网通信云"公众号,原题<如何实现分布式场景下唯一 ID 生成?>,即时通讯网收录时有部分改动. 1.引言 对于IM ...
- 阿里云 ECS 7 天实践训练营 - day01 -基于ECS搭建FTP服务
前段时间无意间看到了阿里云7天实践ECS训练营的活动,因为我本身自己也已经使用了两年的阿里云学生机,但是全凭自己的喜好来的,没有经过一个系统的训练,这次看到这个活动,便马上参加了,所以特在此记录每天的 ...
- 在阿里云ECS服务器上搭建FTP服务
在阿里云ECS服务器上搭建FTP服务 一.简介 二.环境简介 三.搭建FTP服务器步骤 1.配置ECS服务器的安全组策略 2.服务器安装vsftpd软件 3.修改配置文件 4.启动FTP服务 5.Wi ...
- 腾讯云Linux云服务器如何搭建FTP服务?
Vsftpd(very secure FTP daemon)是众多 Linux 发行版中默认的 FTP 服务器.本文以 CentOS 7.6 64位操作系统的腾讯云服务器(CVM)为例,使用 vsft ...
- 腾讯云Windows云服务器如何搭建ftp服务?
本文档介绍如何在 Windows 操作系统的腾讯云服务器(CVM)上通过 IIS 搭建 FTP 站点. 示例软件版本 本文搭建 FTP 服务组成版本如下: Windows 操作系统,本文以 Windo ...
- 【华为云技术分享】玩转云上数据湖,解析Serverless 技术落地
摘要:本文主要介绍Serverless计算相关技术与其在华为云数据湖探索服务(后文简称DLI)中的技术落地. 导读 本文主要介绍Serverless计算相关技术与其在华为云数据湖探索服务(后文简称DL ...
- 【华为云技术分享】云图说 | 云硬盘还可以共享?!不了解你就out了
你还在为这件事头疼吗?想要在多台云服务器间共享数据,却难以实现. 别着急,共享云硬盘轻松搞定.一块共享云硬盘最多可挂载至16台云服务器,搭建共享文件系统或类似的集群管理,数据共享so easy. 切记 ...
- 使用云服务器ECS搭建DoH服务的开发实践
本文来自于云服务器ECS征文活动投稿,已获得作者(昵称绍羽)授权发布. 我们都知道,DNS服务器(Domain Name Server)可以将人类易于理解的域名(就是平时说的网址)转换为机器易于理解的 ...
最新文章
- NLP进阶之(七)膨胀卷积神经网络
- python 是什么类型的语言-python是一种什么类型的语言
- 电感检测_几种常用的电流检测方式
- Adobe和苹果相互推诿 不支持Flash谁之过?
- aio nio aio_AIO的完整形式是什么?
- java保留两位小数 四种方式
- element-ui按需引入
- MyBatis分页插件PageHelper
- powerBI发布到web,管理员权限设置
- 人工智能数学基础——贝叶斯分析
- 行列式用计算机怎么算,行列式计算机方法
- 解决vim不能使用方向键和退格键问题
- Mac安装PL2303驱动
- 国医馆项目(杂七杂八)
- Android-PickerView
- 抓包工具fiddler
- 带联网功能的RFID宿舍门禁(四)-NodeMCU网站与RC522共同控制舵机转动
- 鼠标连点器电脑版安装使用教程
- 学习HTML经历记录2
- Animation旋转360度
热门文章
- 【GAOPS002】round robin Verilog实现
- 《乐高EV3机器人搭建与编程》一2.1 零件储存箱
- win10计算机跑分,Win11对比Win10系统性能测试,看完跑分结果还等发布会吗?
- 社会工程:安全体系中的人性漏洞pdf
- HP EliteDesk 800 G4 DM 35W (Japan) Mini Tower黑苹果efi引导文件
- 秒云助力中电科32所发布“基于拟态应用集成框架的SaaS云管理平台解决方案”
- 大连理工大学计算机科学与技术考研科目,2020年大连理工大学计算机科学与技术考研都考哪些科目,尤其-培训家...
- Xcode安装特定版本系统的模拟器(不支持断点下载所以总是下载失败)
- 关于安阳工学院ACM实验室纳新问题解答
- 计算机网络实验八——聊天程序