在拥有公网服务器的情况下,利用frp,我们可以便捷地将内网设备实现公网访问。本位为大家带来最新版frp部署指南,和常见的上手姿势。
准备
-
公网服务器(建议使用轻量服务器) -
本地Linux或者Windows主机。
如上图,用户想要外网访问内网的设备。需要通过公网服务器作为跳板。
部署服务端
首先,从github下载项目到本地。 项目地址: https://github.com/fatedier/frp 这里,我们以最新版的为例。根据自己的系统类型下载合适的包。
下载完成后,我们首先配置frps.toml
(服务端配置文件) 配置示例如下:
必配参数
bindPort = 7000
auth.token = "youpassword"
bindPort:
服务端端口,安全组和防火墙都要开启。不然内网设备无法连接。
auth.token:
用于安全配置,防止别人连接自己的服务器。
可选配置
配置仪表盘,frp支持仪表板。通过仪表盘可以方便地查看当前设备的连接状态。
webServer.addr = "0.0.0.0"#监听所有IP 包括ipv6
webServer.port = 7500 #仪表盘端口
webServer.user = "admin"#仪表盘账号
webServer.password = "admin@ql=="#仪表盘密码
其他
如,我们想要配置通过域名访问,我们还可以添加相关域名配置。
vhostHTTPSPort = 443 #指明https端口
vhostHTTPPort = 80 #指明http端口
完整示例
bindPort = 7000
auth.token = "youpassword"
vhostHTTPSPort = 443 #指明https端口
vhostHTTPPort = 80 #指明http端口
webServer.addr = "0.0.0.0"#监听所有IP 包括ipv6
webServer.port = 7500 #仪表盘端口
webServer.user = "admin"#仪表盘账号
webServer.password = "admin@ql=="#仪表盘密码
至此,服务端配置完成。接下来,我们通过下面命令启动服务器端
./frps -c frps.toml
到此,服务端配置和启动完成,接下来我们配置客户端。
客户端
同样,我们只需配置客户端文件frpc.toml
必配参数
serverAddr = "192.168.6.66"#你的公网服务器IP
serverPort = 7000 #公网端口,一定要一致。
auth.token = "admin@ql=="#token 一定要一致。
添加一个或多个节点
如,我想通过公网访问内网(192.168.50.88
)主机的22
3306
端口。添加下面配置。
[[proxies]]
name = "mysql" #命令,随意即可
type = "tcp" #类型为tcp或udp看心情。
localIP = "192.168.50.88" #内网IP
localPort = 3306 #内网端口,可自定义
remotePort = 3306 #外网端口,可自定义
[[proxies]]
name = "ssh"
type = "tcp"
localIP = "192.168.50.88"
localPort = 22
remotePort = 2222 #不要和公网的冲突
以此类推,如果想添加多个,增加[[proxies]]
即可。
配置https
跟住时代步伐走,http不说了。 如,在内网中,我在80
端口部署了一个web网页。通过内网IP访问。如何通过域名访问呢?
https://nb.cn
==192.168.50.88
准备条件
-
已备案域名 -
下载对应域名的ssl证书
配置文件
[[proxies]]
name = "https2http"
type = "https"
customDomains = ["nb.cn"]
[proxies.plugin]
type = "https2http"
localAddr = "192.168.50.88:80"
crtPath = "/data/xichui/ssl/nb.cn.crt"
keyPath = "/data/xichui/ssl/nb.cn.key"
hostHeaderRewrite = "nb.cn"
参数说明:/data/xichui/ssl/nb.cn.crt
便是你下载的ssl证书存放的位置,可根据自己的实际情况修改。
原文始发于微信公众号(kali笔记):FRP 0.61.1 全新入坑指南-HTTPS访问内网
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论