总结:1、内网访问公网需要用被动模式

   2、云服务器需要放开除20、21以外的部分端口,指定范围

   3、PASV IP配置为云服务器的弹性公网IP

   4、局域网使用主动模式连接FTP,客户端需要关闭防火墙,或者对指定IP放开全部端口

已知环境:

  FTP的服务端在华为云服务器,使用serv-U搭建

  客户端在公司内网,可以访问外网但是不能被访问到

项目上之前用的FTP都是在局域网内,用的是主动模式,不懂是为啥但一直就是用的主动模式。

这次用资源管理器连接测试的时候提示:

请检查是否有权限打开该文件夹

详细信息:TYPE A:200 type set to a. 227  Entering Passive Mode

搜索资料,出现的提示最多的就是关闭客户端的被动模式,强制使用主动模式访问(配置方式就是修改Internet-设置-高级-被动,勾选为被动,去掉为主动)

强制主动模式后,因为本机为内网,服务器无法访问到本机,所以不能使用主动模式。

切换到被动模式,需要服务器打开高段位端口号,使用serv-U暂时没有找到配置端口号的地方,公司网络有暂时稳定的外网IP,所以就在华为云的安全组配置了指定IP的全端口允许

结果还是不可以,查看日志连接时显示192.168.0.*,显示的是云服务器的内网地址,最终解决通过修改监听器的PASV的IP,改为服务器的公网地址。然后可以正常连接

serv-U指定PASV端口在全局-限制和设置下的网络设置,之前在域下的限制和设置打开没找到网络设置

FTP的主动和被动模式

2.3. 主动模式(PORT)
主动模式下,客户端随机打开一个大于1024 的端口向服务器的命令端口 P,即 21 端口,发起连接,同时开放N +1 端口监听,并向服务器发出 “port N+1” 命令,由服务器从它自己的数据端口 (20) 主动连接到客户端指定的数据端口 (N+1)。

FTP 的客户端只是告诉服务器自己的端口号,让服务器来连接客户端指定的端口。对于客户端的防火墙来说,这是从外部到内部的连接,可能会被阻塞。

2.4. 被动模式(PASV)
为了解决服务器发起到客户的连接问题,有了另一种 FTP 连接方式,即被动方式。命令连接和数据连接都由客户端发起,这样就解决了从服务器到客户端的数据端口的连接被防火墙过滤的问题。

被动模式下,当开启一个 FTP 连接时,客户端打开两个任意的本地端口 (N > 1024 和 N+1) 。

第一个端口连接服务器的 21 端口,提交 PASV 命令。然后,服务器会开启一个任意的端口 (P > 1024 ),返回如“227 entering passive mode (127,0,0,1,4,18)”。 它返回了 227 开头的信息,在括号中有以逗号隔开的六个数字,前四个指服务器的地址,最后两个,将倒数第二个乘256 再加上最后一个数字,这就是 FTP 服务器开放的用来进行数据传输的端口。如得到 227 entering passive mode(h1,h2,h3,h4,p1,p2),那么端口号是 p1*256+p2,ip 地址为h1.h2.h3.h4。这意味着在服务器上有一个端口被开放。客户端收到命令取得端口号之后, 会通过 N+1 号端口连接服务器的端口 P,然后在两个端口之间进行数据传输。

参考网址:

https://blog.csdn.net/white1114579650/article/details/120509708

https://blog.csdn.net/white1114579650/article/details/120509573

有几次日志截图

