coturn服务器部署

一、coturn

       coturn 服务器完整的实现了 STUN/TURN/ICE 协议,支持 P2P 穿透防火墙。主要用于 webrtc 等点对点视频音频通话。

       coturn 支持 tcp, udp, tls, dtls 连接;支持 linux bsd solaris mac os, 暂不支持windows

       GITHUB: https://github.com/coturn/coturn

 

二、Centos 7

       执行命令  cat /etc/centos-release

 

三、下载编译安装coturn(错误参照第四步)

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

 

查看是否安装成功 which turnserver

 

四、解决报错

4.1 OpenSSL 错误

执行安装  yum -y install openssl-devel

4.2 Libevent2错误

安装 下载 libevent

wget https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz
tar zxvf libevent-2.0.21-stable.tar.gz
cd libevent-2.0.21-stable && ./configure
make && make install

五、配置文件

    5.1 在/usr/local/etc/目录下有turnserver.conf.default,复制为turnserver.conf

cd /usr/local/etc/
cp turnserver.conf.default turnserver.conf

5.2 查看内网地址

5.3 cert和pkey配置的自签名证书用Openssl命令生成,生成的两个文件在/etc/目录下

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

5.4 修改配置信息(文件内容太长了,还是下载来下使用 Notepad++ 编辑吧)

vi /usr/local/etc/turnserver.conf
listening-ip与relay-ip采用内网ip,external-ip是外网的ip ,配置如下(相关的IP用户名什么的要替换成自己的)

relay-device=eth0   #与前ifconfig查到的网卡名称一致
listening-ip=172.31.156.145   #内网IP
listening-port=3478
tls-listening-port=5349
relay-ip=172.31.156.145
external-ip=47.105.104.4   #公网IP
relay-threads=50
lt-cred-mech
cert=/etc/turn_server_cert.pem
pkey=/etc/turn_server_pkey.pem
pidfile=”/var/run/turnserver.pid”
min-port=49152
max-port=65535
user=wlx:123456    #用户名密码,创建IceServer时用
cli-password=qwerty #不开启会报CONFIG ERROR: Empty cli-password, and so telnet cli interface is disabled! Please set a non empty cli-password!错误
 
#创建IceServer
IceServer turnIceServer = new IceServer("turn:47.105.104.4:3478","wlx","123456");
IceServer stunIceServer = new IceServer("stun:47.105.104.4:19302","","");

 5.5 启动

turnserver -o -a -f -user=wlx:123456 -r Guangdong

5.6 关闭防火墙

启动: systemctl start firewalld
关闭: systemctl stop firewalld
查看状态: systemctl status firewalld 
开机禁用  : systemctl disable firewalld
开机启用  : systemctl enable firewalld
 

六、测试

测试地址:https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/

分别测试stun和turn服务器,只有relay地址回来的是你的ip才算穿透成功。

最后特别感谢 : https://www.jianshu.com/p/915eab39476d 

 

 


下面是最简单的配置,turn默认为3478   stun默认为19302

#监听端口可以不设置会默认的使用3478
listening-port=3478
##listening-ip,注意必须是你的内网IP地址如(如果你是阿里云的,就是私网地址):
listening-ip=172.31.156.145
##relay-ip可以不设置,默认会使用你的外网ip地址作为转发包的中继地址,建议不设置,使用默认就可以:
##external-ip,注意必须使用你的外网IP地址如:
external-ip=47.105.104.4
##设置用户名及密码,这个是作为TURN服务器使用必须设置的,可以设置多个,我这里配置1个
user=wlx:123456


cli-password=qwerty #不开启会报CONFIG ERROR: Empty cli-password, and so telnet cli interface is disabled! Please set a non empty cli-password!错误
 

需要使用 turnserver -v -r ylbs -a -o -c /etc/turnserver.conf  启动注意后面的配置文件路径

  • 4
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 17
    评论
好的,我可以帮你解决这个问题。下面是安装coturn服务器的步骤: 1. 首先需要安装docker,如果你已经安装了,请跳过这一步。你可以使用以下命令在Ubuntu上安装docker: ``` sudo apt-get update sudo apt-get install docker.io ``` 2. 在安装coturn之前,我们需要创建一个配置文件。在你的本地计算机上创建一个名为`turnserver.conf`的文件,并将以下内容添加到文件中: ``` listening-port=3478 tls-listening-port=5349 verbose fingerprint lt-cred-mech use-auth-secret static-auth-secret=your_secret_key realm=your_domain_name cert=/path/to/certificate.pem pkey=/path/to/private_key.pem log-file=stdout ``` 请注意,你需要将`your_secret_key`替换为一个随机的字符串,并将`your_domain_name`替换为你的域名。同时,你需要将`/path/to/certificate.pem`和`/path/to/private_key.pem`替换为你的SSL证书和私钥的路径。 3. 现在我们可以使用docker安装coturn服务器了。使用以下命令从Docker Hub拉取coturn镜像: ``` docker pull instrumentisto/coturn ``` 4. 创建coturn容器并启动服务: ``` docker run -d --name coturn \ --restart always \ -p 3478:3478 \ -p 5349:5349 \ -v /path/to/turnserver.conf:/etc/turnserver.conf \ instrumentisto/coturn ``` 请注意,你需要将`/path/to/turnserver.conf`替换为你在第2步中创建的配置文件路径。 5. 如果一切顺利,你的coturn服务器现在应该已经启动了。你可以使用以下命令检查coturn是否正在运行: ``` docker ps ``` 如果coturn容器正在运行,你应该能够看到类似于以下内容的输出: ``` CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES c8a4e0146c0c instrumentisto/coturn "/turnserver ... 10 seconds ago Up 9 seconds 0.0.0.0:3478->3478/tcp, 0.0.0.0:5349->5349/tcp coturn ``` 恭喜你,你已经成功地在Docker中安装和配置了coturn服务器。
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值