frp内网穿透实现外网可访问的ftp(FileZillaServer)服务器(web服务器,远程桌面连接都可以)

article/2025/8/21 3:07:50

目录

1.总结和资源链接

2.搭建frp服务器

 3.windows客户端连接到frp服务器,实现内网穿透

4.在windows本机开启ftp服务,即完成了外网可访问的ftp服务器搭建


1.总结和资源链接

         本教程以系统为centos7的阿里云服务器ECS作为frp服务器,windows本地主机开启内网服务。而且也配置了网站服务,远程连接的端口映射,只需要在对应端口开启相应的服务即可(本教程的开启的内网服务只以ftp服务为例,web以及远程桌面服务请转战相应教程)。(frp服务还有更高级的配置,详细看官方文档)

        教程使用资源链接:https://download.csdn.net/download/sybrr999/87865650


2.搭建frp服务器

2.1.创建具有公网ip的ECS,这里推荐使用CentOS7系统作为frp服务器,因为windows环境配置比较麻烦。(仅测试可选阿里云首月免费,或认证学生也有免费)

2.2.云服务器ECS>实例与镜像>实例>操作>重置密码

2.3.云服务器ECS>概览>远程连接>通过VNC连接(因为某些云服务器sshd服务未开启,不能进行ssh远程连接)>输入root,然后输入刚修改的密码登入系统

2.4.执行以下指令开启ssh服务,便于我们在windows主机使用xshell连接该ECS进行操作(也可以直接在VNC操作,但是使用xhell可以实现本地主机与ECS互传文件),显示active(running)表示开启成功

2.5.放行frpc.ini,frps.ini配置文件里用到所有ECS端口,这样外网才能与对应端口建立通信(22端口一般系统默认放行,如果没有,则需添加,这样才能远程连接ECS):云服务器ECS安全组>实例与镜像>点击实例ID>点击安全组id跳到安全组规则页面>手动添加,添加后图片:注意,确保你的ECS已经加入了上步配置的安全组,这样放行端口才能生效。

