利用云服务器(Linux)搭建远程办公访问(frp实现内网穿透)

用云服务器搭建远程办公可以干什么:

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

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

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

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

2. 我们平时在学校用服务器跑机器学习,但是回了家就连不上自己实验室的服务器了,自己电脑又跑的太慢,通过内网穿透就可以实现在家部署自己的机器学习任务。

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

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

二、那么如何通过云服务器进行连接呢

  • (一)需要申请一个云服务器,阿里云腾讯云......等都可以(学生的话会很优惠,点击前面蓝字购买更优惠)。
  • (二)云端服务器配置:(在云服务器Xshell中进行)

1、下载frp  登陆 https://github.com/fatedier/frp/releases 获取下载地址

wget https://github.com/fatedier/frp/releases/download/v0.37.0/frp_0.37.0_linux_amd64.tar.gz

up-db10745fe9eafaafb1733869061523e4ab0.png

 

 

frp_0.37.0_linux_amd64.tar.gz 是64位系统,frp_0.37.0_linux_386.tar.gz 是32位系统,根据自已的云服务器去下载对应的frp文件。

 2、解压压缩文件:

tar -zxvf frp_0.37.0_linux_amd64.tar.gz

3、进入解压后的文件夹

cd frp_0.37.0_linux_amd64

up-9881b289031284e8a07eacec77774ae4420.png

4、打开配置服务器文件 frps.ini 修改如下:

[common]
bind_port = 60008
dashboard_port = 60007
dashboard_user = admin
dashboard_pwd = admin
token = 123456
  • “bind_port” 表示用于客户端和服务端连接的端口,这个端口号我们之后在配置客户端的时候要用到。
  • “dashboard_port” 是服务端仪表板的端口,若使用60007端口,在配置完成服务启动后可以通过浏览器访问 x.x.x.x:60007 (其中x.x.x.x为VPS的IP)查看frp服务运行信息。
  • “token” 是用于客户端和服务端连接的口令,请自行设置并记录,稍后会用到。
  • “dashboard_user” 和 “dashboard_pwd” 表示打开仪表板页面登录的用户名和密码,自行设置即可。

bind_port 和 dashboard_port 可自行设置,但是需要提前登陆阿里云或腾讯云控制台在安全组中开放出来(TCP)。

  5、配置完成后运行服务器,指令如下:

./frps -c frps.ini

看到如下结果后说明服务器端启动成功。

up-4b83642923dfce96f3a9a8322f73df204b6.png

此时访问 x.x.x.x:60007 并使用自己设置的用户名密码登录,即可看到仪表板界面

up-9d5b68c8d1a115d40f363592af4d87e62a9.png

6、服务端后台运行

这里我们安装使用 screen 多重视窗管理程序来后台启动frp

安装

yum -y install screen

参数说明

  • -A  将所有的视窗都调整为目前终端机的大小。
  • -d<作业名称>  将指定的screen作业离线。
  • -h<行数>  指定视窗的缓冲区行数。
  • -m  即使目前已在作业中的screen作业,仍强制建立新的screen作业。
  • -r<作业名称>  恢复离线的screen作业。
  • -R  先试图恢复离线的作业。若找不到离线的作业,即建立新的screen作业。
  • -s<shell>  指定建立新视窗时,所要执行的shell。
  • -S<作业名称>  指定screen作业的名称。
  • -v  显示版本信息。
  • -x  恢复之前离线的screen作业。
  • -ls或--list  显示目前所有的screen作业。
  • -wipe  检查目前所有的screen作业,并删除已经无法使用的screen作业。

运行 screen 打开一个视窗

screen -S frp

切换到frp目录下运行frp

./frps -c frps.ini

(三)客户端配置(我的是windows):

1、登陆 https://github.com/fatedier/frp/releases 下载,同服务器端的第一步相同:但是要下载windows的 frp_0.37.0_windows_amd64.zip

up-08625080ebb51cc312c3506d749edf82f33.png

frp_0.37.0_windows_amd64.zip 是64位系统,frp_0.37.0_windows_386.zip 是32位系统,根据自已的系统去下载对应的frp文件。

2、解压后放到自己的盘下:(我的放到了E盘)

up-8a5bfe98dc3ce14dddfa1e76fc86b21cc39.png

3、修改 frpc.ini配置文件(C代表客户端),修改如下:

[common]
server_addr = x.x.x.x
server_port = 60008
token = 123456

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 60009

其中common字段下的三项即为服务端的设置。

  • “server_addr”为服务端IP地址,填入即可。
  • “server_port”为服务器端口,填入你设置的端口号即可,如果未改变就是7000
  • “token”是你在服务器上设置的连接口令,原样填入即可。

 

  • “[xxx]”表示一个规则名称,自己定义,便于查询即可。
  • “type”表示转发的协议类型,有TCP和UDP等选项可以选择,如有需要请自行查询frp手册。
  • “local_port”是本地应用的端口号,按照实际应用工作在本机的端口号填写即可(windows远程桌面对应的端口一般是3389)。
  • “remote_port”是该条规则在服务端开放的端口号,自己填写并记录即可。

 4、  运行客户端

在cmd命令窗口输入 frpc -c frpc.ini ,看到如下提示效果说明客户端启动成功。

up-e0636fe15f11a287125325e6ee901789d65.png

5、客户端后台运行及开机自启

frpc运行时始终有一个命令行窗口运行在前台,影响美观,我们可以使用一个批处理文件来将其运行在后台,而且可以双击执行,每次打开frpc不用再自己输命令了。
在任何一个目录下新建一个frpc.vbs格式的文件  ,编辑,粘贴如下内容并保存。

set ws=WScript.CreateObject("WScript.Shell") 
ws.Run "E:\frp_0.37.0_windows_amd64\frpc.exe -c  E:\frp_0.37.0_windows_amd64\frpc.ini",0

将 E:\frp_0.37.0_windows_amd64 路径更改为你的frpc实际存放的目录。  

之后双击运行这个 .vbs  文件即可启动frpc并隐藏窗口(可在任务管理器中退出)。
 

up-4221e7dc1b5b22da4ba06a3cafd7a0736cd.png

至于开机启动,把这个 .vbs文件直接扔进Windows的开机启动文件夹就好了(启动文件夹路径,用WIN+R打开的运行窗口中输入:%programdata%\Microsoft\Windows\Start Menu\Programs\Startup ) 。

至此,客户端配置完成,之后就是你自己根据需要在frpc.ini后追加规则即可。

6、开启远程访问权限

右击我的电脑-属性-远程设置,如果客户端电脑没有密码需要先设置密码。

up-56c7d4bfd7c86cd9ec210ccc1dc22d6a047.png

没有密码时在控制面板中设置一个账户密码:(点击更改账户类型)

up-44c66929a6d664d17c584e702e5a205d2f0.png

选中自己的账户:进行密码设置

 

参考

https://gofrp.org/docs/

https://www.cnblogs.com/fuzhuoxin/p/14146635.html

https://sspai.com/post/52523

 

Guess you like

Origin blog.csdn.net/qq_25231683/article/details/120018773