coturn服务器部署

coturn服务器部署一 coturncoturn 服务器完整的实现了 STUN TURN ICE 协议 支持 P2P 穿透防火墙 主要用于 webrtc 等点对点视频音频通话 coturn 支持 tcp udp tls dtls 连接 支持 linuxbsdsola 暂不支持 windowsGITHU https github

一、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服务器部署

 

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

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

 

coturn服务器部署

查看是否安装成功 which turnserver

coturn服务器部署

 

四、解决报错

4.1 OpenSSL 错误

coturn服务器部署

执行安装  yum -y install openssl-devel

4.2 Libevent2错误

coturn服务器部署

安装 下载 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 查看内网地址

coturn服务器部署

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

coturn服务器部署

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: #用户名密码,创建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",""); IceServer stunIceServer = new IceServer("stun:47.105.104.4:19302","","");

 5.5 启动

turnserver -o -a -f -user=wlx: -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才算穿透成功。

coturn服务器部署

coturn服务器部署

最后特别感谢 : 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: 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  启动注意后面的配置文件路径

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/209086.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 上午10:04
下一篇 2026年3月19日 上午10:04


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号