当前位置: 首页 > news >正文

如何搭建外网可访问的Serv-U FTP服务器,轻松远程共享文件!

 

目录

1. 前言

2. 本地FTP搭建

2.1 Serv-U下载和安装

2.2 Serv-U共享网页测试

2.3 Cpolar下载和安装

3. 本地FTP发布

3.1 Cpolar云端设置

3.2 Cpolar本地设置

4. 公网访问测试

5. 总结


1. 前言

科技日益发展的今天,移动电子设备似乎成了我们生活的主角,智能手机、平板电脑几乎从不离身。但智能手机和平板电脑也有缺憾,就是自身的存储容量实在太少,能随时调取资料的大容量存储设备就显得十分必要。今天,笔者就为大家介绍,如何在电脑上,使用Serv-U+Cpolar内网穿透,构建一个ftp协议服务器,方便我们随时读取调阅文件资料。

2. 本地FTP搭建

FTP协议作为TCP/IP协议的组成部分,其主要作用就是向Web服务器传输网页资料和文件;同时由于FTP的传输效率极高,因此也常被用来传输较大的电子资料。通常FTP协议有两个组成部分,一个是FTP服务器(用于资料存储),另一个则是FTP客户端(访问指定服务器),今天介绍的Serv-U,就能让我们很轻松的搭建起一个FTP服务器。

2.1 Serv-U下载和安装

Serv-U的功能十分强大,运行稳定且设置简单,因此很受用户的欢迎。想要搭建自己的Serv-U服务器,要先到Serv-U官网(Serv-U 中文网)下载Serv-U。

20230328091101

笔者使用的电脑安装了Windows操作系统,因此选择Windows版本下载。至于其他操作系统,则可根据需求自行选择。

20230328091102

下载完成后,将下载的压缩包解压,双击解压后的.exe文件,即可进行安装

20230328091103

20230328091104

进入安装程序后,只要一路点击下一步,很快就能安装完成。在安装完成首次运行Serv-U时,会显示“当前已定义的域,要先在定义新域吗”,直接选择

20230328091105

进入自定义域的设置页面后,左侧的列表就是我们需要设置的内容,如果没有特殊需求,只要输入几项简单内容,接着点击下一步即可完成设置。

首先Serv-U会要求我们对自定义域的名称进行设置,这里填入我们喜欢的名字即可

20230328091106

20230328091107

第三步Serv-U会要求我们填入domain URL(域名网址),这里我们根据其范例填入本地地址即可(127.0.0.1);第二行是file sharing repository(共享文件存储库),笔者选择整个E盘均进行共享。如果需要设置为共享某个文件夹的,则可以点击栏位右侧的“文件夹”图标进行选择

20230328091108

第四步是对Serv-U的输出端口进行设置。同样的,如果没有特殊需求、或系统默认的80端口没有被占用,则可以不用修改设置。但笔者Windows系统的80端口已经被占用,因此需要将80端口修改,这个例子中改为83。

需要注意的是,这一步中修改的端口号需要记住,以便我们之后进行FTP传输网页的访问测试,Cpolar进行内网穿透时,也会用到这个端口号。

20230328091109

接下来的第五步没有需要修改的内容,直接下一步即可。

20230328091110

第六步(最后一步)是关于回复密码的,如果有需要的看官可以自行设置。

20230328091111

完成以上步骤后,我们就完成了Serv-U的共享区域设置,接下来就是添加域用户步骤。这里我们只要跟着软件提示进行操作即可。需要注意的是,在域用户设置的最后一步,会涉及该用户访问共享文件的权限,如果不想该用户修改共享文件,则要选择“只读访问”,反之则选择“完全访问”。

20230328091112

20230328091113

20230328091114

20230328091115

20230328091116

20230328091117

在设置好访问用户后,即可点击完成,保留访问用户的设置。

20230328091118

完成以上设置后,我们就可以尝试在本地电脑上访问Serv-U的共享网页。

2.2 Serv-U共享网页测试

