一、原理简介
frp是一个专注于内网穿透的高性能的反向代理应用,支持TCP、UDP、HTTP、HTTPS等多种协议。可以将内网服务以安全、便捷的方式通过具有公网IP节点的中转暴露到公网。
frp的好处是利用内网或防火墙后的机器,对外网环境提供http或https服务。对于http和https服务支持基于域名的虚拟主机,支持自定义域名绑定,使多个域名可以共用一个80端口。利用处于内网或防火墙后的机器,对外网环境提供tcp和udp服务,例如在家里通过ssh或者web访问公司内网环境内的主机或者业务进行办公。
二、下载地址
安装下载
下载地址: https://github.com/fatedier/frp linux_amd64/windows_amd64
frp主要由客户端(frpc)和服务端(frps)组成[ frpc.exe frpc.ini frps.exe frps.ini ],服务端通常部署在具有公网IP的机器上,客户端通常部署在需要穿透的内网服务所在机器上。内网服务由于没有公网IP,不能被非局域网内的其他用户访问。用户通过访问服务端的frps,由frp负责根据请求的端口或其他信息将请求路由到对应的内网机器,从而实现通信。
注意:面板上所有转发的端口都需要在服务器端开放其防火墙!!
注:记得在VPS上面的防火墙开启7000和7500端口
三、配置
1、frps.ini 配置
[common]
bind_port = 7000 #客户端与服务端通信的端口,frp的服务端口,需要与客户和端一致
dashboard_port = 7500 #控制台端口, 通过访问 VPSip:7500 可以查看frp状态和代理统计信息,不写默认用户名及密码都为admin
token = 12345678 #特权模式密钥
dashboard_user = admin #可写可不写,访问控制台的用户
dashboard_pwd = admin #可写可不写,访问控制台的用户
vhost_http_port = 10080 # http服务端口,开启之后服务端通过域名访问部署于内网的web服务器,
vhost_https_port = 10443 #
2、frpc.ini 配置
[common]
server_addr = 47.103.212.137 #VPS服务端ip地址
server_port = 7000 #端口,与服务端bind_port端口一致
token = 1q2w3e #自定义密钥,需要和服务端设置一致
[rdp]
type = tcp #连接协议
local_ip = 0.0.0.0 #内网服务器ip,填写需要转发的目的ip地址
local_port = 3389 #RDP默认端口
remote_port = 7001 #自定义访问内部的ssh端口号
[smb]
type = tcp
local_ip = 0.0.0.0
local_port = 445
remote_port = 7002
[SSH]
type = tcp
local_ip = 0.0.0.0
local_port = 22
remote_port = 7003
3、frp服务端启动
命令:./frps -c frps.ini
4、frp客户端启动
命令:frpc.exe -c frpc.ini
打开浏览器 查看frp控制台信息