说在前面——————以下内容均建立在你有一台外网服务器的基础上进行。阿里云、腾讯云什么的都可以。

本文讲述:

1.在任何地方通过ssh连接公司或者家中的服务器

2.在任何地方通过远程桌面连接公司或者家里的Windows电脑

前言

好久没有与大家分享知识,内心十分过意不去,正好最近有用到frp,所以今天就来简单的和大家说一下通过frp实现内网穿透。

一、为什么要在家远程连接公司的电脑?

1.做我们这行,加班是难免的嘛。即使我们偶尔调休也难免有同事打电话咨询你。可是有很多东西根本记不住,尤其像代码这种东西。有时着急不得不回一趟公司,非常浪费时间。如果我们可以远程连接岂不是更方便。

2.当然也未必是家里到公司,也可以是公司到家里、公司到学校、家到学校,可以穿透到一切你想穿透的地方。

3.这里我们说的是使用frp进行内网穿透,映射端口实现远程连接。可能有人会问了,网络上面有很多类似的现成软件,为什么不直接使用?像TeamViews个人版是完全免费使用的,并不是因为他不好,只是应需定制性并不高,如果公司的网络不稳定,会造成teamviews掉线,无法进行无人值守。

二、什么是frp?除了远程桌面,frp还可以做什么?

1.frp可能有些伙伴了解,有些伙伴不了解。这里呢,简单的介绍一下子。frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp, http, https 协议。作者fatedier,项目开源在github,大家自行搜索即可下载。

2.也就是说,我们能做的事情有很多,比如通过3389端口映射到外网,即可随时随地远程桌面连接自己的电脑;也可以通过映射22端口实现ssh的穿透;可以通过80、8080等等端口映射穿透自己本机的web服务到公网。还有很多很多的功能我们就不做过多的赘述,作者也不是研究很深,在这里只是给大家实现一些常用的功能。

三、映射22端口实现内网穿透ssh连接公司服务器。

1.首先我们操作云端的服务器,使用wget命令下载frp并解压。

$ wget https://github.com/fatedier/frp/releases/download/v0.23.1/frp_0.23.1_linux_amd64.tar.gz
$ tar -zxf frp_0.23.1_linux_amd64.tar.gz

2.进入解压后的目录并编辑frps.ini配置文件。

3.除非你想更改映射的端口,否则无需修改,直接执行如下命令:

$ ./frps -c frps.ini

可得如下结果:

4.上图显而易见可以看到是启动成功了,但是我们不能关闭终端,否则会自动关闭。一般来说我们是需要后台一直运行着的,所以我们使用nohup命令让其后台执行。

$ nohup ./frps -c frps.ini

5.再然后呢,就是在我们的云服务器的安全规则中开放对应的端口,这里我就不做详细的介绍了,大家自行开放端口即可。

6.接下来我们配置本地的机器与云端服务器相关联。同样的我们需要先下载frp,步骤同第一步。

7.这次因为我们是客户端,所以我们编辑frpc.ini这个配置文件。

途中的local_ip表示本地客户端的IP,Local_port表示本地客户端对应的端口,remote_port表示对应云端服务器的端口。

8.所有remote_port对应的端口必须在云端服务器中开放,否则无法进行访问。

9.接下来我们启动客户端,我们依然使用后台运行来启动。

$ nohup ./frpc -c frpc.ini

10.万事具备,还欠一个ssh密钥,我们需要将密钥加入到列表中。这样我们就可以使用ssh -p 6002 user@云端IP 远程连接到我们内网的机器了。

四、映射3389端口实现内网穿透远程桌面连接公司Windows桌面。

1.看了上面可能会有人说了,我不需要ssh链接服务器,我只是想远程桌面连接我公司的电脑用来远程调试bug(ps:我们程序员都是非常非常的敬业的,对于IT事业也是非常非常的热爱的)。所以这一部分呢,我们来说一下如何通过frp映射3389实现远程桌面。

2.远端服务器我们无需更改,也不用去动,可以与很多客户端连接也没有问题。所以我们只需要在我们的Windows电脑中安装frpc并启动即可。

3.大家自行搜索frp下载,到其GitHub开源下载中心下载对应的Windows版本即可,解压并修改frpc.ini。如图:

4.因为软件限制,我们无法直接运行exe文件启动,我们需要使用dos命令来启动:

$ cd 解压路径
$ frpc.exe

5.每次启动都要执行这两个命令会非常的麻烦,所以我将其封装成了一个bat批处理文件,每次启动只需双击启动批处理就可以。

6.当然还有一个问题,那就是我们同样无法关闭dos命令框,如果关闭frp也同时被关闭了,所以我们需要同样需要后台执行,所以我找到了一种办法,可以使其后台运行。编写一个vbs脚本。

7.我们只需执行该脚本即可实现后台执行bat批处理文件。但我们还需要手动去启动他,相对不太方便,所以我们将其加入到开机启动,这样每次开机都会自动执行这个脚本以启动frp,协助我们实现内网穿透。加入开机启动的方法我就不细说了,大家自行搜索。

8.万事具备我们可以通过Windows自带的远程桌面连接一下:

其实与内网的远程桌面一般无二,仅仅是指定了端口。至于速度嘛,就跟你电脑以及你的服务器息息相关啦。

五、映射80端口实现内网穿透远程访问本地web项目。

1.声明一点,并不仅仅是80端口,任意端口都可以映射本地的web项目,其实上面说了这么多,用法都是一样的,这个呢我就不详细的去说明了,同样域名直接解析到外网服务器就可以,只需映射本地与云端的端口即可实现穿透一切。