华为云服务器搭建FTP后,内网访问无法连接。的更多相关文章

  1. 映射内网ftp服务器到公网后内网访问出错问题

    上文说道映射后外网无法访问解决:https://www.cnblogs.com/Dev0ps/p/9073048.html 添加了ftp的pasv_address的地址 ,内网客户端要设置主动模式(a ...

  2. 基于华为云服务器的FTP站点搭建

    前言 主要介绍了华为云上如何使用弹性云服务器的Linux实例使用vsftpd软件搭建FTP站点.vsftpd全称是"very secure FTP daemon",是一款在Linu ...

  3. 【腾讯云】腾讯云服务器搭建ftp服务器

    一.硬件描述 1.1 云服务器:腾讯云 云主机 操作系统:Ubuntu Server 14.04.1 LTS 32位 CPU:1核 内存:1GB 系统盘:20GB(本地磁盘) 数据盘:0GB 公网带宽 ...

  4. 阿里云服务器搭建FTP

    操作系统:Windows Server 2008 R2企业版. 首先,创建一个用户组:ftpUsers,创建一个用户:ftpAdmin.并将ftpAdmin隶属于ftpUsers组 其次,需要安装ft ...

  5. 如何在阿里云服务器搭建FTP服务器,在本地电脑连接并操作

    首先你需要有一个阿里云的ECS服务器 并且开通了公网宽带(话说也不贵,开来玩玩还是可以的,第一次买会比较便宜,第二次买1M的宽带两天是九毛多吧~) 开通了宽带之后,ECS服务器就可以上网了 如果嫌弃阿 ...

  6. ECS上nginx搭建反向代理通过内网访问阿里云OSS服务

    对于付不起钱的小伙计,为了给公司省钱,想尽一切招数.今天就来分享一个使用阿里云OSS存储搭配CDN使用的网站服务器部署方法. 简介 阿里云OSS 阿里云提供的一种文件存储方案,和我们以前接触的百度云B ...

  7. 关于阿里云专有网络搭建FTP服务器的深坑

    之前用的FTP服务器都是,随便搭建一下就能用了, 昨天因为服务器的问题,换了个服务器,搭建FTP服务器的时候发现, 搭建的服务器居然只能使用 主动模式访问,改成被动后 无法获取目录, 百度了 各大论坛 ...

  8. 云计算之路-试用Azure:搭建自己的内网DNS服务器

    之前我们写过一篇博文谈到Azure内置的内网DNS服务器不能跨Cloud Service,而我们的虚拟机部署场景恰恰需要跨多个Cloud Service,所以目前只能选择用Azure虚拟机搭建自己的内 ...

  9. 搭建SpringBoot服务器,在公司内网中使用

    搭建SpringBoot服务器,在公司内网中使用. 学习了:https://blog.csdn.net/z3881006/article/details/78902231 就是一个程序,托管于gith ...

  10. Windows搭建IIS服务器使用NATAPP实现内网穿透

    目的:外网可以访问本地网页. 步骤: 一.实现内网访问 1.Win+Q搜索[控制面板],选择[程序],点击[启用或关闭Windows功能], 2.勾选[Internet Information Ser ...

随机推荐

  1. webpack从零开始打造react项目(更新中...)

    创建项目 创建文件夹 webpack-test  使用编辑器打开文件夹,我们初始化管理包 npm init -y 生成一个默认的 pageage.json 文件 要想创建react项目,思考我们之前使 ...

  2. Unity3d 动画转换中断

    翻译自https://blogs.unity3d.com/2016/07/13/wait-ive-changed-my-mind-state-machine-transition-interrupti ...

  3. oracl ocp认证到底有没有用!!!

    从一个网友听说有个OCP专家认证,我们本地也有,要1万3,问题是我想真的学东西而不是为了考证,不知道这个培训能学到多少呀.

  4. Ribbon负载均衡调用

    pring cloud Ribbon 是基于Netfilix Ribbon 实现一套 客户端 负载均衡工具. 简单的说, Ribbon 是 Netflix 发布开源项目. 主要是提供客户端软件负载均衡 ...

  5. CF446D 题解

    题意 传送门 给定一张 \(n\) 个点 \(m\) 条边的无向图,每个节点有权值 \(v_i=\) \(0/1\).角色从节点 \(1\) 开始随机游走,走到 \(n\) 停止.求其经过路径上权值和 ...

  6. Cupboard and Balloons CodeForces - 342C

    Cupboard and Balloons CodeForces - 342C 找到不变的点 抓住不确定的点进行讨论 #include<iostream> #include<cmat ...

  7. MySQL 利用时间(秒分时日月年)分组统计

    1.统计 七天 前 人数 select count(*) from your_table where last_login_time> date_sub(date(now()), interva ...

  8. jQuery 获取鼠标点击的元素ID

    $(function(){ $(document).click(function(e) { // 在页面任意位置点击而触发此事件 var v_id = $(e.target).attr('id'); ...

  9. css3边框属性学习

    1.boder-radius <!DOCTYPE html> <html> <head> <meta charset="utf-8" /& ...

  10. zabbix监控mysql数据库——qps和tps

    首先可以继续顺着zabbix监控mysql继续往下做 1.首先在42的继续编写qps和tps 1.1qps 在41服务端查询: 1.2 tps 2.在web进行查看