概述
turn-server是谷歌推荐的turn开源项目,经常作WebRTC的服务器端使用。 该开源项目是包含TURN与STUN功能于一体,默认TURN与STUN监听端口为3478。
支持tcp, udp, tls, dtls 连接.tls为基于TCP的安全层传输协议,dtls为基于udp的安全传输层协议。
安装依赖
yum -y install make gcc cc gcc-c++ wget openssl-devel libevent libevent-devel
下载turnserver
wget https://coturn.net/turnserver/v4.5.0.8/turnserver-4.5.0.8.tar.gz
tar xf turnserver-4.5.0.8.tar.gz
源码编译安装
./configure --prefix=/usr/local/turnserver
make && make install
创建配置文件
cat >> turnserver.conf <<EOF
listening-port=3478
tls-listening-port=5349
listening-ip=192.168.1.100 #内网ip
relay-ip=192.168.1.100 #内网ip
external-ip=xxx.xxx.xxx.xxx #外网ip
server-name=xxx # 域名
realm=xxx #域名
relay-threads=50
min-port=49152
max-port=65535
lt-cred-mech
user=test:123456
cert=/usr/local/turnserver/etc/ssl/xxx.crt.pem
pkey=/usr/local/turnserver/etc/ssl/xxx.key.pem
cli-password=qwerty
EOF
上传ssl 证书到/usr/local/turnserver/etc/ssl/路径
启动
/usr/local/turnserver/bin/turnserver -v -r hongkong -a -o -c ./turnserver.conf
查看监听端口
tcp 0 0 192.168.1.100:5349 0.0.0.0:* LISTEN
tcp 0 0 192.168.1.100:3478 0.0.0.0:* LISTEN
sctp 192.168.1.100:5349 LISTEN
sctp 192.168.1.100:3478 LISTEN
测试turn
使用[这个链接](https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/)