需要root 权限。
-
安装gcc环境
#查看 gcc 是否安装 which gcc
-
安装 libssl-dev
sudo apt install libssl-dev
-
安装 libevent
-
下载
wget --no-check-certificate https://gitee.com/langgehenshuai/softs/raw/master/libevent-2.1.12.tar.gz
-
解压
tar -zxvf libevent-2.1.12-stable.tar.gz
-
编译安装
cd libevent-2.1.12-stable/ ./configure make sudo make install
-
-
安装 sqlite(可无)
apt install sqlite3 apt install libsqlite3-dev
-
coturn
-
下载
wget --no-check-certificate https://gitee.com/langgehenshuai/softs/raw/master/coturn-4.5.1.1.tar.gz
-
解压
tar -zxvf coturn-4.5.1.1.tar.gz
-
编译安装
cd coturn-4.5.1.1 ./configure make sudo make install #查看是否安装成功 which turnserver
-
生成用户(可无)
#添加用户名为 lang,密码为 11111 ,realm 域为 stun.lang.cn 的用户 turnadmin -a -u lang -p 11111 -r stun.lang.cn ###### # 命令说明: #-a - 使用长期凭据机制 #-o - 以守护程序身份运行服务器进程 #-v - “中等”详细模式。 #-n - 无配置文件 #-- #no-dtls - 不启动 DTLS 侦听器 #-- #no-tls - 不启动 TLS 侦听器 #-u - 要使用的用户凭据 #-r - 要使用的默认领域,需要 TURN REST API ######
-
修改TURN服务配置文件
## vim /usr/local/etc/turnserver.conf.default 修改内容 #指定云主机的公网IP地址 external-ip=公网ip #用户:密码 user=lang:111111 #域名,这个一定要设置 realm=stun.lang.cn #指定监听的端口, 默认3478 listening-port=3478 ##指定局域网IP地址,默认内网ip #listening-ip=内网ip
-
开放端口
# 命令开启3478的 tcp 和 udp 端口。 sudo ufw allow 3478/tcp sudo ufw allow 3478/udp # ps: # 设置 root 密码:sudo passwd root # 安装 ufw:sudo apt install ufw
PS: 若还不可以,可以通过云服务器的安全组规则配置(入站和出站),允许 udp 和 tcp 的
3478-3478
32355-65535
-
启动服务
# 非后台启动 turnserver 或 turnserver -a -f -r xxx.com # 后台启动(-o) service coturn start 或 turnserver -a -o -f -r xxx.com
-
测试turn服务器
在线测试(推荐):
https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/
-
-
参考
搭建 WebRTC TURN&STUN 服务器
Ubuntu搭建turn服务器(webrtc ice服务器)
stun server、turn server、coturn server安装与使用
Linux服务器上搭建(webrtc 外网)turn 、stun服务器 纯小白看这里