标签搜索

FRP搭建内网穿透实现远程桌面等功能

十五
2021-10-18 / 0 评论 / 67 阅读 / 正在检测是否收录...
广告
温馨提示:
本文最后更新于2021年10月18日,已超过213天没有更新,若内容或图片失效,请留言反馈。

FRP搭建内网穿透实现远程桌面等功能

简介

FRP 采用 C/S 模式,将服务端部署在具有公网 IP 的机器上,客户端部署在内网或防火墙内的机器上,通过访问暴露在服务器上的端口,反向代理到处于内网的服务。 在此基础上,FRP支持 TCP, UDP, HTTP, HTTPS 等多种协议,提供了加密、压缩,身份认证,代理限速,负载均衡等众多能力。

官网

https://gofrp.org/

官方文档

https://gofrp.org/docs/

开源

https://github.com/fatedier/frp

安装包下载

https://github.com/fatedier/frp/releases

这里根据自己的环境选择相应的安装包

down.png

开始安装

公网服务端安装:

  1. 下载解压frp:
[root@VM-4-3-centos ~]# cd /home/FRP
[root@VM-4-3-centos FRP]# wget https://github.com/fatedier/frp/releases/download/v0.37.1/frp_0.37.1_linux_amd64.tar.gz
[root@VM-4-3-centos FRP]# ls
frp_0.37.1_linux_amd64.tar.gz
[root@VM-4-3-centos FRP]# tar -zxvf frp_0.37.1_linux_amd64.tar.gz
[root@VM-4-3-centos FRP]# cd frp_0.37.1_linux_amd64/
[root@VM-4-3-centos frp_0.37.1_linux_amd64]# ls
frpc  frpc_full.ini  frpc.ini  frps  frps_full.ini  frps.ini  LICENSE  systemd
[root@VM-4-3-centos frp_0.37.1_linux_amd64]# 
  1. 修改服务端配置:

详细服务端参数配置文档:https://gofrp.org/docs/reference/server-configures/

[root@VM-4-3-centos frp_0.37.1_linux_amd64]# vim frps.ini 
#配置端口即认证
[common]
bind_addr = 0.0.0.0
bind_port =7000        //frp服务本地端口,可自行更改
authentication_method = token    //开启token认证
token = admin    //token认证值

# 配置frp后台管理账号
dashboard_user = admin
dashboard_pwd = admin
dashboard_port = 7001        //web监控端口,可自行更改
enable_prometheus = true    //开启监控

# 配置日志配置文件夹
log_file = /home/frp/frps.log
log_level = info
log_max_days = 3
  1. 安装screen启动会话开启frp服务
[root@VM-4-3-centos frp_0.37.1_linux_amd64]# yum install screen

[root@VM-4-3-centos frp_0.37.1_linux_amd64]# screen -R frp    //创建会话
[root@VM-4-3-centos frp_0.37.1_linux_amd64]# cd /home/FRP/frp_0.37.1_linux_amd64/    //进入frp根目录
[root@VM-4-3-centos frp_0.37.1_linux_amd64]# ./frps -c frps.ini     //启动frp
2021/10/18 10:57:57 [I] [root.go:200] frps uses config file: frps.ini
2021/10/18 10:57:57 [I] [service.go:192] frps tcp listen on 0.0.0.0:7000
2021/10/18 10:57:57 [I] [root.go:209] frps started successfully
  1. CTRL + a + d 退出当前screen会话 至此服务端配置完成
screen语法
screen [-AmRvx -ls -wipe][-d <作业名称>][-h <行数>][-r <作业名称>][-s <shell>][-S <作业名称>]
参数说明:

-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作业。
  1. 服务器开启相应的端口:7000,7001,及客户端配置的remote_port端口

客户端安装:

  1. 解压frp_0.37.1_windows_amd64.zip
  2. 修改frpc.ini

frpc.ini.png

[common]
server_addr = 123.13.123.123  //服务器IP
server_port = 7000         //服务器frp端口
token = admin             //服务器frp端 认证值

[mstsc]    //这里可自行修改相应的介绍,必须为英文
type = tcp
local_ip = 127.0.0.1
local_port = 3389   //本地服务端口
remote_port = 3399  //frp服务端监听的端口,访问此端口的流量将会被转发到本地服务对应的端口。
                    //例如123.13.123.123:3399 就能访问客户端的3389远程桌面服务
  1. 启动客户端:打开cmd或者新建一个.bat批处理脚本
frpc.exe -c frpc.ini    

frpc.exe -c frpc.ini.png

  1. 验证配置:

在虚拟机上开启客户端,并开启远程登陆功能,在另一台电脑上win+r运行mstsc
0.png
1.png
2.png
3.png

结束

可配置多个客户端,组名和端口不一致就行。
被控端的cmd命令行窗口在使用过程中不可关闭。
这次只是使用了3389端口做了远程桌面,FRP其它使用方式大家可以去探索和研究。

2

评论 (0)

取消