六、最后再说几句。

1.好久没有为大家带来有趣、有用的知识了,在这里给大家赔个不是!!!

2.frp呢其实还有好多好多的用法,我也并没有完全的去研究它,大家有空的话可以详细的去研究一下,是一个非常的不错的开源项目,相对于广大的程序员们来说同时也是一个非常有用的工具。

3.最后呢,感谢大家的阅读以及关注,希望日后可以为大家带来更多的有用的知识。

内网穿透在家远程连接公司电脑相关推荐

  1. 远程办公利器——利用cpolar内网穿透在家远程公司内网电脑

       系列文章 Windows用户如何安装使用cpolar内网穿透? Windows用户如何将cpolar内网穿透配置成后台服务,并开机自启动? 远程办公利器--利用cpolar内网穿透在家远程公司内 ...

  2. 【内网穿透服务器】利用云服务器+FRP实现内网穿透并远程连接服务器

    应用目的:远程管理或在外网访问内网机器上的服务 这里我们是使用云服务器+FRP实现内网穿透,达到远程连接服务器的目的 准备工作 云服务器 这里我们租用的是腾讯云的服务器,类似于下图的这种,配置选择可以 ...

  3. 使用花生壳+Xshell进行内网穿透访问实验室(公司)内网服务器【保姆级别】

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 使用花生壳+Xshell进行内网穿透访问实验室(公司)内网服务器[保姆级别] 前言 名称定义: 1. 实现a连接:lab-->花 ...

  4. 【Minecraft开服教学】使用 MCSM 面板一键搭建我的世界服务器 并使用内网穿透公网远程联机

    文章目录 前言 1.Mcsmanager安装 2.创建Minecraft服务器 3.本地测试联机 4. 内网穿透 4.1 安装cpolar内网穿透 4.2 创建隧道映射内网端口 5.远程联机测试 6. ...

  5. 疫情之下,使用FRP实现内网穿透,远程连接公司电脑进行办公

    当前情况下,经常会有需要到公司电脑进行一些操作,比如连接内网OA,数据库或者提交文档.为了减少外出,将使用frp进行内网穿透的方法进行一个说明. 前提条件 1. 一台拥有公网 IP 的设备(如果没有, ...

  6. 远程办公:通过cpolar内网穿透,远程桌面控制家里公司内网电脑

    文章目录 前言 1. 被控端电脑启用远程桌面 2. 安装cpolar内网穿透 3. 获取远程桌面公网地址 4. 实现远程桌面控制 前言 疫情反反复复的当下,有时候会遇到需要居家办公的情况,但在办公室的 ...

  7. 【免费】傻瓜式一键内网穿透实现ssh连接远程局域网的电脑(利用免费frp服务器)

    frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP.UDP.HTTP.HTTPS 等多种协议.可以将内网服务以安全.便捷的方式通过具有公网 IP 节点的中转暴露到公网. 文档:https ...

  8. win10内网穿透实现远程桌面连接

    一.前情提要 在学校的时候曾经看到过同学在实验室用远程桌面控制宿舍自己的电脑,这样不仅能随时使用自己电脑上的文件,还省得把电脑带来带去又麻烦又重,当时也研究过,但没成功,这不新冠肺炎疫情导致开学时间一 ...

  9. FastTunnel Win10内网穿透实现远程桌面

    目录 一.需求 二.购买公网服务器 三.远程公网服务器 四.FastTunnel 的使用 1.下载 FastTunnel 2.启动服务器端 3.启动客户端 五.测试 六.安装服务 结束 一.需求 Fa ...

最新文章

  1. mysql sql w3cschool_SQL复习(w3school)笔记
  2. 进击的 JavaScript 之(七) 原型链
  3. 修改Android下的radioButton字体的颜色
  4. 记一次与用户的亲密接触
  5. Mac OS X中MySQL 的配置文件(my.cnf)的位置
  6. 动窗口的制作暨CSizingControlBar类的使用说明
  7. 《JavaScript权威指南》学习笔记 第二天 下好一盘大棋
  8. Java 知识总结大汇总!看完哪个都变大佬!
  9. Oculus首席科学家发声,称VR需要能够“欺骗”大脑
  10. 基础编程题目集 6-1 简单输出整数 (10 分)
  11. html a div,为div设置类a与b,应编写HTML代码(??)
  12. 今天入手了二手X61
  13. 【转】利用匿名namespace解决C++中重复定义的问题
  14. MQL5 COOKBOOK: 获取仓位属性
  15. ubuntu内核升级导致显卡驱动丢失
  16. 免费的ftp服务器 linux,免费ftp服务器,3款免费ftp服务器推荐
  17. eclipse中安装的lombok插件不起作用,报错:找不到getter
  18. NEERC 2014 D题 Damage Assessment
  19. 记一次mysql5.7的新特性derived_merge的坑
  20. 聊聊那些Git的基本概念

热门文章

  1. Opencv配置VS2010,配置成功后如何成功使用完成vs调用opencv库
  2. Unity客户端框架收集
  3. 一款 Java 开源的即时通讯 IM 聊天系统
  4. 主流消息中间件技术简介
  5. 【超图+CESIUM】【基础API使用示例】10、超图|CESIUM - 场景出图、下载当前截图
  6. Jsoup爬取网络内容(包括图片文件),保存到本地和保存到数据库(一)
  7. 正则表达式-连续多位相同字符判断的正则表达式
  8. 快速解决matlab出现错误使用mex,未找到支持的编译器或 SDK的提示
  9. R语言:多个向量合并
  10. 认识机器学习 机器学习实战第一章