一、原理简介

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 配置

  1. [common]
  2. bind_port = 7000 #客户端与服务端通信的端口,frp的服务端口,需要与客户和端一致
  3. dashboard_port = 7500 #控制台端口, 通过访问 VPSip:7500 可以查看frp状态和代理统计信息,不写默认用户名及密码都为admin
  4. token = 12345678 #特权模式密钥
  5. dashboard_user = admin #可写可不写,访问控制台的用户
  6. dashboard_pwd = admin #可写可不写,访问控制台的用户
  7. vhost_http_port = 10080 # http服务端口,开启之后服务端通过域名访问部署于内网的web服务器,
  8. vhost_https_port = 10443 #

2、frpc.ini 配置

  1. [common]
  2. server_addr = 47.103.212.137 #VPS服务端ip地址
  3. server_port = 7000 #端口,与服务端bind_port端口一致
  4. token = 1q2w3e #自定义密钥,需要和服务端设置一致
  5. [rdp]
  6. type = tcp #连接协议
  7. local_ip = 0.0.0.0 #内网服务器ip,填写需要转发的目的ip地址
  8. local_port = 3389 #RDP默认端口
  9. remote_port = 7001 #自定义访问内部的ssh端口号
  10. [smb]
  11. type = tcp
  12. local_ip = 0.0.0.0
  13. local_port = 445
  14. remote_port = 7002
  15. [SSH]
  16. type = tcp
  17. local_ip = 0.0.0.0
  18. local_port = 22
  19. remote_port = 7003

3、frp服务端启动

命令:./frps -c frps.ini
image.png

4、frp客户端启动

命令:frpc.exe -c frpc.ini
image.png

打开浏览器 查看frp控制台信息
image.png