coturn NAT穿透服务器搭建

coturn NAT穿透服务器搭建

今天是WebRTC视频通信服务器搭建的第5天了吧,前两天搭建的janus,局域网测试成功了,然后尝试在我的华为云上进行了搭建,设计到https的配置,具体步骤呢再另起一文吧。
前天晚上睡的有点晚,然后就开始头疼,说起来这种情况也不是一次两次了,只不过这次竟然持续疼了两天,倒也不是一直疼,时不时的疼那么一秒钟,然后休息几分钟,再疼一秒,昨晚上刚要睡着就疼一下,导致又熬夜了,今天终于去诊所看了看,说是神经性头疼,还有点高血压,虽然早就料到了,但还是寻思,以后不能在这么玩命了。以后我要早睡早起,锻炼身体。
好的,正文开始。

一、问题描述

在华为云搭建好janus以后,链接测试时出现了这样的问题:

ICE failed for component 1 in stream 1…

然后不久以后,这个房间的摄像头就关掉了,也就是通信失败了,上网搜了一下,这方面的资料极少,在这篇博客里提到了说是因为网络穿透失败导致的,至于什么是网络穿透失败,那就不在这里讨论了,主要是解决方案,这篇博客里提到了说要搭建coturn,但是连接却是404,也是没办法,所以上网搜吧,如何搭建coturn。

二、安装coturn

如果是直接搜索coturn安装的话,会被网上的节奏带偏,基本上都是告诉你如何下载源代码,并进行编译安装,虽然说对于搞linux的同学来说,这是基本操作,但是看到需要搞定各种依赖,还是稍微有点怵的吧,所以:

sudo apt update
sudo apt install coturn
# 香的不得了

三、coturn配置

配置信息本着能少就少,能默认就默认,能不改就不改,能用就行的原则,参考这篇博客进行了配置。

  1. 关掉coturn之后进行配置
sudo systemctl stop coturn
  1. 设置turnserver自启
sudo nano /etc/default/coturn
TURNSERVER_ENABLED=1
  1. 编辑配置文件
sudo nano /etc/turnserver.conf


# /etc/turnserver.conf
# 设置监听端口,这个端口TCP和UDP都会监听,所以在云服务器中必须都打开
listening-port=3478
# 这个我也在云服务器中添加了,但是似乎不添加也行
tls-listening-port=5349
# Require authentication
fingerprint
lt-cred-mech
# 设置服务器名称,这个不重要,如果自己有域名,用自己域名最好
server-name=qtmami.com
realm=qtmami.com
# 设置用户名和密码,这个使用在turn进行穿透时使用
user=guest:somepassword
# Path to the SSL certificate and private key. In this example we will use
# the letsencrypt generated certificate files.
# 设置证书文件位置,本文下边会讲
cert=/etc/turn_server_cert.pem
pkey=/etc/turn_server_pkey.pem
# Specify the allowed OpenSSL cipher list for TLS/DTLS connections
cipher-list="ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384"
  1. 开放端口,所有有的没的我都开放了

在这里插入图片描述

在这里插入图片描述

  1. 添加域名解析

在这里插入图片描述

四、测试

环境搭建完成后,就可以直接测试了,这里有一个测试链接
https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/
可以直接打开该页面,然后配置ICE servers,也就是我们自己的穿透服务器,进行测试,我这里stun和turn服务器都添加了进行测试,配置如图:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

五、有关701错误

在这里插入图片描述

测试时,会有701错误, 经过了解,发现是chrome的问题,所以不管他就行了,或者测试其他浏览器

六、证书生成

证书生成,参考这篇博文,其中提到了证书文件的生成,他这个步骤我也按他的做了,但是稍微有点复杂,而且好像还失败了,也可能是成功了,但是由于上述701错误的存在,导致我以为失败了。总之证书生成这里还是没有问题的,注意证书保存位置可以自己更改,如果放在/etc,那么需要管理员权限:

sudo openssl req -x509 -newkey rsa:2048 -keyout /etc/turn_server_pkey.pem -out /etc/turn_server_cert.pem -days 99999 -nodes 

在这里插入图片描述

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值