首先你要有一台服务器或者VPS,内网主机一台。
服务器或者VPS购买,本文不赘述。
本文所用的服务端是Linux系统(Centos),客户端是Windows系统或者是Linux系统(Centos)。
服务端(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.34.1/frp_0.34.1_linux_amd64.tar.gz
2.使用tar命令解压下载成功的压缩包文件:
tar -zxvf frp_0.34.1_linux_amd64.tar.gz
3.使用cd命令进入解压出来的文件夹:
cd frp_0.34.1_linux_amd64.tar.gz
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
方法三:设置开机启动
参照下面的Linux客户端的方法。将命令中的frpc改成frps即可。
客户端(Windows)安装配置步骤
1.下载客户端的frp:
在这里 https://github.com/fatedier/frp/releases 找到windows对应的版本,32位或者64位。
2.解压下载成功的压缩包
3.编辑frpc.ini文件,内容如下:
[common]
server_addr = 你的服务器地址
#与服务端绑定的进行通信的端口
server_port = 7000
[web]
type = http
local_ip = 127.0.0.1
#本地映射的端口,比如开了个tomcat apache,端口为8080
local_port = 8080
remote_port = 80
#可设置域名,通过域名进行访问。(ps:需将你购买的域名解析到你的服务器地址)
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文件设为开机启动即可。
到此,客户端的搭建已经完成。
测试
如果成功,在浏览器输入上文配置的公网ip或者域名,比如 test.com 即可访问在内网的机器了,会打开tomcat apache的默认网页。
客户端(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.34.1/frp_0.34.1_linux_amd64.tar.gz
2.使用tar命令解压下载成功的压缩包文件:
tar -zxvf frp_0.34.1_linux_amd64.tar.gz
3.使用cd命令进入解压出来的文件夹:
cd frp_0.34.1_linux_amd64.tar.gz
4.修改客户端配置文件(frpc.ini):
vi frpc.ini
按i,进行编辑,将内容修改成下面的:
[common]
server_addr = 你的服务器地址
#与服务端绑定的进行通信的端口
server_port = 7000
[web]
type = http
local_ip = 127.0.0.1
#本地映射的端口,比如开了个tomcat apache,端口为8080
local_port = 8080
remote_port = 80
#可设置域名,通过域名进行访问。(ps:需将你购买的域名解析到你的服务器地址)
custom_domains = test.com
按Esc键,退出编辑,再按:wq保存退出。
4.启动frp客户端:
方法一:启动命令(这种方式不推荐,因为断开SSH连接或者ctrl+c后,frp也就停止运行了):
./frpc -c ./frpc.ini
方法二:将frpc和frpc.ini文件拷贝到系统目录并设置执行权限,方便frpc的启动以及实现开机启动。
依次执行下面命令:
sudo cp frpc /usr/bin/frpc
sudo chmod -R 777 /usr/bin/frpc
sudo mkdir /etc/frp
sudo cp frpc.ini /etc/frp/frpc.ini
sudo cp systemd/frpc.service /lib/systemd/system/frpc.service
然后刷新系统服务列表:
systemctl daemon-reload
设置开机自启:
systemctl enable frpc.service
启动客户端:
systemctl start frpc.service
另外,关闭开机自启的命令是:
systemctl disable frpc.service
停止服务的命令是:
systemctl stop frpc.service
检查frpc状态:
systemctl status frpc.service
查看所有已启动的服务:
systemctl list-units --type=service
测试
如果成功,在浏览器输入上文配置的公网ip域名,比如 test.com 即可访问在内网的机器了,会打开tomcat apache的默认网页。
更多进阶操作
frp的开源地址(有中文文档):
https://github.com/fatedier/frp