由于我们之前设置的Serv-U地址为本地地址(127.0.0.1),因此这里我们需要在浏览器中输入本地电脑的IP地址加端口号,具体格式为http://192.168.X.X:之前设置的端口号。在这个例子中,Serv-U访问地址为(http://192.168.157.1:83)。

20230328091119

只要输入的地址无误且之前的Serv-U软件设置没有问题,就会显示出Serv-U的登录界面,也就说明我们使用Serv-U搭建的FTP服务器成功上线,能够接受访客的访问。但此时Serv-U网页只能在局域网范围内访问,想要让这个网页能在任何地方都访问到,我们还需要使用Cpolar,创建一条内网穿透数据隧道。

2.3 Cpolar下载和安装

在本地的Serv-U服务端搭建完成后,我们就可以安装Cpolar内网穿透,为我们的FTP服务器上线做好准备。与Serv-U一样,我们可以直接访问Cpolar官网(cpolar官网-安全的内网穿透工具 | 无需公网ip | 远程访问 | 搭建网站),选择合适自己电脑操作系统的版本进行下载。

20230328091120

笔者使用的是Windows操作系统,因此选择Windows版本进行下载。

Cpolar下载完成后,将下载的文件解压,双击解压后的.msi文件,即可自动执行安装程序。接着只要一路Next就能完成安装。

20230328091122

20230328091123

由于cpolar会为每个用户创建独立的数据隧道,并辅以用户密码和token码保证数据安全,因此我们在使用cpolar之前,需要进行用户注册。注册过程也非常简单,只要在cpolar主页右上角点击用户注册,在注册页面填入必要信息,就能完成注册。

20230328091124

20230328091125

3. 本地FTP发布

完成本地Serv-U服务器的部署和Cpolar内网穿透的安装注册后,我们就可以着手为Serv-U共享网页创建一个公共互联网地址,即内网穿透数据隧道,让我们能在公共互联网条件下,也能访问到家里的FTP服务器。

由于笔者不想每天都对Serv-U的网页地址进行设置(cpolar每隔24小时会对免费用户的数据隧道地址进行重置),因此将cpolar升级到vip级别,以此获得建立长期稳定数据隧道的特权。

3.1 Cpolar云端设置

要达到内网穿透的目的,需要先登录cpolar的官网,并在用户主页面左侧找到预留按钮,并点击进入cpolar的数据隧道预留页面。在这里生成一个公共互联网地址(也可以看做数据隧道的入口),由于此时这个地址没有连接本地的软件输出端口,因此也可以看做是一条空白的数据隧道。

20230328091126

在预留页面,可以看到很多种可保留的数据隧道,这里我们选择保留二级子域名栏位。

20230328091127

在“保留二级子域名”栏位,需要进行几项信息的简单设置,

  • 地区:服务器所在区域,就近选择即可

  • 二级域名:会最终出现在生成的公共互联网地址中,作为网络地址的标识之一

  • 描述:可以看做这条数据隧道的描述,能够与其他隧道区分开即可)

完成这几项设置后,就可以点击右侧的保留按钮,将这条数据隧道保留下来。

20230328091128

当然,如果这条数据隧道不打算再使用,还可以点击右侧的x将其轻松删除,节约宝贵的隧道名额。

20230328091129

3.2 Cpolar本地设置

完成cpolar云端的设置,并保留了空白数据隧道后,我们回到本地的cpolar客户端,将云端生成的空白数据隧道与本地Serv-U网页端口连接起来,正式打通Serv-U的内网穿透数据隧道。与登录Cpolar云端一样,我们在本地打开并登录cpolar客户端(可以在浏览器中输入localhost:9200直接访问,也可以在开始菜单中点击cpolar客户端的快捷方式)

20230328091130

点击客户端主界面左侧隧道管理——创建隧道按钮,进入本地隧道创建页面(如果要创建没24小时重置地址的临时数据隧道,可直接在此进行设置,不必再cpolar官网设置空白数据隧道)。

在这个页面,同样需要进行几项信息设置,这些信息设置包括:

