1、安装依赖
yum install -y make gcc cc gcc-c++ wget openssl-devel libevent libevent-devel
2、下载源码包
wget https://coturn.net/turnserver/v4.5.2/turnserver-4.5.2.tar.gz
解压并进入目录
tar -zxvf turnserver-4.5.2.tar.gz
cd turnserver-4.5.2/
3、编译安装
./configure --prefix=/usr/turnserver # 指定安装的目录
make && make install
4、设置环境变量
vim ~/.bashrc
插入以下内容
export turnserver_home=/usr/turnserver
export PATH=$PATH:$turnserver_home/bin
配置立即生效
source ~/.bashrc
5、编辑配置文件
先找到配置文件
find /usr -name turnserver.conf
例如:返回/usr/turnserver/share/examples/turnserver/etc/turnserver.conf 编辑配置
vim /usr/turnserver/share/examples/turnserver/etc/turnserver.conf
配置文件末尾添加以下内容
realm=stun.xxx.cn # 域名,这个可以不设置使用ip 106.14.213.55
listening-port=3478 # 服务端口
listening-ip=0.0.0.0
external-ip=x.x.x.x # 外网ip(106.14.213.55)
user=admin:123456 # 设置账号密码
min-port=49152 # 连接端口最小值
max-port=65535 # 连接端口最大值
6、指定配置文件启动服务
turnserver -v -r 外网ip -a -o -c /usr/turnserver/share/examples/turnserver/etc/turnserver.conf
由于是在阿里云上,需要开放端口的访问,关闭对应端口的防火墙,包括端口3478,UDP和TCP都需要
webrtc-samples官网还提供了一个检测ice穿透的在线工具:Trickle ICE
参考下图,把stun和turn地址设置好,然后点击最下面的“Gather candidates”(收集候选链路)
编辑切换为居中
添加图片注释,不超过 140 字(可选)
此图为借用文章《》中的图片,图片中的部分信息说明如下:
图片中 TURN username 值为 turn:106.14.213.55:3478; 图片中 TURN username 值是本文的 test ; 图片中 TURN password 值是本文的 jsugu&dh2; 如果看到最后的reply那一行,address里的ip与turn服务器的公网ip相同,说明中继成功。
个人技术博客: fuqifacai.github.io
更多技术资讯下载: 2img.ai
相关配图由微信小程序【字形绘梦】免费生成