Centos7安装WebRtc打洞服务器Coturn方法

本文详细介绍了如何使用Coturn库部署WebRtc打洞服务器,包括安装、配置及验证步骤,确保通信顺利进行。

在使用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的部署就简单的介绍到这里,如有不对的地方,还望指正,谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值