1. 隧道名称 – 可以看做cpolar本地的隧道信息注释,只要方便我们分辨即可; 2. 协议 – 由于Serv-U输出的是网页,因此此处选择http协议; 3. 本地地址 – 本地地址即为Serv-U网站的输出端口号,因此这里填入之前设置的83号端口; 4. 域名类型 – 由于我们已经在cpolar云端预留了二级子域名的数据隧道,并生成了Serv-U网页的公共互联网二级域名,因此该行我们勾选二级子域名(如果预留的是自定义域名,则勾选自定义域名),并在下一行Sub Domain栏中填入预留的二级子域名,该例子中为“servuFTP”。当然,如果创建的是临时数据隧道,则直接勾选“随机域名”, cpolar客户端会自行生成网络地址,而不必在cpolar云端进行设置; 5. 地区 – 该行与cpolar云端时的设置一样,都是对服务器地区的选择,我们依照实际使用地填写即可;

20230328091131

完成cpolar客户端创建隧道所需信息的填写后,就可以点击页面下方的创建按钮,正式生成能够从公共互联网访问到本地Serv-U网页的数据隧道。

数据隧道创建完成后,cpolar客户端会自动跳转至隧道管理——隧道列表页面。在这个页面,我们能看到新创建的Serv-U数据隧道的状态,同时我们也可以在这里对这条数据隧道进行操作,如启动、暂停、删除;如果需要对这条数据隧道的信息进行修改,也可以在这里点击“编辑”按钮,进入数据隧道信息修改页面。

20230328091132

4. 公网访问测试

最后,我们点击cpolar客户端左侧状态——在线隧道列表按钮,进入在线隧道列表页面,我们在这里可以看到Serv-U网页的公共互联网地址。

20230328091133

通过这个地址,我们就能其他电脑(或设备)上,访问到位于本地电脑上Serv-U网页,调取和访问共享的文件。

20230328091134

5. 总结

可以看出,使用Cpolar发布Serv-U网页的步骤和过程并不复杂,而cpolar作为内网穿透软件,不仅仅只能发布Serv-U网页,只要将打算发布的网页(或软件)端口号输入cpolar中,就能创建出连接公共互联网与本地网页(软件)之间的数据隧道。

相关文章:

如何搭建外网可访问的Serv-U FTP服务器,轻松远程共享文件!

目录 1. 前言 2. 本地FTP搭建 2.1 Serv-U下载和安装 2.2 Serv-U共享网页测试 2.3 Cpolar下载和安装 3. 本地FTP发布 3.1 Cpolar云端设置 3.2 Cpolar本地设置 4. 公网访问测试 5. 总结 1. 前言 科技日益发展的今天,移动电子设备似乎成了我们生活的主角&am…...

c++--类型的基础

1.常量对象,常量成员函数 (1).常量对象 常量对象的引用和指针不能调用类的普通的成员函数。只能调用常量成员函数。 (2).常量成员函数:把const放在类成员函数参数列表后。表示隐含的this是一个指向常量的指针 (3).当创建一个const对象时,直到…...

Python with提前退出:坑与解决方案

Python with提前退出:坑与解决方案 问题的起源 早些时候使用with实现了一版全局进程锁,希望实现以下效果: Python with提前退出:坑与解决方案 全局进程锁本身不用多说,大部分都依靠外部的缓存来实现的,r…...

Vue3-provide和inject

作用和场景:顶层组件向任意的底层组件传递数据和方法,实现跨层组件通信 跨层传递普通数据: 1.顶层组件通过provide函数提供数据 2.底层组件通过inject函数获取数据 既可以传递普通数据,也可以使用ref传递响应式数据&#xff08…...

Python与设计模式--适配器模式

23种计模式之 前言 (5)单例模式、工厂模式、简单工厂模式、抽象工厂模式、建造者模式、原型模式、(7)代理模式、装饰器模式、适配器模式、门面模式、组合模式、享元模式、桥梁模式、(11)策略模式、责任链模式、命令模式、中介者模…...

大模型能否生成搜索引擎的未来?

