第三十六章 开源方案和部署

目前主流的TURN开源方案是Coturn,官方地址https://github.com/coturn/coturn

coturn 是 TURN 和 STUN 服务器的免费开源实现。TURN 服务器是 VoIP 媒体流量 NAT 遍历服务器和网关。

目标平台

  • Linux(Debian、Ubuntu、Mint、CentOS、Fedora、Redhat、Amazon Linux、Arch Linux、OpenSUSE)
  • BSD(FreeBSD、NetBSD、OpenBSD、DragonFlyBSD)
  • Solaris 11
  • Mac OS X
  • Cygwin(用于非生产研发目的)
  • Windows(原生,例如 MSVC 工具链)

特征

STUN 规格:

  • RFC 3489 – “经典” STUN
  • RFC 5389 – 基本“新” STUN 规范
  • RFC 5769 – STUN 协议测试的测试向量
  • RFC 5780 – NAT 行为发现支持
  • RFC 7443 – ALPN 支持 STUN 和 TURN
  • RFC 7635 – oAuth 第三方 TURN/STUN 授权

TURN规格:

部署教程

下面是centos安装webrtc stun/turn服务器的简单教程

1 安装gcc环境,通过 which gcc 检测是否安装了gcc环境

2 安装openssl,yum -y install openssl-devel

3 生成签名文件到 /etc 目录

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

4 安装libevent

通过 https://libevent.org 下载最新版的 libevent tar -zxvf libevent-2.1.12-stable.tar.gz cd libevent-2.1.12-stable ./configure make make install 5 安装coturn

通过 https://coturn.net/turnserver 下载 v4.5.1.3 版本文件(经过测试v4.5.1.3可以正常使用) tar -zxvf 4.5.1.3.tar.gz cd coturn-4.5.1.3 ./configure make make install 6 生成用户

turnadmin -a -u wjc -p 123456 -r wjc.com,用户名称:wjc,密码:123456,realm:wjc.com 7 修改配置文件

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

具体配置修改和说明

按照下面参数修改配置文件 #与前ifconfig查到的网卡名称一致 relay-device=eth0 #内网IP listening-ip=0.0.0.0 #公网IP external-ip=0.0.0.0 #用户名密码,创建IceServer时用 user=wjc:123456 #一般与turnadmin创建用户时指定的realm一致 realm=wjc.com #端口号 listening-port=3478 #不开启会报CONFIG ERROR: Empty cli-password, and so telnet cli interface is disabled! Please set a non empty cli-password!错误 cli-password=qwerty

cert=/etc/turn_server_cert.pem

pkey=/etc/turn_server_pkey.pem

8 服务器安全组打开 3478/udp,3478/tcp,49152-65535/udp,49152-65535/tcp

9 防火墙打开 3478/udp,3478/tcp,49152-65535/udp,49152-65535/tcp

firewall-cmd –zone=public –add-port=3478/udp –permanent

firewall-cmd –zone=public –add-port=3478/tcp –permanent

firewall-cmd –zone=public –add-port=49152-65535/udp –permanent

firewall-cmd –zone=public –add-port=49152-65535/tcp –permanent

firewall-cmd –reload

查看端口是否开放

firewall-cmd –zone=public –query-port=3478/tcp

firewall-cmd –zone=public –query-port=3478/udp

10 开启服务

turnserver -a -f -r wjc.com turnserver -a -o -f -r xxx.com 使用 -o 参数后台启动 11 测试turn服务器

https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice 出现 relay 877558997 udp 114.115.244.15(服务器IP) 63262 表示成功

RA/SD 衍生者AI训练营。发布者:chris,转载请注明出处:https://www.shxcj.com/archives/6615

(0)
上一篇 4天前
下一篇 4天前

相关推荐

发表回复

登录后才能评论
本文授权以下站点有原版访问授权 https://www.shxcj.com https://www.2img.ai https://www.2video.cn