基于之前两篇文章搭建了ngrok实现了内网穿透,用过了http和https的协议完成了外网访问内网的网站,这一篇教大家用tcp协议实现外网远程桌面内网的电脑和外网访问内网的FTP。

一、外网远程桌面内网的电脑

  如何让外网的电脑远程本地的电脑呢,用ngrok进行内网穿透,把本地的远程端口映射出去,然后使用Windows的远程桌面,就能进行连接了。

  首先,更改ngrok.cfg文件(当然你也可以重新建一个使用(ノ ̄▽ ̄))

server_addr: "你的域名:4443"
trust_host_root_certs: false
tunnels:
mstsc:
remote_port: 5012
proto:
tcp: "127.0.0.1:3389"

  

  然后更改start.bat文件(同理你也可以重新建一个使用(~ ̄▽ ̄)~ )

  ngrok -config=ngrok.cfg start mstsc

  

  然后运行start.bat文件

   

  然后右键计算机→属性,点击远程设置。

  

  切到远程选项,勾选【允许远程协助连接这台计算机】,然后下面的选项也要允许。

  

  注:本机需要设置账户密码,没有账号和密码的计算机无法被远程连接。

  接着,我们在另一台电脑上打开Windows自带的远程桌面。

  WIN+R运行mstsc。

   

  或开始菜单搜索找到远程桌面。

  

  输入你的域名:映射服务器的端口。点击连接,然后输入远程计算机的账号和密码就能成功进行连接了。

  

二、外网访问内网的FTP

  运行用ngrok进行内网穿透,就能够达到让外网访问本地的FTP实现对本地文件随时随地的操作,是不是就很方便。

  这里我没有用IIS上的FTP,而是用了Serv-U这个软件作为FTP服务端。

  首先我们先下载安装Serv-U(下载和安装网上很多,这里就不再赘述了)

  安装完成启用后,新建一个域,我这里取名为ftp

  

  然后,点击【用户】,添加一个域用户。

  

  填入用户名和密码,选择根目录。

  

  然后切到【目录访问】添加目录访问规则,选择路径,点击完全访问,保存。

  

  接着,点击【域详细信息】,切换到【监听器】,下面点击添加。

  

  弹出窗口,类型和IP地址默认就行了,端口为ftp连接口,默认为21,我用的是5001,然后勾选【启用监视器】,在PASV模式里填入你的域名或服务器IP。

  

  接下来切换到全局,点击【限制和设置】,切到【设置】,在下面的【网络设置】中,设置PASV被动模式的端口范围,我这里设置的是5008到5009。

  

  这样FTP服务端就搭建好了,然后就该用ngrok进行端口映射了。(注:我本地的防火墙是关着的)

  

  同理,配置ngrok.cfg文件,设置TCP映射,结合之前的,这里把所有用过的都写上,红框里是本次用到的。

server_addr: "你的域名:4443"
trust_host_root_certs: false
tunnels:
http:
subdomain: "www"
proto:
http: "233"
https:
subdomain: "www"
proto:
https: "2333"
mstsc:
remote_port: 5002
proto:
tcp: "127.0.0.1:3389"
ftp:
remote_port: 5001
proto:
tcp: "127.0.0.1:5001"
ftp1:
remote_port: 5008
proto:
tcp: "127.0.0.1:5008"
ftp2:
remote_port: 5009
proto:
tcp: "127.0.0.1:5009"

  

  然后把start.bat文件中启动的改为本次使用的。

  ngrok -config=ngrok.cfg start ftp ftp1 ftp2

  

  

  至此,FTP服务端就搞定了,然后就是我们来使用它了。

  网页上访问:

  打开浏览器,输入ftp://你的域名:ftp连接端口,弹出登录框登录。

  

  就能看到FTP里的文件了。

  

  文件管理器上访问:

  在另一台电脑上打开资源管理器,输入ftp://你的域名:ftp连接端口。

  

  然后输入用户名和密码进行验证。

  

  成功访问。

  

  手机上访问:

  下载一个ES文件浏览器。

  

  展开右侧,选择FTP。

  

  点击新建,选择ftp。

  

  配置信息,点击确定。

  

  就会出现一个文件夹。

  

  点开之后就能够查看和操作里面的文件了。

  