文|郝 鑫 编|刘雨琦 ChatGPT火爆之前,水面下,也有中国公司也在朝着智能助手的方向努力。夸克便是其中之一。在GPT风靡科技圈后,国内就开始陆续冒出一些大模型厂商。对当时夸克而言,做大模型毋庸置疑&am…...

鸿蒙开发-ArkTS 语言-状态管理

[写在前面: 文章多处用到gif动图,如未自动播放,请点击图片] 衔接上一篇:鸿蒙开发-ArkTS 语言-基础语法 3. 状态管理 变量必须被装饰器装饰才能成为状态变量,状态变量的改变才能导致 UI 界面重新渲染 概念描述状态变量被状态装饰器装饰的变…...

一篇文章带你掌握MongoDB

文章目录 1. 前言2. MongoDB简介3. MongoDB与关系型数据库的对比4. MongoDB的安装5. Compass的使用6. MongoDB的常用语句7. 总结 1. 前言 本文旨在帮助大家快速了解MongoDB,快速了解和掌握MongoDB的干货内容. 2. MongoDB简介 MongoDB是一种NoSQL数据库,采用了文档…...

删除docker镜像

随着我们拉取的镜像越来越多,镜像的管理越来越难。这时候可能就需要删除镜像了。 本关的任务是学习如何删除容器,要求学习者参照示例,将busybox:latest镜像删除。 相关知识 删除镜像 如果要删除本地的镜像,可以使用 docker rm…...

力扣 --- 删除有序数组中的重复项 II

题目描述: 给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使得出现次数超过两次的元素只出现两次 ,返回删除后数组的新长度。 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的…...

Opencv图像处理(全)

文章目录 博主精品专栏导航备注:以下源码均可运行,不同项目涉及的函数均有详细分析说明。11、图像项目实战(一)银行卡号识别 —— sort_contours()、resize()(二)文档扫描OCR识别 —— cv2.getPerspectiveT…...

Flutter桌面应用开发之毛玻璃效果

目录 效果实现方案依赖库支持平台实现步骤注意事项话题扩展 毛玻璃效果:毛玻璃效果是一种模糊化的视觉效果,常用于图像处理和界面设计中。它可以通过在图像或界面元素上应用高斯模糊来实现。使用毛玻璃效果可以增加图像或界面元素的柔和感,同…...

基于C#实现优先队列

一、堆结构 1.1性质 堆是一种很松散的序结构树,只保存了父节点和孩子节点的大小关系,并不规定左右孩子的大小,不像排序树那样严格,又因为堆是一种完全二叉树,设节点为 i,则 i/2 是 i 的父节点,2i 是 i 的…...

ssm+vue的仓库在线管理系统的设计与实现(有报告)。Javaee项目,ssm vue前后端分离项目。

演示视频: ssmvue的仓库在线管理系统的设计与实现(有报告)。Javaee项目,ssm vue前后端分离项目。 项目介绍: 采用M(model)V(view)C(controller)三…...

什么是木马

木马 1. 定义2. 木马的特征3. 木马攻击流程4. 常见木马类型5. 如何防御木马 1. 定义 木马一名来源于古希腊特洛伊战争中著名的“木马计”,指可以非法控制计算机,或在他人计算机中从事秘密活动的恶意软件。 木马通过伪装成正常软件被下载到用户主机&…...

Pinia仓库统一管理

pinia独立维护 在src/stores文件夹下创建index.js文件,将main.js中关于pinia的语句放到index.js中 index.js文件内容: import { createPinia } from pinia import piniaPluginPersistedstate from pinia-plugin-persistedstate const pinia createPi…...

[论文阅读]VoxSet——Voxel Set Transformer

VoxSet Voxel Set Transformer: A Set-to-Set Approach to 3D Object Detection from Point Clouds 论文网址:VoxSet 论文代码:VoxSet 简读论文 这篇论文提出了一个称为Voxel Set Transformer(VoxSeT)的3D目标检测模型,主要有以下几个亮点: 提出了基于…...

【开源】基于Vue.js的医院门诊预约挂号系统的设计和实现

