高性能的内网穿透反向代理应用 frp 介绍

更新2017-12-26

当前版本0.14.1配置正常。

dashboard.png

frp是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp, http, https 协议。

强烈建议阅读官方中文文档
https://github.com/fatedier/frp/blob/master/README_zh.md

frp 的作用

  • 利用处于内网或防火墙后的机器,对外网环境提供 http 或 https 服务。
  • 对于 http, https 服务支持基于域名的虚拟主机,支持自定义域名绑定,使多个域名可以共用一个80端口。
  • 利用处于内网或防火墙后的机器,对外网环境提供 tcp 和 udp 服务,例如在家里通过 ssh 访问处于公司内网环境内的主机。

frp支持的平台

  • darwin
  • linux 386 amd64
  • arm
  • mips mips64 mips64le mipsle
  • windows 386 amd64

简单的案例

需求

服务器监听1000端口,开放1001端口,通过1002端口查看frp状态,设置密码防止别人使用

服务搭建

服务器我们使用centos7,注意开放防火墙端口

修改frps.ini

[common]

server_addr = 0.0.0.0
bind_port = 1000

privilege_token = 12345678

dashboard_port = 1002
dashboard_user = admin
dashboard_pwd = admin

上传到服务器运行

[root@baidu ~]# ./frps -c ./frps.ini
2017/11/07 10:37:42 [I] [service.go:83] frps tcp listen on 0.0.0.0:1000
2017/11/07 10:37:42 [I] [service.go:134] Dashboard listen on 0.0.0.0:1002
2017/11/07 10:37:42 [I] [main.go:112] Start frps success

访问web控制台

TIM截图20171107104041.png

完成

客户端搭建

客户端我们使用win10系统

修改frpc.ini,将本地的80端口映射到服务器的1001端口上

[common]

server_addr = 67.21.87.138
server_port = 1000
       
privilege_token = 12345678

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 80
remote_port = 1001

本地运行

在文件夹内按住shift右键打开powershell

 .\frpc.exe -c .\frpc.ini

运行正常

TIM截图20171107105858.png

服务器监控正常

TIM截图20171107105731.png

完毕

最后修改:2017 年 12 月 27 日 03 : 53 PM

发表评论