网站首页 > 精选文章 正文
云服务器搭建coturn之所以测试不通过,大部分的原因都是因为云服务器没有开放相应的端口。
这里我们以《C/C++Linux服务器开发/后台架构师【零声学院】-学习视频教程-培训课程-腾讯课堂》系列课程中的音视频技术为例,讲解应该怎么在公网搭建coturn。
1. 我们要开放的端口
我们先列举下我们要用到的端口
- 3478:是打洞必备的端口,我们将其开放为udp、tcp
- 40000-60000:我们在P2P不成功时需要走turn模式,涉及到udp端口开放的问题,所以这里可以指定一段UDP端口范围,在后续我们启动coturn的时候,我们可以通过min-port和max-port参数设置udp端口范围。
这里再引申讲解,我们在搭建AppRTC时还涉及到443/8090/8088/8089,所以这部分端口也需要开放。
2. 云服务器端口开放规则
往下看之前先确定一个知识点,云服务器的防火墙分两层:
- 云服务器接入层:即是云服务商的安全组,需要通过网页登录云服务商设置安全组;
- 系统主机(ubuntu或centos):即我们可以自己在系统操作的防火墙,这里为了更为快速把系统搭建起来,建议是先把系统的防火墙先关闭。
3. 腾讯云服务器开放WebRTC开放所需要的端口
接下来以腾讯云为例去搭建coturn服务器(手上没有阿里云的服务器)
对于新手来讲,建议先把主机系统的防火墙关掉,当然了如果你对防火墙配置非常熟悉那你可以在系统防火墙开发相应的端口。
centos(可参考):
- 查看防火墙状态
systemctl status firewalld.service
打印
- 关闭防火墙(这个命令只是暂时关闭,重启后防火墙又生效)
systemctl stop firewalld.service
- 禁止防火墙(重启后也是关闭状态)
systemctl disable firewalld.service
ubuntu(可参考):
- 查看防火墙状态(显示Status: inactive则说明已经关闭服务器)
sudo ufw status
- 禁止防火墙
sudo ufw disable
第一步,先使用nc命令检测要使用的端口是否已经开放,比如检测3478端口
nc使用参考:
https://www.cnblogs.com/zhaijiahui/p/9028402.html
以服务器IP:129.204.197.213 为例
简单的检测原理:服务器使用nc -l 3478监听3478端口,然后找一台linux机器使用nc 命令去连接,具体操作
比如:测试3478的TCP是否开放
服务器:
sudo nc -l 3478
客户端:
nc -v 129.204.197.213 3478
连接成功时提示
Connection to 129.204.197.213 3478 port [tcp/*] succeeded!
如果没有开放那就要去设置云服务器的安全组了。
第二步 设置云服务器的安全组
以腾讯云为例:
https://console.cloud.tencent.com/cvm/securitygroup
这里还有个UDP的端口范围(coturn做relay时使用)
要确定修改的规则是已经关联到自己主机的。
参考规则:
https://cloud.tencent.com/document/product/213/34601
将我们需要的端口都开放
3478:udp/tcp
443:tcp
8088:tcp
8089:tcp
8090:tcp
40000-60000:udp
第三步 启动coturn的时候带上min-port和max-port参数,即是
sudo nohup turnserver --min-port 40000 --max-port 60000 -L 0.0.0.0 -a -u lqf:123456 -v -f -r nort.gov &
或者我们可以在前台启动coturn进行测试先
sudo turnserver --min-port 40000 --max-port 60000 -L 0.0.0.0 -a -u lqf:123456 -v -f -r nort.gov
第四步 测试coturn是否正常
测试网址:
https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice
具体参考上课的文档
测试stun,测试stun的时候不需要输入账号密码,只需要输入stun:
加入后选择all,可以F12开右边浏览器终端输出,然后点击Gather candidates,进行测试,出现done说明stun是起作用了。
测试turn,需要输入turn地址,以turn:开头,以及账号密码,单纯测试turn则选择relay
即是
加入后,选择relay,可以F12开右边浏览器终端输出,然后点击Gather candidates,进行测试,出现done说明turn是起作用了。
4 附录
4.1 停止coturn服务
如果是ubuntu 请执行命令之前加sudo
- 上一篇: 计划将自己写的视频会议系统架构写一下
- 下一篇: WebRTC协议介绍
猜你喜欢
- 2025-05-28 OvenMediaEngine部署全攻略:打造你的实时媒体服务器
- 2025-05-28 为何强烈推荐用 FilePizza 做 P2P 文件传输?
- 2025-05-28 关于UEPlus for HTML5、UEPlus for Pixel Streaming的问题解答
- 2025-05-28 NAT穿透的工作原理
- 2025-05-28 WebRTC协议介绍
- 2025-05-28 计划将自己写的视频会议系统架构写一下
- 2025-05-28 WebRTC 入门教程:WebRTC信令控制与STUN/TURN服务器搭建
- 最近发表
- 标签列表
-
- 向日葵无法连接服务器 (32)
- git.exe (33)
- vscode更新 (34)
- dev c (33)
- git ignore命令 (32)
- gitlab提交代码步骤 (37)
- java update (36)
- vue debug (34)
- vue blur (32)
- vscode导入vue项目 (33)
- vue chart (32)
- vue cms (32)
- 大雅数据库 (34)
- 技术迭代 (37)
- 同一局域网 (33)
- github拒绝连接 (33)
- vscode php插件 (32)
- vue注释快捷键 (32)
- linux ssr (33)
- 微端服务器 (35)
- 导航猫 (32)
- 获取当前时间年月日 (33)
- stp软件 (33)
- http下载文件 (33)
- linux bt下载 (33)