1.Frp
官网:https://gofrp.org/ 简单、高效的内网穿透工具
frp 采用 C/S 模式,将服务端部署在具有公网 IP 的机器上,客户端部署在内网或防火墙内的机器上,通过访问暴露在服务器上的端口,反向代理到处于内网的服务。 在此基础上,frp 支持 TCP, UDP, HTTP, HTTPS 等多种协议,提供了加密、压缩,身份认证,代理限速,负载均衡等众多能力。
本文章的安装,是为将Windows客户端电脑连接的海康威视摄像头视频发送到服务器上播放。
2.在Linux服务器安装
https://github.com/fatedier/frp/releases
下载将提供的tar包上传至服务器目录,如:/opt/
这有0.34版本的下载:
Linux:frp_0.34.0_linux_amd64.tar.gz
Windows:frp034.rar
- 解压目录
# cd /opt
# tar -zxvf frp_0.34.0_linux_amd64.tar.gz
# cd frp_0.34.0_linux_amd64
- 配置信息,建议配置ini的时候,删掉#注释
\# vim frps.ini
[common]
bind_port = 7000 # 客户端连接的端口,云服务器必须放开此端口
token = hl123456 # 客户端配置的token密钥,错误将不能连接到服务端
dashboard_port = 8500 # web端口查看页面
dashboard_user = hailan # web页面用户名
dashboard_pwd = hl123456 # web页面密码
- 启动frps服务
./frps -c frps.ini(该命令需要在frps目录里执行)
可在网页端:服务器IP:8500 帐号密码,查看接入详情
如果需要开机自启动,看下面的3,不需要,跳转到4
3.在Linux服务器设置开机自启动
为frpc创建systemd的service文件
vim /usr/lib/systemd/system/frpc.service
编辑frpc.service
[unit] Description=frpc After=multi-user.targe [Service] TimeoutStartSec=30 ExecStart=/opt/frp_0.34.0_linux_amd64/frps -c /opt/frp_0.34.0_linux_amd64/frps.ini ExecStop=/bin/kill $MAINPID [Install] WantedBy=multi-user.target
启动frpc服务
systemctl enable frpc systemctl start frpc
查看frpc服务是否生效
systemctl list-units |grep frpc
只要显示frpc.service loaded active running 就表示服务开启成功
4.在Windows系统安装
- 解压缩frp
- 修改frpc.ini,使用的时候建议去掉#注释
[common]
server_addr = 139.159.233.243 #云端服务器公网IP
server_port = 7000 #云端服务器frps.ini中配置的端口
token = hl123456 #服务器密码
[ssh_test] #全局唯一,连接同一台云端服务器,各个客户端必须唯一
type = tcp #固定填写
local_ip = 192.168.2.117 #同一局域网下的摄像头地址
local_port = 554 #同一局域网下的摄像头RTSP端口
remote_port = 560 #云端服务器暴露的自定义端口,全局必须唯一
[ssh_tests]
type = tcp
local_ip = 192.168.2.120
local_port = 554
remote_port = 570
启动frpc
进去frpc所在目录
两个办法:1.进入cmd,执行命令frpc.exe。2.建一个bat文件,里面就一行frpc.exe,保存,后面双击这个就行
说明:如果本地的rtsp地址为:
rtsp://admin:hl12345678@192.168.2.117:554/h264/main/av_stream
则启动frpc后,公网的访问地址为(该地址可用VLC播放器进行网络流播放测试)
rtsp://admin:hl12345678@139.9.180.13:560/h264/main/av_stream
5.启动服务
启动的时候,要先启动Linux服务器的进程,再启动Windows的服务