FRP 项目地址 https://github.com/fatedier/frp/blob/master/README_zh.md frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp 协议,为 http 和 https 应用协议提供了额外的能力,且尝试性支持了点对点穿透。
ssh连接 1. 需要一台可以直接访问外网的服务器,比如阿里云服务器(服务端) 2. 需要做内网穿透的服务器,比如公司内部的局域网测试服务器(客户端) web访问 3. 需要额外的已经备案的域名
https://github.com/fatedier/frp/releases 选择最新的就行,一般都是linux环境
客户端跟服务端都需要的安装操作
cd /usr/local/
wget https://github.com/fatedier/frp/releases/download/v0.27.0/frp_0.27.0_linux_amd64.tar.gz
tar -zxvf frp_0.27.0_linux_amd64.tar.gz
mv frp_0.27.0_linux_amd64 frp
下载完毕frp的目录文件
查看frps.ini文件,修改为如下内容
[common]
bind_port = 7000 # 客户端跟服务端绑定的端口号
默认的配置信息中只有一个绑定端口为7000,意思是我们在外网服务器中绑定7000端口和客户端进行通信。注:端口可以自定义,但是需要客户端和服务端进行统一。阿里云服务器需要在esc管理中配置安全组规则中暴露7000端口
启动服务端
./frps -c frps.ini
如下表示启动成功
启动成功之后,关闭xshell或者是退出回话,都会使连接断开,可以使用nohup来进行后台启动(后面启动都可以使用这种方式)
如下是后台启动并将日志输入到file.log文件中
nohup ./frps -c ./frps.ini > file.log 2>&1 &
查看frpc.ini文件,修改为如下内容
[common]
server_addr = 39.105.97.50 # 你的公网ip
server_port = 7000 # 绑定的端口,自定义,跟服务端一直即可
[ssh]
type = tcp
local_ip = 127.0.0.1 # 绑定的ip,填写127.0.0.1表示本机即可
local_port = 22
remote_port = 6008 # ssh默认是22,现在转发为6008端口
启动客户端
./frpc -c ./frpc.ini
OK,之后可以通过xshell来连接,只需要指定端口号为remote_port(6008)即可,如下
单个ssh配置成功,项配置多个,一样的操作,在另一台机器进行下载frp,之后只需要修改frpc.ini文件,修改格式如下
[common]
server_addr = 39.105.97.50
server_port = 7000
[ssh001] # 不能重复
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6009 # 不能重复
需要将remote_port进行修改,[ssh]名称不能重复
frpc命令启动即可。
配置了http之后,就可以访问内网的web服务了,比如云盘前提是需要有已经备案的域名,这样才能配置。
服务端:修改frps.ini,内容如下
[common]
bind_port = 7000
vhost_http_port = 6001 # 访问6001端口,映射到内网web服务
bind_port和之前做ssh时是一个意思。也是为了和客户端建立通信的端口,只需要在之前的配置文件中添加上vhost_http_port = 6001,这个配置意思是让别人在访问我们的服务器6001端口时。frp将http请求转发到内网服务器
客户端:修改frpc.ini,修改内容如下
[common]
server_addr = 39.105.97.50
server_port = 7000
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6008
[web]
type = http
local_port = 8080 # 访问本地8080web服务
custom_domains = www.chendahai.cn # 必须已经备案
OK,使用frpc命令重启即可,通过www.chendahai.cn:6001,即可访问内网的8080服务了。
如果想配置多个web服务怎么办,跟ssh类似,添加多个[web]即可,注意不能重名
服务端不需要做任何修改,修改ftpc.ini内容如下
[common]
server_addr = 39.105.97.50
server_port = 7000
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6008
[web01]
type = http
local_port = 8080
custom_domains = www.chendahai.cn
[web02]
type = http
local_port = 80
custom_domains = cd.chendahai.cn # 使用二级域名进行配置
之后访问内网的80端口web服务可以通过cd.chendahai.cn:6001就可以访问了,二级域名是需要配置域名解析的。
如下是配置了2个ssh和3个web服务,服务端日志如下
OK,内网穿透基本配置完毕
frp的使用和配置相当简单,如有疑问或者想了解关于frp的其它功能可以查看官方中文文档
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有