项目编号: S 033 ,文末获取源码。 \color{red}{项目编号:S033,文末获取源码。} 项目编号:S033,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 功能性需求2.1.1 数据中心模块2.1.2…...

1、Mysql架构与历史

Mysql逻辑架构 最上层是服务并不是Mysql所独有的,大多数基于网络的客户端/服务器的工具或者服务都有类似的架构,比如连接处理,授权认证,安全等。 第二层是Mysql比较有意思的部分。大多数Mysql的核心服务都在这一层,…...

考试复习

选择20道 填空10道 判断10道 简答4-5道 编程题2道 一、选择题 1.js中更改一个input框的值&#xff1a; <input ida type"text" value"123456"> 通过a.value改变他的值 方法&#xff1a; 在script标签中通过id获得该输入框对象&#xff0c;然…...

【磁盘】每天掌握一个Linux命令 - iostat

目录 【磁盘】每天掌握一个Linux命令 - iostat工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景 注意事项 【磁盘】每天掌握一个Linux命令 - iostat 工具概述 iostat&#xff08;I/O Statistics&#xff09;是Linux系统下用于监视系统输入输出设备和CPU使…...

vue3 定时器-定义全局方法 vue+ts

1.创建ts文件 路径&#xff1a;src/utils/timer.ts 完整代码&#xff1a; import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...

Module Federation 和 Native Federation 的比较

前言 Module Federation 是 Webpack 5 引入的微前端架构方案&#xff0c;允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...

Java线上CPU飙高问题排查全指南

一、引言 在Java应用的线上运行环境中&#xff0c;CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时&#xff0c;通常会导致应用响应缓慢&#xff0c;甚至服务不可用&#xff0c;严重影响用户体验和业务运行。因此&#xff0c;掌握一套科学有效的CPU飙高问题排查方法&…...

Python 实现 Web 静态服务器(HTTP 协议)

目录 一、在本地启动 HTTP 服务器1. Windows 下安装 node.js1&#xff09;下载安装包2&#xff09;配置环境变量3&#xff09;安装镜像4&#xff09;node.js 的常用命令 2. 安装 http-server 服务3. 使用 http-server 开启服务1&#xff09;使用 http-server2&#xff09;详解 …...

Linux 下 DMA 内存映射浅析

序 系统 I/O 设备驱动程序通常调用其特定子系统的接口为 DMA 分配内存&#xff0c;但最终会调到 DMA 子系统的dma_alloc_coherent()/dma_alloc_attrs() 等接口。 关于 dma_alloc_coherent 接口详细的代码讲解、调用流程&#xff0c;可以参考这篇文章&#xff0c;我觉得写的非常…...

【51单片机】4. 模块化编程与LCD1602Debug

1. 什么是模块化编程 传统编程会将所有函数放在main.c中&#xff0c;如果使用的模块多&#xff0c;一个文件内会有很多代码&#xff0c;不利于组织和管理 模块化编程则是将各个模块的代码放在不同的.c文件里&#xff0c;在.h文件里提供外部可调用函数声明&#xff0c;其他.c文…...

IP选择注意事项

IP选择注意事项 MTP、FTP、EFUSE、EMEMORY选择时&#xff0c;需要考虑以下参数&#xff0c;然后确定后选择IP。 容量工作电压范围温度范围擦除、烧写速度/耗时读取所有bit的时间待机功耗擦写、烧写功耗面积所需要的mask layer...

[KCTF]CORE CrackMe v2.0

这个Reverse比较古老&#xff0c;已经有20多年了&#xff0c;但难度确实不小。 先查壳 upx压缩壳&#xff0c;0.72&#xff0c;废弃版本&#xff0c;工具无法解压。 反正不用IDA进行调试&#xff0c;直接x32dbg中&#xff0c;dump内存&#xff0c;保存后拖入IDA。 这里说一下…...

板凳-------Mysql cookbook学习 (十--2)

5.12 模式匹配中的大小写问题 mysql> use cookbook Database changed mysql> select a like A, a regexp A; ------------------------------ | a like A | a regexp A | ------------------------------ | 1 | 1 | --------------------------…...