实现外网远程桌面内网的电脑和外网访问内网的FTP的更多相关文章

  1. Zerotier在windows下实现内网远程桌面

    Zerotier实现内网远程桌面 使用背景 实验室设备条件过于恶劣 向日葵在有些场景下会莫名崩溃,或者画面不动. Teamviewer免费版在之前用的时候出现过疑似商业行为被断连,github上寻解决 ...

  2. 利用阿里云搭建frp实现外网远程桌面链接内网电脑

    主要应用场景:针对学生放假回家使用外网无法远程操作学校的服务器或者电脑,这里通过阿里云的云服务器搭建一个frp服务,实现内网穿透,从而可以直接通过远程桌面或者其他工具实现对校园网内的服务器或者电脑进行 ...

  3. 内网客户 通过 公网域名/ip 访问内网web服务器 出错

    在一内部局域网中, client  内网地址为 10.0.0.2     web  服务器内网地址为 10.0.0.1    外网地址为  211.6.15.1    域名为  xx.love.com ...

  4. Windows远程桌面没有密码的电脑

    你如果想远程一个密码为空的机器,默认情况下是不可以的,需要进行以下设置 1.windows家庭版不支持远程桌面 2. 3.搜索“本地安全策略”

  5. win10更新后,可以远程桌面ping也没问题,但是无法访问共享文件夹的解决方法

    计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters 1.在键盘输入WIN+R键, ...

  6. 使用Holer远程桌面登录家里电脑和公司内网电脑

    1. Holer工具简介 Holer exposes local servers behind NATs and firewalls to the public internet over secur ...

  7. 使用 Anydesk 5.1 TCP 通道(端口映射)功能从外网方便访问内网的 web/数据库等资源

    Anydesk 5.1 带来一个新的功能:TCP 通道,在家办公时,通过互联网进行远程桌面连接到公司电脑,可以将家用电脑的某个端口,映射到公司网络的某个电脑( IP + 端口),不局限于被远程桌面连接 ...

  8. 基于Tcp穿越的Windows远程桌面(远程桌面管理工具)

    基于Tcp穿越的Windows远程桌面(远程桌面管理工具) 1.<C# WinForm 跨线程访问控件(实用简洁写法)>            2.<基于.NET环境,C#语言 实现 ...

  9. Win10企业版远程桌面结合frp实现公网远程

    Win10企业版远程桌面结合frp实现公网远程 前言 由于经常下班后还要处理问题,但是又没有运维那么频繁,就不想天天背着电脑来回跑,刚开始用的teamviewer,后来被商业劝退了(就是不让用了,让买 ...

随机推荐

  1. 修改host指定域名指向ip,Windows脚本与Linux脚本

    修改host指定域名指向ip,Windows脚本与Linux脚本 一,Windows系统修改hosts文件 Windows系统下hosts文件位置:C:\Windows\System32\driver ...

  2. Django 练习班级管理系统一

    创建项目 user_manager 和 app为 app01 models.py 为 from django.db import models # Create your models here. c ...

  3. seafile部署安装

    安装epel源 yum install epel-release -y 安装docker yum install -y docker service docker start systemctl en ...

  4. MAC自动化环境搭建

    UI自动化环境搭建 第一阶段:配置appium环境硬件配置mac系统电脑 java环境sunjiedeMacBook-Air:~ vicent$ java -versionjava version & ...

  5. JWT 使用的另一种声音

    讲真,别再使用JWT了! 把本应该session 中保存的数据 去除敏感字段 保留到客户端   在Web应用中,使用JWT替代session并不是个好主意 适合JWT的使用场景 抱歉,当了回标题党.我 ...

  6. Java高级-反射

    1.如何创建Class的实例 1.1过程:源文件经过编译(javac.exe)以后,得到一个或者多个.class文件..class文件经过运行(java.exe)这步,就需要进行类的加载(通过JVM的 ...

  7. Ubuntu16.04安装deb包

    在Ubuntu下安装deb包需要使用dpkg命令.Dpkg 的普通用法: 1.sudo dpkg -i <package.deb> 安装一个 Debian 软件包,如你手动下载的文件. 2 ...

  8. MySql5.7InnoDB全文索引(针对中文搜索)

    1.ngram and MeCab full-text parser plugins 全文检索在MySQL里面很早就支持了,只不过一直以来只支持英文.缘由是他从来都使用空格来作为分词的分隔符,而对于中 ...

  9. AutoResetEvent介绍及使用场景

    AutoResetEvent 允许线程通过发信号互相通信.通常,此通信涉及线程需要独占访问的资源. 线程通过调用 AutoResetEvent 上的 WaitOne 来等待信号.如果 AutoRese ...

  10. python 面试真题

    0.Python是什么? Python是一种解释型语言.但是跟C和C的衍生语言不同,Python代码在运行之前不需要编译.其他解释型语言还包括PHP和Ruby. Python是动态类型语言,指的是在声 ...