svn服务器搭建和使用 ubuntu_云服务器搭建coturn不能正常使用的问题

本文详细介绍了如何在公网搭建coturn服务器,特别是在Ubuntu环境下开放所需端口,包括3478、40000-60000等,并提供了腾讯云服务器安全组设置示例。同时,文章提供了测试coturn服务器正常运行的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

云服务器搭建coturn之所以测试不通过,大部分的原因都是因为云服务器没有开放相应的端口。

这里我们以《C/C++Linux服务器开发/后台架构师【零声学院】-学习视频教程-培训课程-腾讯课堂》系列课程中的音视频技术为例,讲解应该怎么在公网搭建coturn。

1. 我们要开放的端口

我们先列举下我们要用到的端口

  • 3478:是打洞必备的端口,我们将其开放为udp、tcp
  • 40000-60000:我们在P2P不成功时需要走turn模式,涉及到udp端口开放的问题,所以这里可以指定一段UDP端口范围,在后续我们启动coturn的时候,我们可以通过min-port和max-port参数设置udp端口范围。
946ff69d131f94644b8c73daf902a029.png

这里再引申讲解,我们在搭建AppRTC时还涉及到443/8090/8088/8089,所以这部分端口也需要开放。

2. 云服务器端口开放规则

往下看之前先确定一个知识点,云服务器的防火墙分两层:

  1. 云服务器接入层:即是云服务商的安全组,需要通过网页登录云服务商设置安全组;
  2. 系统主机(ubuntu或centos):即我们可以自己在系统操作的防火墙,这里为了更为快速把系统搭建起来,建议是先把系统的防火墙先关闭。
81af66319590b0b335a6d0f5b98a0f3f.png

3. 腾讯云服务器开放WebRTC开放所需要的端口

接下来以腾讯云为例去搭建coturn服务器(手上没有阿里云的服务器)

对于新手来讲,建议先把主机系统的防火墙关掉,当然了如果你对防火墙配置非常熟悉那你可以在系统防火墙开发相应的端口。

centos(可参考):

  1. 查看防火墙状态

systemctl status firewalld.service

打印

7173450d27f9901cf3e1e736c24a7fee.png
  1. 关闭防火墙(这个命令只是暂时关闭,重启后防火墙又生效)

systemctl stop firewalld.service

  1. 禁止防火墙(重启后也是关闭状态)

systemctl disable firewalld.service

ubuntu(可参考):

  1. 查看防火墙状态(显示Status: inactive则说明已经关闭服务器)

sudo ufw status

  1. 禁止防火墙

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

43bf82f665f00aaa05fc2c3ab46ac8de.png

这里还有个UDP的端口范围(coturn做relay时使用)

29c98614913dea34f14b50ba3437b87d.png

要确定修改的规则是已经关联到自己主机的。

参考规则:https://cloud.tencent.com/document/product/213/34601

将我们需要的端口都开放

3478:udp/tcp

443:tcp

8088:tcp

8089:tcp

8090:tcp

40000-60000:udp

b25416f5514ac1cb16423748002343e6.png
99ed9737919cada23a82d0f065e2c46e.png
2e2d09427a586a8af0be41e0e048e8b9.png
255927a1d80f67ff1a3351e1b0a2b42f.png
4cce7e3f5fec965584d9b81d2203fd7f.png
1f0f1df9cbd2e87c14ad77471cc558b5.png
5d55bcb73e5bf1ee419b39c81615ab42.png

第三步 启动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:

ab670941761d618127840c2346bccfb8.png

加入后选择all,可以F12开右边浏览器终端输出,然后点击Gather candidates,进行测试,出现done说明stun是起作用了。

41dd886e2ecdbc08ab7c6228e03bba29.png

测试turn,需要输入turn地址,以turn:开头,以及账号密码,单纯测试turn则选择relay

即是

055cd0096155e6bc394d396058202e95.png

加入后,选择relay,可以F12开右边浏览器终端输出,然后点击Gather candidates,进行测试,出现done说明turn是起作用了。

1425ad4cab8e8e8878a63259649088fb.png

4 附录

4.1 停止coturn服务

fc024736b3ba0d539cfb5e367dc0942c.png

如果是ubuntu 请执行命令之前加sudo

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值