2.6.windows主机打开xshell,新建会话,编辑会话属性,点击会话进行连接(xshell官网:https://www.xshell.com/zh/xshell/ ,这里使用的是xshell5)

  出现以下提示为连接成功

 2.7.依次执行以下命令  

#进入家目录
cd ~  
#下载lrzsz工具,实现windows主机与linux远程服务器互传文件
yum install lrzsz 
#将windows文件上传到linux服务器,lrzsz下载成功才能执行
rz -y
#查看目录下文件
ll
#赋予执行权限
chmod 744 frps*
#开启frp服务端
./frps -c frps.ini

只需要传frps和frps.ini

 已成功将frps和frps.ini传到ECS家目录

不能直接执行./frps -c frps.ini,会报权限不够,需先赋予执行权限,文件颜色改变或者最前面变为-rwx即为修改权限成功

  执行./frps -c frps.ini,出现以下提示为服务端开启成功

2.8.测试,浏览器地址栏输入 http://frps服务器的公网ip:7500/ 进行访问,出现以下界面说明开启成功。(本教程frps.ini里配置的端口为7500)


 3.windows客户端连接到frp服务器,实现内网穿透

3.1.下载我提供的资源包,解压到本地,windows本机打开cmd,进入到frpc.exe,frpc.ini所在目录

3.2.执行.\frpc.exe -c .\frpc.ini,出现下面提示为端口映射成功即已经实现内网穿透,注意,该cmd窗口不能关掉 ,否则连接就断开了(执行命令前需要将frpc.ini中server_addr更改为你的ECS云服务器的公网ip,local_ip更改为你的windows主机上网的ip,frpc.ini可以用文本编辑器打开)


4.在windows本机开启ftp服务,即完成了外网可访问的ftp服务器搭建。

4.1.打开FileZilla Server,建议使用我提供的资源中的版本,出现Logged on为开启成功。(需开启FileZilla Server FTP server服务,否则会连接失败Error, could not connect to server)

4.2.编辑>用户:添加用户,设置其密码以及共享文件夹;编辑>设置>常规设置:我的监听端口为21,如果你改为其他端口,后续也要做更改。

4.3.编辑>设置>被动模式设置,开启被动端口便于外网连接到ftp服务器

4.4.禁用ip检查,否则可能会导致连接上但获取不到文件

4.5.浏览器地址栏输入ftp://本机ip,注意能成功访问到设置的共享文件夹说明ftp服务器开启成功。

4.6.浏览器地址栏输入ftp://frp服务器公网ip:7021,该端口需与配置文件中设置的一致,注意能成功访问到设置的共享文件夹说明内网穿透成功,此时已经可以通过手机数据或外面wifi访问到内网的ftp服务器。


http://chatgpt.dhexx.cn/article/m3ZiNXvL.shtml

相关文章

在NAT内网搭建FTP服务器,并允许外网访问

零 由于本人主机位于路由器NAT后,所以校园网其他用户无法访问本地局域网内的FTP服务器,因此需要在路由器及本地主机进行一些设置,使路由器转发外网数据到本地主机。 一 由于Windows自带的FTP管理繁琐,所以选择FileZilla Server…

ftp服务器搭建并通过外网访问

内网FTP如何端口映射到外网连接访问?通过公网路由器映射或nat123端口映射均可实现。前者是硬件公网端口映射,后者是软件内网端口映射,目的一样,方法不一。 工具/原料 FTP内网nat123客户端 方法/步骤 ftp搭建: 1. 按【W…

设置frp端口映射实现ftp服务内网穿透

设置frp端口映射实现ftp服务内网穿透 前提: frp服务器需要首先在VPS上搭建好,搭建教程:http://koolshare.cn/thread-65379-1-1.html 1. 设置被动端口范围 这里以本机搭建FileZilla Server为例子,首先设置被动模式的端口范围。 此处设置为50000-50002。可…

【计算机网络课程设计】内网穿透、搭建FTP服务器(局域网和广域网)以及对于花生壳发送X11包得一些推测

搭建FTP服务器、对X11包的推测 FTP概述一、FTP工作模式及传输模式FTP工作模式1、主动模式2、被动模式 FTP传输模式1、ASCLL传输模式2、二进制数据传输模式 二、FTP服务器搭建1、搭建工具2、Serv_U服务器配置 三、基于局域网的文件传输1、主机通过资源管理器、浏览器FTP服务器2、…

用旧手机搭建服务器并实现内网穿透不需要root(本人亲测很多次最简单的一个)

相信每个人都有一部或几部旧手机,放着也是放着还不如使其变废为宝,接下来我就向大家介绍如何搭建属于自己的服务器,并实现内网穿透。 相关软件已放到最后 首先我们要搭建一个本地服务器KSWEB,Aidlearning,这两款软件…

内网windows server搭建ftp服务器

一. 有两种方式 1.windows中使用IIS搭建ftp服务器(本人尝试并未成功,fileZilla只能主动模式下才能连接,未达到想要的效果) 2.使用fileZilla server 搭建ftp服务器 二.本次讲解第二种方式 使用fileZilla server搭建ftp服务器 1.下载FileZilla Server …

FileZilla搭建FTP服务器图解教程,并允许外网访问NAT内网

FTP是用来在两台计算机之间传输文件,是Internet中应用非常广泛的服务之一。FTP服务是网络中经常采用的资源共享方式之一。FTP协议有PORT和PASV两种工作模式,即主动模式和被动模式 。今天我分享一个最近我自己在WINDOWS 10搭建FTP服务器的经验给大家&…

使用JAVA连接Mysql数据库,并完成相关操作

Java 访问 MySQL 通过使用JDBC让JAVA程序连接到数据库,并完成增删改查等操作。 大致步骤: 1、Mysql与eclipse、jdk等的下载(以及环境变量配置等,这里不做详细说明)。 2、将mysql-connector-java-5.1.8-bin.jar添加到ec…

javamysql

文章目录 1、初识MySQL1.1、数据库分类 2、列类型2.1、数值2.2、字符串2.3、事件日期 3、字段属性4、表操作4.1、字符集编码4.2、修改表结构4.3、清除表 5、DQL查询数据(最重点)5.1、DQL5.2、查询去重5.3、数据库的表达式5.4、模糊查询5.5、连表查询5.6、…

java实现操作MySQL

java对mysql数据库的操作分为以下几个步骤: 1.加载mysql jdbc驱动 //加载mysql jdbc驱动Class.forName("com.mysql.cj.jdbc.Driver");2.获取连接 获取连接需要两步,一是使用DriverManager来注册驱动,二是使用DriverManager来获取…

Java+MysQL:Java连接MysQL及进行简单的查询操作

最近想学习一下Java操作MySQL等数据库的教程,但是把整个网络翻遍也没找到令人满意的教程,各种报错,所以就决定,把自己的学习过程记录下来和大家分享,既可以作为日后复习巩固之用,又可以帮到需要的人,希望可以帮助以后想学习的朋友们少走一些弯路。大家一起交流共勉吧。 …

简单介绍Java连接MySQL数据库执行数据库操作

简介:在一般的项目开发中,无不用到对数据库的操作,这些操作无非也就是一些增删改查等操作。那么我们的Java如何操作数据库进行相关的数据操作呢,这里我们需要一个驱动程序,即JDBC驱动,JDBC包含两层&#xf…

数据库 —— Java操作MySQL

系列文章 数据库 —— MySQL 01 数据库 —— MySQL 02 数据库 —— Java操作MySQL 文章目录 系列文章十、JDBC10.1 什么是JDBC10.2、JDBC程序10.2.1、封装工具类10.2.2、SQL注入问题及解决 10.3、使用IDEA连接数据库10.4、JDBC操作事务10.5、数据库连接池 十、JDBC 10.1 什么…

Java-mysql:MYSQL数据操作

添加记录:1.一次添加一条记录:INSERT [INTO] 数据表名[(字段名称1,2……)] {VALUE|VALUES}(值1,2……);2.一次添加多条记录:INSERT [INTO] 数据表名[(字段名称1,2……)] VALUES(值1,2……),(值1…

java JDBC操作Mysql解析

一. 概念: Java DataBase Connectivity Java 数据库连接, Java语言操作数据库。JDBC本质:其实是官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口。各个数据库厂商去实现这套接口,提…

java对mysql的简单操作——增加数据

java连接mysql5.1教程(含代码) 查询数据 下面是数据添加片段的代码 Connection conn null; Statement stmt null; PreparedStatement psnull;try{// 注册 JDBC 驱动Class.forName(JDBC_DRIVER);// 打开链接//连接数据库conn DriverManager.getConne…

Java和MySQL的连接和操作(JDBC)

一、数据库的连接 1. 引入JDBC驱动程序 1.1 如何获取驱动程序 驱动程序由数据库提供商提供下载。 MySQL 的驱动下载地址:http://dev.mysql.com/downloads/ 依次点击 Connector/J -> Platform Independent ,如然后下载下面那个 1.2 如何在Java …

Java连接MySQL数据库具体操作

一,主要分为5个步骤 1,获取驱动 首先下载自己mysql版本的jar包 下载地址:MySQL :: Download Connector/J 将下载好的jar包复制到jdk的安装目录下的jre下的lib下的ext目录下 mysql.5及以下的版本获取驱动是Class.forName("com.mysql.jdb…

MySQL学习(五)JDBC 使用java操作数据库

目录 1.JDBC基本原理 2.数据库驱动包的导入(环境配置) 3.JDBC的使用步骤 4.JDBC的常用接口和抽象类 5.核心小结: 1.JDBC基本原理 现在,要使用java操作数据库,则我们的项目的构建或者说代码的组成增加为了三方&…

Java JDBC操作MySQL

DBMS里有多个数据库,每个库中又有多张表。 客户端有命令终端(DoS)、SQLyog、Java等。 Mysql数据库、普通表的本质仍然是文件。 表的一行称为一条记录,对应Java中的一个对象。 SQL语句的分类为 1、DDL数据定义语言 create 表、库 2、DML 数据操作语言 in…