主页
关于
Stay before every beautiful thoughts
在每一个美好的思想前停留
文章
>
解决方案
>
正文
使用FRP 搭建内网穿透,流畅远程桌面
FRP
远程桌面
内网穿透
Created at 2021-07-16 23:23
受本次疫情影响,很多人都在家远程办公,因为很多资料和网络权限问题,有时必须远程桌面操作。之前使用过两个软件,以下是介绍。 ###### TeamViewer 用了挺长时间,流畅度稳定性都不错,莫名被检测到商用以后,找了好多破解版,几乎无用,无奈放弃。 ###### 向日葵 使用了大概三个月,流畅度很一般,经常会有卡顿的情况,最近不知道是用的人多,流量大了还是怎么了,卡的我想砸键盘!!! ###### 在感觉使用向日葵工作会让我血压飙升,异常暴躁以后,我决定珍爱生命,远离它,不得已寻找其他求生途径,所以当我了解并使用FRP工具进行内网穿透,流畅的使用远程桌面时,我只想说,TNND,终于解放了,真TM香(手动滑稽) ###### PS:本内容提供给有编程基础和服务器运维基础的人群观看,计算机小白建议放弃;如果是大神,如有错误请指正,轻点喷。 ------------ ### FRP 简介 > frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp 协议,为 http 和 https 应用协议提供了额外的能力,且尝试性支持了点对点穿透。 ### FRP 中文文档 https://github.com/fatedier/frp/blob/master/README_zh.md ### 前期准备 ###### 一台Linux 服务器,带公网IP,带宽最好在2M左右,ucloud有便宜的。 ###### 两台windows电脑测试用,一台控制端,一台被控端,请先设置好系统的远程工具。 ------------------------ ### 搭建过程 根据系统环境自行选择相应安装包,下面以 Ubuntu 16.04.2 LTS 为例 ###### 各环境安装包下载列表 https://github.com/fatedier/frp/releases/ ###### 服务端安装过程: ```shell # 下载对应的安装包 wget https://github.com/fatedier/frp/releases/download/v0.31.2/frp_0.31.2_linux_amd64.tar.gz # 解压 tar -zxvf frp_0.31.2_linux_amd64.tar.gz # 名字太长改个名 mv frp_0.31.2_linux_amd64 frp # 赋权 sudo chmod -R 777 ./frp ``` ###### 修改服务端配置 ```shell # 切换目录 cd frp # 修改配置 vi frps.ini ``` ###### 配置文件内容 ```ini [common] # frps绑定端口 bind_port = 7000 # token校验(连接密码) token = xxxxxxxx # 运行状态管理工具(不需要的可以不加) # 监控工具运行端口 dashboard_port = 7500 # 监控工具 身份验证 dashboard_user = xxxxxxxx dashboard_pwd = xxxxxxxx ``` ###### 启动服务 ```shell # 测试阶段使用 方便看输出的运行日志. ./frps -c ./frps.ini # 正式使用的时候推荐后台运行 nohup ./frps -c ./frps.ini & ``` ###### 启动服务后的正确输出  ###### 在浏览器测试网页监控工具管理界面 访问地址组成 > IP:dashboard_port  ------------------ ###### 下载并使用客户端 在被控端的电脑上下载 对应的FRP安装包,下载列表同上,我本地用的是windows10 https://github.com/fatedier/frp/releases/download/v0.31.2/frp_0.31.2_windows_amd64.zip ###### 下载解压后打开文件夹编辑配置文件 frpc.ini,内容如下 ```ini [common] # 服务器公网地址 server_addr = xxxxxxxx # 端口 server_port = 7000 # 设定的token token=xxxxxxxx [自定义组名称] # 类型 type = tcp # 本地地址 local_ip = 127.0.0.1 # 本地端口 local_port = 3389 # 线上对外暴露端口 remote_port = 7002 ``` ###### 自定义组名称 建议英文并且不可重复,线上对外暴露端口也不可重复。 ###### 同过命令行运行脚本  ------------------------ ###### 通过另一台电脑测试远程桌面被控端 地址组成 > 服务器公网IP:客户端设定的 线上对外暴露端口  ------------------------------ ###### 结尾 至此,没有意外情况的话,应该就可以使用远程了,如果连不上请检查一下服务端、客户端、系统自带远程工具的设置、以及网络问题。 可配置多个客户端,组名和端口不一致就行。 被控端的命令行窗口在使用过程中不可关闭。 这次只是使用了3389端口做了远程桌面,FRP其它使用方式大家可以去探索和研究。