首先你要有一台服务器或者VPS,还要有个域名以及内网主机一台。
服务器或者VPS、域名的购买,本文不赘述。
本文所用的服务端是Linux系统(CentOS),客户端是windows系统。
服务端(Linux)搭建步骤
1:下载服务端的frp:
使用wget命令下载。如果wget command not found,则先安装wget,安装命令如下:
yum -y install wget
下载frp到服务器,在 https://github.com/fatedier/frp/releases 这里可以查看最新版本和获取下载地址。下载命令:
wget https://github.com/fatedier/frp/releases/download/v0.16.0/frp_0.16.0_linux_amd64.tar.gz
2.使用tar命令解压下载成功的压缩包文件:
tar -zxvf frp_0.16.0_linux_amd64.tar.gz
3.使用cd命令进入解压出来的文件夹:
cd frp_0.16.0_linux_amd64
4.修改服务器配置文件(frps.ini):
vi frps.ini
按i,进行编辑,将内容修改下面的:
[common]
#与客户端绑定的进行通信的端口
bind_port = 7000
#http的访问端口
vhost_http_port = 80
#https的访问端口(如果需要的话)
vhost_https_port = 8080
按Esc键,退出编辑,再按:wq保存退出。
5.启动frp服务端:
方法一: 启动命令(这种方式不推荐,因为断开与服务器的SSH连接后,frp也就停止运行了):
./frps -c ./frps.ini
方法二: 建议使用screen让frp在后台运行:
如果screen command not found,则先安装screen,命令:
yum -y install screen
使用screen命令创建一个会话:
screen -dmS frp
进入这个会话:
screen -r frp
最后键入启动frp命令:
./frps -c ./frps.ini &
这样即使关掉了SSH,frp依然在后台运行中。
到此,服务端的搭建已经完成。
另,停止运行frp的方法:
杀掉frps进程即可。使用ps命令,查看所有进程:
ps -a
找到frps、screen的进程id,使用kill命令杀掉:
kill 进程id
客户端搭建步骤
1.下载客户端的frp:
在这里 https://github.com/fatedier/frp/releases 找到windows对应的版本,32位或者64位。
2.解压下载成功的压缩包
3.编辑frpc.ini文件,内容如下:
[common]
server_addr = 你的服务器地址
#与服务端绑定的进行通信的端口
server_port = 7000
[web]
type = http
#本地映射的端口,比如开了个tomcat apache,端口为8080
local_port = 8080
remote_port = 80
#域名必须要有,并解析到你的服务器地址
custom_domains = test.com
保存。
4.启动frp客户端:
方法一: 直接双击运行frpc.exe。关掉黑窗口,即停止运行frp客户端。
*方法二:*使用vbs脚来启动frp,实现后台运行。新建start.vbs文件,编辑内容,如下:
dim objShell
set objShell=wscript.createObject("WScript.Shell")
iReturnCode=objShell.Run("frpc.exe -c frpc.ini",0,FALSE)
保存。双击运行.vbs文件,frp即后台运行了,打开任务管理器,可看到frpc.exe正在运行。
如果想要开机启动frp客户端的话,将start.vbs文件设为开机启动即可。
到此,客户端的搭建已经完成。
测试
如果成功,在浏览器输入上文配置的域名,比如 test.com 即可访问在内网的机器了,会打开tomcat apache的默认网页。
更多进阶操作
frp的开源地址(有中文文档):