在使用WebRtc时,我们需要打洞服务器来打洞两部设备之间的通信,这里我们采用Coturn库。由于Turn服务器是Stun的一个拓展,Coturn包括了Turn和Stun,所有我们只需要部署Coturn就可以完成WebRtc的打洞环节啦。

克隆并安装

git clone https://github.com/coturn/coturn
cd coturn
./configure
make
sudo make install

如果你的电脑上没有安装LibEvent2,需要先安装libevent-developenssl-devel

# Install the libevent-devel rpm package:
yum install libevent-devel openssl-devel

安装好之后使用which turnserver确保安装成功

[root@localhost local]# which turnserver
/usr/local/bin/turnserver

设置配置文件

在Coturn编译完成好之后会自动生成一个配置文件的模板,在/usr/local/etc/turnserver.conf.default,感兴趣的小伙伴可以仔细查看里面每一个配置项的含义。这里我们在新建一个新的配置文件/usr/local/etc/turnserver.conf,在这个里面编辑好之后使用turnserver命令会自动寻找到conf文件的位置。分享一个简单的配置文件的格式:

relay-device=enp1s0f0  //绑定的网卡的设备号
listening-ip=x.x.x.x //内网IP,阿里云腾讯云的机器一般是内网的IP,没有填外网IP也可以
listening-port=3478
relay-ip=x.x.x.x  //内网IP,阿里云腾讯云的机器一般是内网的IP,没有填外网IP也可以
external-ip=x.x.x.x  //外网IP,就是外网访问本台服务器的IP地址,这个就是提供给webrtc客户端来传递数据的IP
relay-threads=500
lt-cred-mech    //这个要填上,否则不支持webrtc
pidfile="/var/run/turnserver.pid"
min-port=49152  //虚拟给客户端的端口号,min-max的范围选取要能支撑起你的服务,要不然会出现转发服务器不够用的情况
max-port=65535
user=xxx:123456     //xxx会用户名,123456是密码
realm=AnHui

保存好之后使用命令

turnserver -o -a -f

即可启动Coturn。

验证Coturn的可用性

有一个专门的网站可以检查打洞服务器的正确配置与否。
Trickle ICE

验证stun

输入 stun:x.x.x.x:3478
得到结果

Time Component   Type    Foundation  Protocol    Address Port    Priority
0.002   1   host    886443856   udp 10.80.1.131 49469   126 | 32542 | 255
0.104   1   host    2052453280  tcp 10.80.1.131 9   90 | 32542 | 255
0.288   1   srflx   2643034245  udp 112.27.203.124  49469   100 | 32542 | 255
0.312   Done
0.313

看到srflx后面就是你的电脑的外网IP,表示打洞成功。

验证turn

输入 turn:x.x.x.x:3478,username:,password
得到结果

0.003    1   host    886443856   udp 10.80.1.131 55831   126 | 32542 | 255
0.104   1   host    2052453280  tcp 10.80.1.131 9   90 | 32542 | 255
0.534   1   srflx   2643034245  udp 112.27.203.124  55831   100 | 32542 | 255
0.614   1   relay   3676437432  udp x.x.x.x 56631   2 | 32542 | 255
0.878   Done
0.880

看到relay后面就是你的服务器的外网IP,表示可以使用Coturn的turn服务器进行转发。同时也可以看见srflx,这说明了turn服务是stun的一个拓展,turn和stun是包含的关系。

Coturn的部署就简单的介绍到这里,如有不对的地方,还望指正,谢谢!

Centos7安装WebRtc打洞服务器Coturn方法相关推荐

  1. Centos7安装和配置VNC服务器 - openbox篇

    文章目录 VNC简介 安装TigerVNC 防火墙设置 安装图形用户界面(GUI) openbox 配置openbox自启动文件 lightdm 修改配置文件 VNC 客户端连接 关闭VNC服务 参考 ...

  2. centos7安装1080显卡驱动常见问题解决方法

    centos7安装1080显卡驱动常见问题解决方法 1.安装显卡时,出现以下错误 ERROR: The Nouveau kernel driver is currently in use by you ...

  3. Centos7 安装coturn部署一套 STUN/TURN 服务 webRTC打洞服务器

    1.安装相关依赖 yum install -y make gcc cc gcc-c++ wget openssl-devel libevent libevent-devel 2.下载可以编译的源码包 ...

  4. centos7安装与配置DNS服务器

    centos7上安装DNS服务器可以实现域名与IP的双向解析,即通过域名可以找到主机IP,也可以通过IP找到域名.在postfix搭建邮件服务器中,需要用到DNS正向解析与反向解析,因此DNS服务器大 ...

  5. 在CentOS6和CentOS7安装epel仓库-最简单的方法

    1 安装epel仓库: 在CentOS6和CentOS7都可以执行下面的命令安装epel仓库 yum -y install epel-release 这条命令的好处是可以自动安装不同版本的epel,比 ...

  6. CentOS7安装nginx 代理vsftp服务器

    1.安装gcc环境 yum install gcc-c++ -y 2.安装pcre库 yum install -y pcre pcre-devel 3.安装zlib库 yum install -y z ...

  7. CentOS7安装后没网络的解决方法

    文章目录 1.没有ifconfig命令 2.试试ip addr命令 3.修改网卡的配置文件 4.重启network服务 5.用ping验证 6.文章版权 CentOS 7最小化安装成功后缺省是不启动网 ...

  8. centos7 安装极点五笔输入法的方法

    [root@localhost yum.repos.d]# yum install ibus ibus-table-wubi*

  9. Linux下安装多个Tomcat服务器

    目录 QUESTION:阿里云服务器Linux下安装多个Tomcat服务器的方法 ANSWER: 一.安装前的下载相关文件 1.1下载tomcat 1.2准备工具 二.登陆linux服务器进行安装 2 ...

最新文章

  1. Tensorflow—tensorboard网络结构
  2. BeanShell脚本接口之匿名类
  3. 关于范式的一些简单理解
  4. Java调用Matlab程序
  5. oracle时间用法
  6. WPF ChromiumWebBrowser 网页背景透明
  7. 我的天,强化学习还能用在自动驾驶领域?
  8. 进程控制块PCB简介
  9. xampp mysql 卸载_卸载Xampp并安装apache + mysql + php 过程
  10. 利用可视化软件navicat对mysql进行语句查询的使用(增删改查)
  11. java删除文件的上一级_java中多级目录的删除
  12. Android开发系列之常用正则语法
  13. visio添加多分枝连接线
  14. win11开机数字小键盘失灵不能使用问题
  15. 局域网工作组电脑网络邻居访问慢打开要好几分钟
  16. python获取b站视频封面及弹幕
  17. ubuntu16.04 重装系统后要做的事情总结
  18. 阿里云相关——高速通道
  19. 互联网广告的基本概念
  20. 全宇宙第一编辑器VS Code搭配Markdown打造云端笔记(二:MD语法速成)

热门文章

  1. 如何为铁威马NAS设置固定IP?
  2. 41. 进程间通信影响程序响应时间
  3. 虚拟机hyper-v安装win7操作系统网络连接红叉失败
  4. linux的中文意思,Linux中的./!$是什么意思?
  5. 2022年,软件测试还能学吗?别学了,软件测试岗位饱和了...
  6. git同步本地与远程代码命令
  7. 第九回(二):任侠厨子轻解厄围 夜半蹴鞠为泄忿闷[林大帅作品集]
  8. Android系统调试指令
  9. unity虚拟现实技术场景漫游
  10. 如何构建智能车联网主动防御体系