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

coturn NAT穿透服务器搭建相关推荐

  1. nps内网穿透服务器搭建教程(阿里云)-小宇特详解

    nps内网穿透服务器搭建教程(阿里云)-小宇特详解 前期准备 1.一台云服务器 2.配置安全组 3.在自己的电脑上安装nps 云服务器的话自己买,我这里使用的是阿里云 讲一下配置安全组 打开阿里云的官 ...

  2. nps内网穿透服务器搭建教程(ip显示阿里云的ip)-小宇特详解

    nps内网穿透服务器搭建教程(ip显示阿里云的ip)-小宇特详解 一共有两部分,一部分是windows安装,一部分是linux系统(使得ip显示自己的阿里云). 前期准备 1.一台云服务器 2.配置安 ...

  3. frp内网穿透服务器搭建及免费frp服务器提供

    2019-06-22 服务器升级为0.27版本 2018-11-14 服务器升级为0.21版本,请升级官改固件并重新按下述配置,否则无法使用 ----------------------------- ...

  4. ngrok配置信息_ngrok内网穿透服务器搭建及配置(附 frp 配置)

    12月18日更新 添加 frp 配置 前言 内网穿透,无需多言,用处多多.首先强力推荐一款Sunny大大搭建的ngrok服务好用的不行,而且有免费选项,感觉平时够用了.那么,为什么自己还要搭建一个呢? ...

  5. frp 内网穿透服务器搭建frps服务端和frpc客户端

    1 工具 一台具有公网ip的服务器 2 下载frp frp下载地址 打开上面的frp下载地址 公网服务器上 打开下载文件 frps是服务端,在公网服务器上部署 frpc是客户端,在需要内网穿透的电脑上 ...

  6. ngrok穿透服务器搭建

    1.环境变量的设置 sudo vi /root/.bashrc 在最下面加入,然后保存 export GOROOT=/usr/local/go export GOBIN=$GOROOT/bin exp ...

  7. WebRTC之服务器搭建

    前言 在前面的WebRTC介绍中我们已经介绍了WebRTC的编译以及成功地把WebRTC在Android Studio中运行了起来,详情请猛击<WebRTC之Android编译> < ...

  8. webRTC+coturn穿透服务器的安装与搭建

    webRTC+coturn穿透服务器的安装与搭建 系统环境:ubuntu-16.04-desktop-i386 1.首先安装信令服务器,以ProjectRTC为例; sudo apt-get inst ...

  9. p2p webrtc服务器搭建系列1: 房间,信令,coturn打洞服务器

    中继(relay) 在RTCPeeConnection中,使用ICE框架来保证RTCPeerConnection能实现NAT穿越 ICE,全名叫交互式连接建立(Interactive Connecti ...

  10. stun服务器搭建(coTurn)

    0. 前言 好久之前写过一篇搭建WebRTC的文章,里面有简单的说到怎么搭建一个stun服务.但那时只是一笔带过.正好,这两天搭建stun服务,这篇博客就再复习一遍,并把搭建过程整理一下. 1. 安装 ...

最新文章

  1. 使用Python+OpenCV+GAN实现车牌图像增强
  2. ARM linux内核启动时几个关键地址【转】
  3. 您如何使用硒来计算自动化测试的投资回报率?
  4. Kali Linux下安装VMware
  5. canvas笔记-图形变换(位移translate、缩放scale、变换矩阵transform)
  6. QML笔记-TextEdit的使用
  7. 女神说不能每张照片P的一样,所以朋友圈开三天可见,用Python一步解决
  8. noise code
  9. 隐藏在华为2019财报里的“数字密码”
  10. 企业如果结合职工筑牢安全生产压舱石_山能枣矿集团柴里煤矿机电运输科扎实推进女职工“素质提升+岗位建功”竞赛活动...
  11. 关于HTTP协议的学习
  12. 用html5绘制星空,用HTML5绘制的一个星空特效图
  13. 荷兰国旗问题(C语言)
  14. 计算机网络(入门知识点最全整理)
  15. 金蝶K3 SQL报表系列-委外未勾稽明细表
  16. [JAVA冷知识]动态加载不适合数组类?那如何动态加载一个数组类?
  17. 针对MacBook提示目前翻译不可用请稍后再试的解决方法
  18. 中兴服务器迈络思NS312网卡down掉网口物理指示灯不熄灭解决方法--NS312型号ConnectX-4 Lx
  19. 一文带你理顺C++中的const
  20. java 蓝桥杯 天干地支

热门文章

  1. 代码运行:CornerNet源码
  2. 关于动漫的HTML网页设计作业——动漫网页(刀剑神域6个页面)
  3. AspNetPager分页
  4. 圈子圈套 pdf_名字叫什么? 如何圈套好域名
  5. 驱动ST7789 240*240 TFT屏 制作分光棱镜显示要点总结(镜像后图片颜色R、B对调了,使用PS修改图片)
  6. 芯片数据手册下载和阅读
  7. OneData指标体系
  8. 手机电视(CMMB+MBBMS)安全架构原理
  9. 东芝打印机共享怎么设置_东芝 e-studio181怎么设置网络打印机
  10. Tera Term 下载教程