1 frp 说明
用于内网穿透的高性能的反向代理应用,支持 tcp, udp 协议,为 http 和 https 应用协议提供了额外的能力,且尝试性支持了点对点穿透。frp 可以通过有公网 IP 的的服务器将内网的主机暴露给互联网,从而实现通过外网能直接访问到内网主机;frp 有服务端和客户端,服务端需要装在有公网 ip 的服务器上,客户端装在内网主机上。
下载:
https://github.com/fatedier/frp/releases
解压后的文件如下:
.
├── frpc
├── frpc_full.ini
├── frpc.ini
├── frps
├── frps_full.ini
├── frps.ini
└── LICENSE
其中,frpc*
运行在客户端,frps*
运行在服务端。
2 服务器搭建
将 frps*
相关文件拷贝至服务端任意目录,编辑 frps.ini
文件:
bind_port = 8001
token = abc123
dashboard_port = 8002
dashboard_user = admin
dashboard_pwd = admin
vhost_http_port = 8080 # 可不写
vhost_https_port = 8088 # 可不写
# bind_port = 8001 # 绑定端口,就是客户端连接到服务端时的端口
# token = abc123 # 自定义 token,就是客户端连接到服务端时的鉴权
# dashboard_port = 8002 # 访问服务端面板的端口
# dashboard_user = admin # 访问服务端面板的账号
# dashboard_pwd = admin # 访问服务端面板的密码
# vhost_http_port = 8080 # http 穿透端口
# vhost_https_port = 8088 # https 穿透端口
启动:
./frps -c frps.ini
# 或
nohup ./frps -c frps.ini > /dev/null 2>&1 & # 后台运行
启动后即可访问服务端(公网IP)的面板:
公网IP:8002
3 客户端搭建
将 frpc*
相关文件拷贝至服务端任意目录,编辑 frpc.ini
文件:
[common]
server_addr = xx.xx.xx.xx
server_port = 8001
token = abc123
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 8022
[web]
type = tcp
local_port = 9980
remote_port = 8080
# [common]
# server_addr = xx.xx.xx.xx # 这是公网服务器的ip
# server_port = 8001 # 这是服务器配置文件bind_port的值
# token = abc123 # 对应服务器的token
# [ssh]
# type = tcp # tcp连接方式
# local_ip = 127.0.0.1 # 本机,默认就是 127.0.0.1,可以不写
# local_port = 22 # 本地端口
# remote_port = 8022 # 映射到服务端的端口号
启动:
./frpc -c frpc.ini
# 或
nohup ./frpc -c frpc.ini > /dev/null 2>&1 & # 后台运行
启动后即可通过公网 IP 的 8080
端口访问本地的 9980
端口:
公网IP:8080
通过公网 IP 的 8022
端口访问本地的 22
端口:
公网IP:8022