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.0bind_port = 1000privilege_token = 12345678dashboard_port = 1002dashboard_user = admindashboard_pwd = admin
上傳到服務器運行
[root@baidu ~]# ./frps -c ./frps.ini2017/11/07 10:37:42 [I] [service.go:83] frps tcp listen on 0.0.0.0:10002017/11/07 10:37:42 [I] [service.go:134] Dashboard listen on 0.0.0.0:10022017/11/07 10:37:42 [I] [main.go:112] Start frps success
訪問web控制檯
完成
客戶端搭建
客戶端我們使用win10系統
修改frpc.ini,將本地的80端口映射到服務器的1001端口上
[common]server_addr = 67.21.87.138server_port = 1000
privilege_token = 12345678[ssh]type = tcplocal_ip = 127.0.0.1local_port = 80remote_port = 1001
本地運行
在文件夾內按住shift右鍵打開powershell
.\frpc.exe -c .\frpc.ini
運行正常
服務器監控正常
完畢
閱讀更多 9Sblog 的文章