部署frp内网穿透

知识技巧 - frp

FRP (Fast Reverse Proxy)是一款高性能的反向代理应用,专注于内网穿透。它支持多种协议,包括 TCP、UDP、HTTP、HTTPS 等,使用FRP,我们可以安全、便捷地将内网服务暴露到公网,通过拥有公网 IP 的节点进行中转,从而能够从外网访问到公司办公室或者家里的内网电脑和服务。

FRP内网穿透常见的使用场景有很多,比如,通过公网访问内网 Web 服务,电脑远程桌面和 SSH 连接,公网访问内网共享文件,文件备份和同步,等等,用途还是挺多的又实用。我平时使用得最多就是电脑远程桌面、远程连接家里的NAS设备和远程访问共享文件夹。

要使用FRP服务,前提是必须要有一台有公网ip的服务器来做服务中转,比如我们可以去腾讯或阿里选购一台云服务器,价格有很便宜的,FRP穿透服务一般不需要多高的配置,我平时自用的,就选择了阿里的一款经济低价的,99元/年,配置是2核2G,3M固定带宽,40G ESSD,对普通个人来说,这个配置足够了。

具体规格查看这里

https://www.aliyun.com/daily-act/ecs/activity_selection?userCode=dndxx4gn

 

下面就正式开始部署FRP,先在有公网的主机上下载最新版本的FRP

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

 

根据自己主机的CPU架构和操作系统类型,下载相对应的最新版本FRP客户端和服务器二进制文件,所有文件都打包在一个压缩包中。比如我的主机是linux系统,x86_64构架的。            

图片

在Linux主机上执行如下命令下载v0.61.0版本的FRP文件:

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

 

或者使用其它电脑下载后,再上传到主机也可以。

下载好文件后,解压缩文件并重命名文件夹为frp0610

tar zxvf frp_0.61.0_linux_amd64.tar.gz && mv frp_0.61.0_linux_amd64 frp0610

 

然后进入frp0610文件夹,可以看到服务器端和客户端文件,以及它们的配置文件   

图片

下面就准备启动主机的frp服务。主机服务器端的配置文件是frps.toml,客户端的配置文件是frpc.toml。比如现在我们要部署一个能通过外网的电脑使用windows远程桌面来远程控制家里或办公室内网电脑的服务,操作步骤如下:

先启动主机服务端的frp服务,其默认端口是7000,我们执行

nano frps.toml

 

打开frps.toml文件看看,确认一下端口号

图片

然后执行如下命令启动frp服务器:

./frps -c ./frps.toml

 

图片

frp服务器端的服务启动成功了,下面就要去客户端电脑配置frp客户端的服务了。

先在客户端电脑下载相应的frp版本,我们现在是要能通过外网的电脑使用windows远程桌面来远程控制家里或办公室内网电脑,那么就需要在被控制的客户端windows电脑上下载frp的windows版本,然后解压缩文件,我这里的路径是 "D:\frp0610",你也可以解压到其它路径。

图片

 

图片

 

修改frpc.toml文件,格式内容如下:

serverAddr = "xx.xx.xx.xx"
serverPort = 7000

[[proxies]]
name = "pve_sx_win10_RDP"
type = "tcp"
localIP = "192.168.123.13"
localPort = 3389
remotePort = 13389

 

其中xx.xx.xx.xx填写主机的公网ip,localIP 和 localPort 配置为需要从公网访问的内网服务的地址和端口,3389是windows桌面远程使用的端口号,remotePort 填写在 frp 服务端监听的端口,访问此端口的流量将被转发到本地服务的相应端口。

编辑完客户端的frp的配置文件后,新建一个记事本文件,输入如下内容:

 

set ws=wscript.createobject("wscript.shell")
ws.run "cmd /c D:\frp0610\frpc -c D:\frp0610\frpc.toml",0

 

然后另存为run.vbs文件

 

图片

 

再双击运行这个run.vbs文件,就可以在后台运行frp客户端服务了,在“任务管理器”中能查看到 "frpc.exe"进程。   

 

图片

 

到这里frp客户端的服务也运行成功了。现在就使用外网的一台电脑,打开“远程桌面”,输入要公网主机的ip和端口号,点击“连接”,就能连接远程到内网的这台被控端电脑了。   

 

图片

 

图片

 

如果frp服务端主机需要在后台长期运行,就需要使用 systemd 来管理 frps 服务,这样可以方便地操作frps 服务的启动、停止、配置后台运行和设置开机自启动。         
具体的操作步骤如下:   

1.创建 frps.service 文件,用于配置 frps 服务          

nano /etc/systemd/system/frps.service

         
输入如下内容:

# 服务名称,可自定义
Description = frp server
After = network.target syslog.target
Wants = network.target

[Service]
Type = simple
# 启动frps的命令,需修改为您的frps的安装路径
ExecStart = /root/frp0610/frps -c /root/frp0610/frps.toml

[Install]
WantedBy = multi-user.target

Ctrl+O保存文件,Ctrl+X退出

 

2.启动 frps 服务

systemctl start frps

 

3.设置 frps 开机自启动   

systemctl enable frps

 

这样,我们就能够轻松地使用 systemd 来管理 frps 服务了,frps服务端程序会在后台一直运行。

反馈留言  -  RSS订阅  -  百度蜘蛛  -  谷歌地图  -  必应爬虫  -  搜狗蜘蛛  -  奇虎地图  -  神马爬虫

本网站只提供WEB页面,若侵权,我们会及时处理。

请给邮箱地址来信

Copyright © huiku.cc All Rights Reserved.