frp使用记录

frp使用手册

概述

frp 是一个专注于网络穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。

原理概述

为了便于表述,通过一个云服务器经过一个能联网的终端设备访问一个录像机的例子来说明。需要具备以下条件:

  • 云服务器

    ip:x.x.x.x

    端口:开放7000、6000,随意指定的两个端口

    运行frps——frp的服务端

  • 终端设备

    能和云服务器进行网络连接的设备即可

    运行frpc——frp的客户端

  • 录像机

录像机与终端设备相连,此设备为可选。

如果只需访问终端设备,local_ip=配置为127.0.0.1即可或者不配置默认使用回环地址。

此例假设使用录像机,ip为192.168.1.88,端口为80.

frp使用记录_第1张图片 

  • 工作流程说明

frp使用记录_第2张图片

 

下载

码云

github

frp使用记录_第3张图片

 

包含多个版本,相信总有一款适合你,建议用新的版本,目前看配置方式都是一样的。

下载后每个压缩包内都包含以下文件

frp使用记录_第4张图片

 

文件 说明 备注
frpc 客户端的执行程序
frpc.ini 客户端的执行程序的配置文件
frpc_full.ini 客户端的执行程序的全部配置项 配置时可从这里找自己需要的配置项
frps 服务端的执行程序
frps.ini 服务端的执行程序的配置文件
frps_full.ini 服务端的执行程序的全部配置项

更改配置

  • 服务器

在服务器上部署 frps,修改 frps.ini 文件,这里使用了最简化的配置,设置了 frp 服务器用户接收客户端连接的端口:

[common]
bind_port = 7000 #服务端的端口号
  • 客户端

    在和服务器互联的终端设备上部署frpc,修改frpc.ini文件

    [common]
    server_addr = x.x.x.x#服务端的ip
    server_port = 7000#服务端的端口号
    ​
    [web]
    type = tcp
    local_port = 80
    remote_port = 6000#可通过访问云服务器的此端口号,达到访问local_ip的local_port的目的。
    local_ip = 192.168.1.88#需要转发到的本地ip

执行

  • 服务器

./frps -c frps.ini > out.file 2>&1 &

frp使用记录_第5张图片

  • 客户端

./frpc -c frps.ini > out.file 2>&1 &

frp使用记录_第6张图片

应用

通过访问x.x.x.x的6000端口即可查看,当然如果映射的端口提供的是ssh服务,也可ssh访问。

验证过程弯路记录

由于录像机访问是通过http访问的,所以开始便通过代理http的方式进行了,但视频最终没有显示出来,具体原因未知,查看http网友说法是http需要将整个视频下载下来然后再播放,但我是视频流,所以。。。。未深度剖析,待高手了。

 

http配置说明

在具有公网 IP 的机器上部署 frps,修改 frps.ini 文件,这里使用了最简化的配置,设置了 frp 服务器用户接收客户端连接的端口:

[common]
bind_port = 7000
vhost_http_port = 6000

在需要被访问的内网机器上(SSH 服务通常监听在 22 端口)部署 frpc,修改 frpc.ini 文件,假设 frps 所在服务器的公网 IP 为 x.x.x.x:

[common]
server_addr = x.x.x.x
server_port = 7000
​
[web]
type = http
local_port = 6000
local_ip = 192.168.1.88
custom_domains = 8.142.6.184

服务端需要将7000和6000加入安全组内,即需要可以外网访问。

但实际测试发现只能浏览网页,不能预览视频。

frp使用记录_第7张图片

 

差点方案宣告结束,但看有博主能走通,所以抄了下作业发现可以视频预览了。

参考文档

官网手册

通过Frp实现基于树莓派的网络摄像头

你可能感兴趣的:(网络,frp)