frp内网穿透服务搭建与使用
1、frp简介
frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。
可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。
frp工作原理
服务端运行,监听一个主端口,等待客户端的连接;
客户端连接到服务端的主端口,同时告诉服务端要监听的端口和转发类型;
服务端fork新的进程监听客户端指定的端口;
外网用户连接到客户端指定的端口,服务端通过和客户端的连接将数据转发到客户端;
客户端进程再将数据转发到本地服务,从而实现内网对外暴露服务的能力。
2、frp下载
准备一个公网服务器,以腾讯云为例,准备安装frp服务端,准备一台电脑安装frp客户端。
所以这里需要下载Linux版本和windows版本
链接:https://pan.baidu.com/s/1f8NMY8zc1eKbZa7twgQPEg
提取码:hj50
3、解压安装
这里frp服务端安装在Linux上,frp客户端安装在Windows上。将下载的Linux压缩包上传到服务器上解压。
tar -zxvf frp_0.34.3_linux_386.tar.gz
解压之后目录结构如下,这里可以选择把客户端没有的程序和配置删掉,也可不删。
文件中所有显示frps的都是服务端文件,显示frpc的都是客户端文件。
下载Windows版本的frp解压到本地,删除所有服务端文件。
4、修改配置
修改服务端配置
vim frps.ini
[common]
#内网穿透服务器端监听的IP地址,可以省略,默认为127.0.0.1
bind_addr = 0.0.0.0
# 默认端口7000,就是客户端和服务端通信的端口,不是你转发的那个端口,如果要改端口,
# 客户端和服务端两边的配置文件都要改
bind_port = 7000
# 控制台配置,frp的web管理控制台的用户名和密码,可以通过服务端ip+7001端口登录
dashboard_port = 7001
dashboard_user = ***
dashboard_pwd = ***
token = ***
修改客户端配置
[common]
#frps服务端所在的公网IP
server_addr = 43.25.36.22
# 默认端口7000,就是客户端和服务端通信的端口,不是你转发的那个端口,如果要改端口,
# 客户端和服务端两边的配置文件都要改
server_port = 7000
# 如果服务端设置了token,则客户端也需要设置token
token = ***
# frp内网穿透通道的名称,一定要唯一
[httpWeb]
type = tcp # 连接类型
local_ip = 127.0.0.1 # 本地的地址
local_port = 9008 # 穿透到本地内网的端口号
remote_port = 7002 # 本次TCP服务要监听的端口,就是外网服务器要监听的端口
5、开放端口
腾讯云服务器端口是没有开放的,所以我们需要先在腾讯云防火墙中开放7000(frp客户端和服务端通信端口),
7002(服务器端要监听的端口),7001(这是frp面板的端口,下面会提到)这三个端口
6、启动服务
服务端
在frp安装目录下执行
[root@VM-20-16-centos frp]# ./frps -c frps.ini
客户端
在frp安装目录下执行
.\frpc.exe -c .\frpc.ini
7、查看面板管理
frp穿透服务已经成功了,我们再查看下frp面板,浏览器地址栏输入:服务器公网IP+7001
8、访问内网应用
本地nginx代理